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

最近开始学着用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处理出的结果返回,这样用户就看到了正确的页面。

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

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

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

时间: 2024-09-20 20:13:01

Apache同时支持PHP和Python的配置方法_Linux的相关文章

apache正常访问mht类型文件的配置方法_Linux

一.mht文件简介 MHTML文件又称为聚合HTML文档.Web档案或单一文件网页.单个文件网页可将网站的所有元素(包括文本和图形)都保存到单个文件中.这种封装使您可将整个网站发布为单个内嵌MIME (MIME:通过 Internet 连接传递多媒体资源的一列标准.MIME类型通知程序对象所包含的内容(如图形.声音或视频)的聚合HTML文档(MHTML)文件,或将整个网站作为一个电子邮件或附件发送.Internet Explorer 4.0及更高版本支持此格式. 二.apache支持mht文件的

让Apache支持shtml实现include文件解析的配置方法_Linux

1. 确认加载include.so模块,将注释去掉: LoadModule include_module libexec/apache2/mod_include.so 2. AddType部分去掉这两段注释: AddType text/html .shtml AddOutputFilter INCLUDES .shtml 3. Directory目录权限里面找到 Options Indexes FollowSymLinks 增加Includes修改为: Options Indexes Follo

Apache本地二级域名配置方法_Linux

本文讲述了Apache本地二级域名配置方法.分享给大家供大家参考,具体如下: 我们在本地调试web程序时,常有很多不同的项目.不同的项目,我们希望使用不同的文件夹和不同的域名. 比如今天我正在建设一个鲜花网站,可是有个客户临时要做一个简单的卖眼镜的网站,两个网站在电脑上放在不同的目录下,而且要使用两个不同的域名来访问.一个是flower.domain.com,一个是glass.domain.com. 通常情况下,我们应该这么做: 1.在本地hosts文件中,将flower.domain.com指

在Apache服务器上添加虚拟主机功能的方法_Linux

Apache 默认存放网页根目录,是在/var/www/html/下面,也就是说,默认情况下,一个服务器,只能跑一个网站.但是一台性能还算不错的服务器,如果只跑一个网站,岂不是有点浪费?其实 Apache 是支持虚拟主机功能的,以虚拟主机模式可以跑 N 个网站. Apache 开启虚拟主机功能的方式也很简单,以 CentOS 6.3 和 Apache 2.2 为例, 在 /etc/httpd/conf.d/ 目录下创建一个vhost.conf配置文件,内容格式如下: NameVirtualHos

apache中通过mod_rewrite实现伪静态页面的方法_Linux

rewrite规则学习 我们新建一个.htaccess文件之后,就在里面写入以下内容: RewriteEngine on #rewriteengine为重写引擎开关on为开启off为关闭 RewriteRule ([0-9]{1,})$ index.php?id=$1 我讲解一下RewriteRule:RewriteRule是重写规则,支持正则表达式的,上面的([0-9]{1,})是指由数字组成的,$是结束标志,说明是以数字结束! 好吧,现在我们可以实现伪静态页面了,写下一下的规则: Rewri

Ubuntu下Telnet服务器的配置方法_Linux

1. 首先介绍linux中的守护进程 在Linux系统中有一个特殊的守护进程inetd(InterNET services Daemon),它用于Internet标准服务,通常在系统启动时启动.通过命令行可以给出inetd的配置文件,该配置文件列出了inetd所提供的服务清单.如果没有在命令行给出配置文件,那么inetd将从文件/etc/inetd.conf中读取它的配置信息.inetd的主要任务是为那些没有在系统初始化时启动的服务器进程监听请求,它在同配置文件中列出的服务相关联的TCP或UDP

让Apache支持cgi、SSI、shtml的配置方法_Linux

1.首先明确,只能够指定某个确定的目录,支持cgi,即运行该目录执行cgi程序:否则不太安全.寻找: 复制代码 代码如下:     #    # "C:/Program Files/Apache Group/Apache/cgi-bin" should be changed to whatever your ScriptAliased    # CGI directory exists, if you have that configured.    #    <Director

apache 支持 php5 的配置方法_Linux

1.下载apache安装包,并执行安装. 2.下载php5的zip包,并解压到c:\php 3.修改apache的配置文件httpd.conf,添加以下: 复制代码 代码如下: #load the php main library to avoid dll hell Loadfile "C:\php\php5ts.dll" #load the sapi so that apache can use php LoadModule php5_module "C:\php\php5

Ubuntu Apache配置以及cgi配置方法_Linux

在学习Python CGI中,需要在Ubuntu下安装Apache,所以今天在Ubuntu11.04上对Apache的安装和配置进行了学习. 一.Apache的安装  在网上查了些资料有两种安装方式:一种是从Apache网站上下载tar文件到自己的电脑上安装:另一种是直接通过网络安装.为了方便我就使用了第二种方式.  Ubuntu提供了强大的apt-get install命令,在终端输入:sudo apt-get install apache2     这样就能方便快捷的安装Apache.但是,