有时候一台机器上既有Apache 又有Nginx,Apache占用了80端口,Nginx占用了81端口,配置虚拟主机的时候为了不在域名的后面添加一个讨厌的:81端口号(python.blog.cc:81)可以采用从Apache 反向代理到Nginx的方式来达到目的,同样的道理也可以代理到别的端口上的其它应用
代理配置的步骤如下:
环境:ubuntu10+apache2+nginx1.4
1、加载apache 代理相关的模块
把mods-available下的
proxy_ajp.load
proxy_balancer.load
proxy.conf
proxy_connect.load
proxy_ftp.load
proxy_http.load
proxy.load
proxy_scgi.load
拷贝到mods-enabled目录下,然后重启apache,代理相关的模块就加载进来了
2、在hosts文件中添加 127.0.0.1 python.blog.cc,然后重启网络 sudo /etc/init.d/networking restart
3、配置apache 虚拟主机
NameVirtualHost *:80
<VirtualHost *:80>
ServerName python.blog.cc
ProxyPreserveHost On
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass / http://127.0.0.1:81/
ProxyPassReverse / http://127.0.0.1:81/
ErrorLog /var/log/apache2/proxy_error_log
CustomLog /var/log/apache2/proxy_access_log common
</VirtualHost>
4、配置Nginx server
server {
listen 81;
server_name python.blog.cc;
#charset koi8-r;
access_log /var/log/nginx/python.blog.access.log main;
error_log /var/log/nginx/python.blog.error.log;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
}
}