CentOS7, nginx1.11, php7-fpm, UNIXドメインソケットの構成でPHP動かす。
以下4つの設定はやっておく。
さくらVPSにCentOS7をインストールしたときにやる設定
CentOS7にyumでPHP7, PHP-FPM, OPcache, APCuをインストール
nginx + php-fpmでCentOS7でPHP7を最低限動かす
Unixドメインソケット(UNIX domain socket )
ソケットというのが、実行中のプロセス間でデータの送受信を行う(プロセス間通信)ための仕組み。
UNIXドメインソケットというのが、同じコンピュータ上で実行中のプロセス間通信を行うためのもの。
別のコンピュータで実行中のプロセスとデータ通信を行うものを、TCP/IPネットワークを使うため、TCPソケットという。
nginx + php-fpmのデフォルト設定ではTCPソケットが使われているが、同一サーバ内でプロセス間通信するのでUnixドメインソケットに切り替える。
UNIXドメインソケット設定
nginxの設定を変更。
sudo vim /etc/nginx/conf.d/default.conf
location ~ \.php$ { root /usr/share/nginx/html; #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/run/php-fpm/php7.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; include fastcgi_params; }
php-fpmの設定を変更する。
sudo vim /etc/php-fpm.d/www.conf
# TCPソケットからUNIXドメインソケットへ変更 ;listen = 127.0.0.1:9000 listen = /run/php-fpm/php7.sock # これないとエラー出ます listen.owner = nginx listen.group = nginx
nginxとphp-fpmを再起動。
sudo systemctl restart nginx sudo systemctl restart php-fpm
参考
nginx + PHP7.0 / php-fpm Socket 接続に変更
コメント