为了账号安全,请及时绑定邮箱和手机立即绑定

Nginx+Apache+PHP分布处理访问

标签:
PHP

Nginx本身不自带PHP处理模块,因此需要配置反向代理,将php请求交给其他的PHP解析器执行,然后返回结果给Nginx。
 
 目前流行的方式是使用fast-cgi的方式配置PHP处理服务。其优点是比较简洁,服务器负载轻。但是缺点也是很明显的:无法查看php处理状态。
 比如有时候网站因为负荷过高,php处理线程已经全部阻塞,就会造成网站无法再响应php服务。使用fastcgi方式,无法查看是哪些脚本处理时间过长,阻塞了php处理线程。
 而Apache的有点就在于,可以很好的查看哪些php脚本处理时间过长,阻塞了有效进程数。
 
 下面的方式是使用Apache最为Nginx的php处理后台:
 1、先安装apache
 apt-get install apache
 并配置好apache正确运行在8001端口。
 2、修改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的监控模块就可以了。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消