xml地图|网站地图|网站标签 [设为首页] [加入收藏]
来自 关于我们 2019-10-05 10:40 的文章
当前位置: 新濠国际登录平台 > 关于我们 > 正文

然后重启php-fpm和nginx,NGINX可以利用多物理或虚拟

访问网站时出现如下错误,如下图:

由于服务器版本的不稳定,将Nginx的程序迁移到Apache执行

[文章作者:张宴 本文版本:v1.0 最后修改:2008.07.30 转载请注明原文链接:http://blog.s135.com/read.PHP/361/]

导读 使用Nginx搭配PHP已有7年的经历,这份经历让我们学会如何为高流量站点优化NGINX和PHP-fpm配置。

新濠国际登录平台 1

 

  昨日,有朋友问我,他将Web服务器换成Nginx 0.6.31  + PHP 4.4.7(FastCGI)后,有时候访问会出现“502 Bad Gateway”错误,如何解决。

新濠国际登录平台 2

检查php fastcgi进程数,如下图:

昨日,有朋友问我,他将Web服务器换成Nginx 0.6.31  + PHP 4.4.7(FastCGI)后,有时候访问会出现“502 Bad Gateway”错误,如何解决。

  我让按照以下两个步骤去解决,最后在第2步中将FastCGI的timeout时间增加为300,问题解决:

以下正是这方面的一些提示和建议:

新濠国际登录平台 3

  我让按照以下两个步骤去解决,最后在第2步中将FastCGI的timeout时间增加为300,问题解决:

  PS:比较羡慕迅雷的Web服务器,16G内存。

1. 将TCP切换为UNIX域套接字

输出0则表示fastcgi进程数够大,修改scgi_params文件,如下图:

  PS:比较羡慕迅雷的Web服务器,16G内存。


  1. 将TCP切换为UNIX域套接字
    UNIX域套接字相比TCP套接字在loopback接口上能提供更好的性能(更少的数据拷贝和上下文切换)。

新濠国际登录平台 4


  1、查看当前的PHP FastCGI进程数是否够用:

但有一点需要牢记:仅运行在同一台服务器上的程序可以访问UNIX域套接字(显然没有网络支持)。

然后重启php-fpm和nginx,重新访问即可正常访问。

  1、查看当前的PHP FastCGI进程数是否够用:

netstat -anpo | grep "PHP-cgi" | wc -l

upstream backend
{
    # UNIX domain sockets
    server unix:/var/run/fastcgi.sock;

    # TCP sockets
    # server 127.0.0.1:8080;
}

netstat -anpo | grep "php-cgi" | wc -l

  如果实际使用的“FastCGI进程数”接近预设的“FastCGI进程数”,那么,说明“FastCGI进程数”不够用,需要增大。

2. 调整工作进程数

  如果实际使用的“FastCGI进程数”接近预设的“FastCGI进程数”,那么,说明“FastCGI进程数”不够用,需要增大。


现代计算机硬件是多处理器的,NGINX可以利用多物理或虚拟处理器。


  2、部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间,例如:

多数情况下,你的Web服务器都不会配置为处理多种任务(比如作为Web服务器提供服务的同时也是一个打印服务器),你可以配置NGINX使用所有可用的处理器,NGINX工作进程并不是多线程的。

  2、部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间,例如:

......
http
{
......
fastcgi_connect_timeout 300;
fastcgi_新濠国际登录平台,send_timeout 300;
fastcgi_read_timeout 300;
......
}
......

运行以下命令可以获知你的机器有多少个处理器:

本文由新濠国际登录平台发布于关于我们,转载请注明出处:然后重启php-fpm和nginx,NGINX可以利用多物理或虚拟

关键词: