nginx常见问题处理
By skyshappiness Posted 2017-12-03 14:16:59 In

一、背景

    随着程序使用的深入,渐渐的会碰到各种奇奇怪怪的问题。

二、Nginx 问题处理(一般基于 error.log 日志进行处理):

    1、Too many open files
        超过了最大打开文件数的限制。
        修改nginx配置 worker_rlimit_nofile 65535
        修改系统配置 参照资源优化配置 /etc/security/limits.conf soft nofile 65535; hard nofile 65535;


    2、502、504错误处理

        1)、确定后端的服务器是否启动 ps -ef | grep php-fpm
        2)、确定php-fpm的 worker 进程是否够用
            开启的进程数 ps -ef | grep php-fpm | grep -v "master" | grep -v "grep" | wc -l (此处注意是否排除 master、grep 进程)
            正在使用的进程 netstat -anp | grep php-fpm | grep -v "LISTEN" | grep -v "php-fpm.conf" | wc -l
            如果两个数值相近,那么可以考虑增加worker进程数量


        3)、FastCGI 缓冲(buffer)或是代理的缓存情况

            fastcgi_buffer_size 4k; //此指令依赖于操作系统对内存页面的设置,可通过 getconf PAGESIZE 得到结果
            fastcgi_buffers 16 4k;
            如果使用代理:
            proxy_buffer_size 16k;
            proxy_buffers 4 16k;


        4)、php执行时间长

            fastcgi_connect_timeout 60;
            fastcgi_send_timeout 60;
            fastcgi_read_timeout 60;
            如果使用代理:
            proxy_connect_timeout 60;
            proxy_send_timeout 60;
            proxy_read_timeout 60;

            fail_timeout 30; //upstream模块指令,如果使用负载均衡的话,可以参考使用此指令
友情链接
联系方式
  • 邮箱 / E-mail:skyshappiness@gmail.com