Apache同时支持PHP和Python的配置方法
最近开始学着用Python+Tornado+MongoDB写网站,兴起写了一个博客,觉得很有意思所以想挂在服务器上发布出去找大家一起玩。这个时候就遇到了问题。
服务器是windows系统,安装的是Apache,所以需要配置Apache,使Apache同时支持PHP和Python。
废话少说,提供有效方案一个,照做即可:
1.修改httpd.conf文件
将下列几个Module前的注释符#去掉
LoadModuleproxy_modulemodules/mod_proxy.so
LoadModuleproxy_connect_modulemodules/mod_proxy_connect.so
LoadModuleproxy_ftp_modulemodules/mod_proxy_ftp.so
LoadModuleproxy_http_modulemodules/mod_proxy_http.so
2.配置httpd-vhosts.conf文件
<VirtualHost*:80>
ServerNamehttp://b06.suosikeji.com #这是你要解析的网站地址
ServerAdminme@chengkang.pw
ProxyRequestsOff
<Proxy*>
Orderdeny,allow
Allowfromall
</Proxy>
proxypass/http://127.0.0.1:8002/ #这里是你的python站点的地址
proxypassreverse/http://127.0.0.1:8002/ #同上
</VirtualHost>
3.重启Apache
以上就是我的成功案例。
网上还查到一个方法是通过nginx配置反向代理,我试了一个多小时然后放弃了。之前没接触过nginx,所以出了问题也不知道该怎么解决。其中让我气得要吐血的一个问题是:
nginx文件夹始终为“只读”,怎么改也改不了……导致nginx.exe无法运行……
要是哪位朋友有解决方案,望不吝赐教。
关于反向代理的初步认识:
以我的网站为例,博客运行在服务器本地8002端口,即http://127.0.0.1:8002。我要解析的域名为http://b06.suosikeji.com。
由于服务器环境为Apache,所以外面无法直接访问服务器上未在Apache中配置的某个端口,所以需要进行反向代理的配置。
配置好反向代理之后,当用户访问http://b06.suosikeji.com/add页面时,服务器Apache收到请求,将其转换为http://127.0.0.1:8002/add交给Python处理,并将Python处理出的结果返回,这样用户就看到了正确的页面。
(今天下午乱查资料后的简单理解,望对“反向代理”有正确深入理解的朋友指教。)
自学最痛苦的是碰到困难查资料很难直接查到有用的资料,废话看了一大堆却没有一个明确的解决方案。我个人确实属于那种不认真学习的,喜欢拿过什么来最好能直接就用。所以最近我在总结一些自学过程中的经验,将以解决方案(+学习反思)的形式整理成文,慢慢分享出来。
希望我的总结能够给其他自学者一些实际的帮助。