Skip to main content

Virualmin + Nginx + PHP-FPM Unix Domain

Virtualmin + Nginx + PHP-FPM Unix domain socket

本文基于已经在Virtualmin上安装配置好Nginx module,故不再描述Nginx等安装配置。
Virualmin + Nginx 安装配置

Why

PHP-CGI不好进行配置和优化

配置PHP-FPM

编辑/etc/php-fpm.d/sitename.conf
添加或修改配置部分如下:

; 创建监听池
[pool name]
; 监听方式使用unix domain socket方式
listen = /tmp/php7-fpm.sock  
; 运行的用户设置为与website相同
user = website  
group = website  
; 对于多站点,并且用户各自不相同的情况,注意修改以下配置和权限
listen.owner = nobody  
listen.group = nobody  
listen.mode = 0666  

配置Nginx

编辑/etc/nginx/nginx.conf
要修改的配置如下,原来的配置为PHP-CGI模式

if (!-e $request_filename) {  
    rewrite ^/(.*)$ /index.php/$1 last;
}
location / {  
    include /etc/nginx/conf.d/fastcgi_params;
    # 注释掉PHP-CGI
    #fastcgi_pass unix:/var/php-nginx/148961457311915.sock/socket;
    # 启用PHP-FPM
    fastcgi_pass unix:/tmp/php7-fpm.sock;
}
location ~ /.well-known {  
        allow all;
}

重启服务

service php-fpm restart  
service nginx restart  

多站点

PHP-FPM的多站点和其配置的pool有关。首先在/etc/php-fpm.d/下新建一个新的站点配置,配置与上文相同,注意pool的名字不能一致,使用的socket位置不能一致。