Apache同时支持PHP和Python的配置方法

最近开始学着用Python+Tornado+MongoDB写网站,兴起写了一个博客,觉得很有意思所以想挂在服务器上发布出去找大家一起玩。这个时候就遇到了问题。

服务器是windows系统,安装的是Apache,所以需要配置Apache,使Apache同时支持PHP和Python。

废话少说,提供有效方案一个,照做即可:

1. 修改 httpd.conf 文件

将下列几个Module前的注释符 # 去掉

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so

2. 配置 httpd-vhosts.conf 文件

<VirtualHost *:80>
ServerName http://b06.suosikeji.com   #这是你要解析的网站地址
ServerAdmin me@chengkang.pw
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</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处理出的结果返回,这样用户就看到了正确的页面。

(今天下午乱查资料后的简单理解,望对“反向代理”有正确深入理解的朋友指教。)

自学最痛苦的是碰到困难查资料很难直接查到有用的资料,废话看了一大堆却没有一个明确的解决方案。我个人确实属于那种不认真学习的,喜欢拿过什么来最好能直接就用。所以最近我在总结一些自学过程中的经验,将以解决方案(+学习反思)的形式整理成文,慢慢分享出来。

希望我的总结能够给其他自学者一些实际的帮助。

(0)

相关推荐

  • win7 64位系统 配置php最新版开发环境(php+Apache+mysql)

    一 :准备阶段 1:php php-5.5.13下载链接:http://windows.php.net/downloads/releases/php-5.5.13-Win32-VC11-x64.zip 推荐 Thread Safe(线程安全) V11 x64,也就是64bit的. 现在PHP官网上下载PHP安装包都有VC11或VC9的字样,这是什么含义,我们应该下载哪种安装包更好呢? 其实PHP官网给出了答案: VC9 and VC11 More recent versions of PHP a

  • Windows下Apache + PHP SESSION丢失的解决过程全纪录

    今天的工作是迁移一个PHP站点至新服务器. 创建一台Windows Server 2008虚拟机,并在其上停掉net stop http服务(避免争抢80端口),安装配置 Apache + PHP,迁移站点至新服务器,站点正常打开,Apache + PHP运行正常,连接MySql Server正常,一切都美好,本想着半小时完成的工作,紧接着噩梦开始了. 该站点使用单点登录,登录过程包含JavaScript异步操作,包含SOAP调用Web Service.登录却直接跳回了登录页面,没有任何错误提示

  • apache You don't have permission to access /test.php on this server解决方法

    键字: Apache   403  Forbidden 系统配置: 操作系统:Red Hat Linux 6.2 Web服务器:Apache 3.1.1+jakarta-tomcat 3.1.1 数据库服务器:oracle 8i Apache服务器是目前应用最多的web服务器,据统计在世界上的服务器中有超过一半采用Apache服务器.关于它的好处,您可以自己到http://www.apache.org/上去看. 今天我们的服务器出了一点儿问题:任何访问都会返回一个403的错误: 复制代码 代码如

  • PHP脚本内存泄露导致Apache频繁宕机解决方法

    在部署一套内网测试环境时,频繁宕机,开机后不断的吃内存,重启apache之后内存占用会不停的上涨,直到swap用完,直到死机,由于是内网环境,服务器并发和压力都很小. 查看apache错误日志,报大量类似错误: 复制代码 代码如下: [Tue Feb 14 14:49:28 2012] [warn] child process 7751 still did not exit, sending a SIGTERM [Tue Feb 14 14:49:30 2012] [error] child p

  • Windows系统下Apache、PHP无法启动问题总结

    最近经常被问到Apache无法启动的问题,所以写一篇文章,总结一下Windows下经常遇到的 Apache/PHP 无法启动的情况的解决方法. Apache/PHP 无法启动分两种情况: 1.Apache无法启动,没加载php也无法启动 2.Apache可以启动,但加载php后无法启动 第一种情况多数是Apache配置问题,或者80端口被占用 使用Apache的配置检查: 复制代码 代码如下: C:\>D:\Apache2.2\bin\httpd.exe -t Syntax OK 根据错误提示,

  • 在CentOS 6 中安装WordPress(一) 安装Apache,Mysql, PHP环境

    1.安装Apache   在终端中输入下面的命令就可以安装Apache了: sudo yum install httpd sudo的意思是用root用户做什么操作.要点击y就确认下载安装了,非常方便. 然后用下面的命令来启动服务 sudo service httpd start 现在不用着急往下弄,直接在浏览器中输入DigitalOcean给你的IP地址,应该就可以访问到Apache的欢迎页面了.类似下面的样子: 是不是很酷?如果你的域名已经成功解析到你主机的IP地址上的话,用你的域名应该也可以

  • win7系统配置php+Apache+mysql环境的方法

    B/S架构当下很流行,因为B/S架构有众多优点,例如:用户只需有浏览器就可使用,维护升级都比较方便,跨平台,等等.本文就讲讲Windows+Apache+PHP+Mysql的开发环境如何配置. 如何在win7系统下配置php环境呢,php+Apache+mysql都是在配置过程中必不可少的元素,php负责解析php代码,apache负责服务器端而mysql是数据交互的中转站. 那么如何将php+apache+mysql配置好呢,接下来我们看一下具体的方法,软件版本会改变所以需要自己因时制宜,随机

  • apache和PHP如何整合在一起

    一般安装好PHP之后,apache并不能处理php文件,要想使得php与apache服务器整合在一起,必须修改配置文件,这里我教大家如何配置php安装文件. 方法/步骤 首先在apache的conf目录下的httpd.conf加入如下代码: LoadModulephp5_module~php安装路径/php5apache2_2.dll PHPIniDir"~php模块安装路径" AddTypeapplication/x-httpd-php.php.phtml 这里我对上面的代码简单解释

  • windows下apache搭建php开发环境

    本文详细介绍了在Windows2003下使用Apache2.2.21/PHP5.3.5/Mysql5.5.19/phpMyAdmin3.4.9搭建php开发环境. 第一步:下载安装的文件 1. Apache 版本 httpd-2.2.21-win32-x86-no_ssl.msi 2. MySQL 版本 mysql-5.5.19-win32.msi 3. PHP 版本 php-5.3.5-Win32-VC6-x86.zip 4. phpMyadmin 版本 phpMyAdmin-3.4.9-al

  • Apache2.4.x版wampserver本地php服务器如何让外网访问及启用.htaccess

    Apache 从2.2升级到 Apache2.4.x 后配置文件 httpd.conf 的设置方法有了大变化,以前是将 deny from all 全部改成 Allow from all 实现外网访问,现在是将 Require all denied 以及 Require local 都该为 Require all granted 就可以了. .htaccess 如果不起作用将 LoadModule rewrite_module modules/mod_rewrite.so 前面的注释(#)去掉就

  • 简单介绍win7下搭建apache+php+mysql开发环境

    环境目录:E:\dev​ 一.Apache 下载地址:http://www.apachelounge.com/download/​ 我们下载VC11运行库的 1.安装说明: 运行apache安装程序,方法非常简单,弹安装界面后一直"next" 接着会出现一个界面,需要填写3个内容,分别为:Network Domain.Server Name.Administrator's Email Address 随便填写就好,不影响内容. 在下面还有2个选项,默认选择为80端口,第二个为8080端

  • apache集成php5.6方法分享

    apache对php的支持是通过apache的mod_php5模块来支持的,这点与nginx不同.nginx是通过第三方的fastcgi处理器才可以对php进行解析. 如果源码编译安装php的话,需要在编译时指定--with-apxs2=/usr/local/apache2/bin/apxs表示告诉编译器通过apache的mod_php5模块来提供对php的解析. 同时php安装的最后一步make install时,我们会看到将动态链接库libphp5.so拷贝到apache2的安装目录的mod

随机推荐