Nginx反向代理Apache
2010-08-08 10:32
120 查看
Nginx的并发连接处理能力是远超Apache的,一般都采用Nginx+FastCGI的方式。
在自己的电脑上用Nginx proxy Apache这样的非主流服务器环境一段时间了,感觉还是有点意思。由Nginx处理HTTP请求,将PHP交由后端服务器Apache处理,其余均由Nginx处理。有点负载均衡的意思。
方法很简单,不管是Windows还是Linux,先把Nginx和Apache装好。
修改Apache的httpd.conf文件,将监听端口改为8080(Listen 8080),重启。
修改Nginx的nginx.conf文件。监听端口默认为80即可。在Server部分中加入:
这就是将.php文件交由后端服务器http://127.0.0.1:8080处理。
proxy_set_header是在HTTP头部中发送这些信息,Nginx反向代理Apache时影响REMOTE_ADDR等信息,需要发送真实信息。当然,使用BasicPHP框架将自动重载HTTP_REMOTE_ADDR为REMOTE_ADDR,不影响程序员编写程序。
重启Nginx,就可以正常访问服务器了,相当于把Nginx+FastCGI变成了Nginx+Apache2Handler。依旧可以看看phpinfo,由于Apache是后端服务器,所以看到的HTTP版本为1.0,不要惊讶。
对Nginx proxy Apache与单纯的Apache服务器进行了简单的压力测试,并发连接数超过100时,Nginx proxy Apache的性能就开始超越Apache了。
这样Nginx和Apache的环境在开发时都可以用到,想用FastCGI可以随时修改一下nginx.conf文件,想用Apache直接访问8080端口即可。我也同时保留了PHP5.2和PHP5.3两个PHP环境,使用起来也可以随时切换。 阅读更多
在自己的电脑上用Nginx proxy Apache这样的非主流服务器环境一段时间了,感觉还是有点意思。由Nginx处理HTTP请求,将PHP交由后端服务器Apache处理,其余均由Nginx处理。有点负载均衡的意思。
方法很简单,不管是Windows还是Linux,先把Nginx和Apache装好。
修改Apache的httpd.conf文件,将监听端口改为8080(Listen 8080),重启。
修改Nginx的nginx.conf文件。监听端口默认为80即可。在Server部分中加入:
location ~ ^(.+\.php)(.*)$ {
proxy_redirect off;
proxy_set_header HOST $host;
proxy_set_header SERVER_ADDR $server_addr;
proxy_set_header SERVER_PORT $server_port;
proxy_set_header REMOTE_ADDR $remote_addr;
proxy_set_header REMOTE_PORT $remote_port;
proxy_pass http://127.0.0.1:8080;
}
这就是将.php文件交由后端服务器http://127.0.0.1:8080处理。
proxy_set_header是在HTTP头部中发送这些信息,Nginx反向代理Apache时影响REMOTE_ADDR等信息,需要发送真实信息。当然,使用BasicPHP框架将自动重载HTTP_REMOTE_ADDR为REMOTE_ADDR,不影响程序员编写程序。
重启Nginx,就可以正常访问服务器了,相当于把Nginx+FastCGI变成了Nginx+Apache2Handler。依旧可以看看phpinfo,由于Apache是后端服务器,所以看到的HTTP版本为1.0,不要惊讶。
对Nginx proxy Apache与单纯的Apache服务器进行了简单的压力测试,并发连接数超过100时,Nginx proxy Apache的性能就开始超越Apache了。
这样Nginx和Apache的环境在开发时都可以用到,想用FastCGI可以随时修改一下nginx.conf文件,想用Apache直接访问8080端口即可。我也同时保留了PHP5.2和PHP5.3两个PHP环境,使用起来也可以随时切换。 阅读更多
相关文章推荐
- 后端Apache获取前端Nginx反向代理的真实IP地址
- nginx反向代理 后端apache获取真实ip方式
- 通过Nginx反向代理,IIS和apache 共用80端口
- nginx反向代理apache配置
- Nginx反向代理处理静态,Apache处理php(lamp升级lnamp)
- 15 nginx反向代理实现nginx+apache动静分离
- 后端Apache获取前端Nginx反向代理的真实IP地址 (原创贴-转载请注明出处)
- Nginx反向代理Apache传递真实ip
- 在Apache和Nginx反向代理中实现输出内容替换
- 配置LANMP环境(7)-- 配置nginx反向代理,与配置apache虚拟主机
- Nginx反向代理apache及Nginx
- Nginx反向代理Apache实现动静结合
- 在Mac OS X中配置Apache + PHP + MySQL
- apache と tomcat 連携
- apache 配置详解
- Linux下 Apache 不能解析php 和不能解析 mht shtml 文件格式问题汇总
- CENTOS编译安装APACHE 2.4.6笔记
- 五种开源协议的比较(BSD, Apache, GPL, LGPL, MIT)
- android 6.0不再提供org.apache.http.*
- 最简单实现跨域的方法:使用nginx反向代理