虚拟主机域名注册-常见问题服务器技术 → 系统运维


Nginx使用Apache的php处理后台
作者:

Nginx本身不自带PHP处理模块,因此需要配置反向代理,将php请求交给其他的PHP解析器执行,然后返回结果给Nginx。


目前流行的方式是使用fast-cgi的方式配置PHP处理服务。其优点是比较简洁,服务器负载轻。但是缺点也是很明显的:无法查看php处理状态。


比如有时候网站因为负荷过高,php处理线程已经全部阻塞,就会造成网站无法再响应php服务。使用fastcgi方式,无法查看是哪些脚本处理时间过长,阻塞了php处理线程。


而Apache的优点就在于,可以很好的查看哪些php脚本处理时间过长,阻塞了有效进程数。


下面的方式是Nginx使用Apache的php处理后台:


配置好apache正确运行在8001端口。


修改nginx的虚拟主机配置,其他php脚本交由apache解析


location ~ \.php$ { 

proxy_pass http://127.0.0.1:8001; 

proxy_set_header Host $host; 

proxy_set_header X-Real-IP $remote_addr; 

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

proxy_connect_timeout 30; 

proxy_send_timeout 30; 

proxy_read_timeout 30; 

client_max_body_size 10m; 

client_body_buffer_size 128k; 

proxy_buffer_size 4k; 

proxy_buffers 4 32k; 

proxy_busy_buffers_size 64k; 

proxy_temp_file_write_size 64k; 

重启nginx和apache


注意,如果要查看php的处理状态,安装使用apache的监控模块就可以了。




来源:
阅读:937
日期:2016-12-22

【 双击滚屏 】 【 推荐朋友 】 【 收藏 】 【 打印 】 【 关闭 】 【 字体: 】 
上一篇:PHP5.4.12+Apache2.4.4+MySQL+phpMyAdmin配置教程
下一篇:APACHE SSL证书安装教程
  >> 相关文章