NginxからPHP-FPMのアクセスをTCPからUnix Socketに変更
CentOS8をセットアップしている時にdnf経由でインストールすると、nginxからphp-fpmのアクセスがUnix Socketを使っていたので、CentOS7の環境でもやってみた。
環境: CentOS 7.7.1908, nginx 1.16.1, PHP 7.3.17
PHP-FPMの設定変更
# less /etc/php-fpm.d/www.conf
listen = /run/php-fpm/www.socklisten.owner = nginxlisten.group = wwwlisten.mode = 0660
nginxの設定変更
# less /etc/nginx/conf.d/global/fastcgi_php.conf
fastcgi_pass unix:/run/php-fpm/www.sock;
再起動
# nginx -t
# systemctl restart php-fpm
# systemctl restart nginx
ついでにnginxの設定に「tcp_nopush」を追加。
これもCentOS8でdnf installしたらデフォルトでonになっていたから。
# less /etc/nginx/nginx.conf
sendfile on;tcp_nopush on;tcp_nodelay on;keepalive_timeout 65;types_hash_max_size 2048;
tcp_nodelayはデフォルトでonだけれども一応書いておく。
全文はGistに置いてある。
再読み込み
# nginx -t
# systemctl reload nginx
開発環境でしばらく運用してから本番環境に反映させる予定。
【関連記事】