C'est La Vie

    人生无彩排,每一天都是现场直播!

    NGINX + PHP-FPM 优化记录

    最近做的 NGINX + PHP-FPM 优化,记录一下,留待后用。 测试环境,8 核 CPU,64G 内存。 […]

    最近做的 NGINX + PHP-FPM 优化,记录一下,留待后用。

    测试环境,8 核 CPU,64G 内存。

    1、PHP-FPM 配置文件

    listen = 127.0.0.1:9000 修改为 listen = /tmp/php-fpm.sock
    listen.backlog 取消注释,并修改值为 102400
    pm = dynamic 修改为 pm = static
    pm.max_children 的值修改为 200
    

    2、启动多个 PHP-FPM 实例

    复制 php-fpm.conf 配置文件

    cp php-fpm.conf php-fpm.1.conf
    

    修改复制的 php-fpm.1.conf

    listen = /tmp/php-fpm.sock 修改为 listen = /tmp/php-fpm.1.sock
    

    建议启动的 PHP-FPM 实例数量与 CPU 核心数量一致。

    3、NGINX 配置文件

    worker_processes 8;
    worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
    worker_rlimit_nofile 204800;
    events {
        use epoll;
        worker_connections 204800;
    }
    upstream phpbackend {
        server unix:/tmp/php-fpm.sock
        server unix:/tmp/php-fpm.1.sock
    }
    server {
        default backlog = 102400;
        location ~ .php$ {
            fastcgi_pass   phpbackend;
            include        fastcgi_params;
        }
    }
    

    4、修改系统打开文件数

    打开 /etc/security/limits.conf 文件,添加:

    * soft nofile 65535
    * hard nofile 65535
    

    修改完成需要重启服务器生效!并可使用下面命令查看是否生效:

    ulimit -n
    

    发表回复

    您的电子邮箱地址不会被公开。 必填项已用*标注