对于LNMP来说,最常见的就是502问题了,配置完环境后,一访问网站直接提示“502 Bad GateWay”。出现502的最大原因大致分为这两种。
一、配置错误。
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
如果把fastcgi_pass 后面指定的路径配置错了,那么就会出现502的错误,因为nginx找不到php-fpm了。fastcgi_pass后面可以跟socket 也可以跟ip:port,默认的监听地址为:127.0.0.1:9000。
二、资源耗尽。
LNMP架构处理php时,是nginx直接调去后端的php-fpm服务,如果nginx的请求量偏高,而我们又没有给php-fpm配置足够的子进程,那么总有php-fpm资源耗尽的时候,一旦耗尽nginx则找不到php-fpm,此时就会导致502出现。那这时候的解决方案就是去调整php-fpm.conf 中的php.max_children的数值,使其增加。但也不能无限设置,毕竟服务器的资源有限,根据经验,4G内存机器如果只跑php-fpm和nginx,不跑mysql服务,php.max_children可以设置为150,精良不要超过该数值,8G可以设置成300一次类推。
如果不是以上两种错误,可以通过查看日志文件来排查错误,