Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
11
Help us understand the problem. What is going on with this article?
@shikigamix

Nginxとphp-fpmをsock接続するときphp-fpm.sockが消える件

More than 1 year has passed since last update.

Nginxとphp-fpmをポート接続からソケット接続にする場合

/etc/nginx/conf.d/*.conf(設定ファイル名は任意)
-fastcgi_pass  127.0.0.1:9000;
+fastcgi_pass  unix:/var/run/php-fpm/php-fpm.sock;
/etc/php-fpm.d/www.conf
-listen = 127.0.0.1:9000
+listen = /var/run/php-fpm/php-fpm.sock

とするのだけれども

systemctl stop php-fpm

とphp-fpmサービスを停止した場合
/var/run/php-fpm/ディレクトリが丸ごと消失してしまうため
再度起動するとphp-fpm.sockファイルが再生成され
オーナー情報・パーミッション情報を変えていてもリセットされてしまい
サーバー再起動などで動かなくなってしまう問題がある

この問題は以下のように
listen.owner、listen.group、listen.modeを適切に指定する事により

/etc/php-fpm.d/www.conf
-;listen.owner = nobody 
-;listen.group = nobody
-;listen.mode = 0660
+listen.owner = nginx
+listen.group = nginx
+listen.mode = 0660
systemctl stop php-fpm
systemctl start php-fpm

してもphp-fpm.sockファイルがnginx所有のファイルとして正しく生成され動作するようになる

php-fpmの実行ユーザーも変更する場合

/etc/php-fpm.d/www.conf
-user = apache
-group = apache
+user = nginx
+group = nginx

セッションにアクセスできなくなるので権限を変更

chown -R nginx:nginx /var/lib/php/session/
11
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
shikigamix
最近Vue.js、React、Angularの比較にハマってます。質問などありましたら可能な限りお答えしたいと思います。

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
11
Help us understand the problem. What is going on with this article?