• 全世界谁倾听你
  • 网站正式加入腾讯404公益
  • 霸气的藏獒
  • Apache为什么二级域名不能加载证书呢?
  • 将网站做了一个微信小程序了,等待审核!
  • 一张图完美讲述VIM命令
  • 生活中不简简单单是做对的事,更是要把对的事情做对,如果还有一层,那么应该尝试把错的事情也做对! by 尼古拉斯·拉布拉卡
  • 123木头人
  • Windows命令提示符中统计行数
  • 一张图看懂上海17区县名字来源

IIS+Apache实现Python+PHP网站架构Mod_wsgi+Django

Django IT敢客 9个月前 (08-31) 36745次浏览 已收录 2个评论 扫描二维码

  最近于手头上有多个网站项目要部署,但是很头疼的事情出现了。分别用了三种语言写的网站,C#,PHP,Python;然后相对应于的 WEB 容器支持为 IIS,Apache,Python runserver(命令启动);但是服务器只有一台,对外端口 80,只能 IIS 或则 apache 开启 80 端口。。。。问题可想而知,有很多不兼容的情况出现了。
  初步分析问题所在点:1、PHP+IIS,这个是可以实现的,在 Python 到来之前,都是 IIS+PHP 共存的方式,但是问题也是很多,只能说是兼容性不好,一直苦苦支撑。2、Python+IIS 这个好像还没办法实现,即使实现了,问题也少不了,兼容性等。3、80 端口的问题。


  基于以上问题,能够想出的方案:
1、丢弃 IIS,用 Apache 做 WEB 支撑,但是 C#的网站就跪了,需要.NET 支持,所以 IIS 必须保留;
2、基于 IIS 和 PHP 以及 Python 的不友好关系,但是 Apache 和 Python 是友好的,所以 Apache 也必须保留;
3、至于 80 端口,想到的只能做端口转发或者端口代理了。端口转发或者端口代理有很多方法:
    (1)用 Nginx 做端口代理,其他 IIS 或者 Apache 的端口全部用 Nginx 做代理,Nginx 开启 80 端口,这个是很容易实现的,
   增加配置文件如下:

    server {
		listen       80;
		server_name  www.aaa.com;
		location / {
			root   E:/web/aaa;
            index  index.php index.html index.htm;
		proxy_pass   http://www.aaa.com:8082;

    }
}

    server {
		listen       80;
		server_name  www.bbb.com;
		location / {
		proxy_pass   http://www.bbb.com:8082;

    }
}

    (2)用 Apache 做端口转发,其他 IIS 的端口全部由 Apache 做端口转发,Apache 开启 80 端口,这个就不需要用 Nginx 了,实现起来也很简单,
   增加如下配置:

##“www.aaa.com”-PHP 的网站 ##
<VirtualHost *:80>
    DocumentRoot "C:/web/aaa"
    ServerName www.aaa.com
	ServerAlias aaa.com
	<Directory C:/web/aaa>
	<Files index.php>
		Require all granted
	</Files>
	</Directory>
    ErrorLog "logs/aaa.com-error.log"
    CustomLog "logs/aaa.com-access.log" common
</VirtualHost>

##“www.bbb.com”-IIS 的网站 ##
<VirtualHost *:80>
    DocumentRoot "C:/web/bbb.com"
    ServerName www.bbb.com
    ServerAlias bbb.com
    ProxyPass / http://www.bbb.com:81/  
    ProxyPassReverse / http://www.bbb.com:81/
    ErrorLog "logs/bbb.com-error.log"
    CustomLog "logs/bbb.com-access.log" common
</VirtualHost>

基于以上,最终决定使用 Apache 做端口转发的方案了。



IT 敢客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:IIS+Apache 实现 Python+PHP 网站架构 Mod_wsgi+Django
喜欢 (6556)
[313176056@qq.com]
分享 (0)
IT敢客
关于作者:
“我所做的一切都是为了方便我的生活~~~“
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
(2)个小伙伴在吐槽
  1. 厉害厉害(ง •̀_•́)ง🎳
    Amber2018-04-12 17:32 回复 未知操作系统 | 未知浏览器
  2. 不错不错 :cool: :cool:
    企鹅王荣誉2017-11-24 16:46 回复 Windows 10 | Chrome 62.0.3202.75