nginxの/var/lib/nginx/tmp/fastcgi/でPermission deniedになる

nginx+php-fpmでサーバを動かしてみましたが、表面上はエラーも出ずに動いているように見えます。しかしログを見ると以下のような出力がありました。

2013/06/27 22:28:13 [crit] 29202#0: *194780 open() "/var/lib/nginx/tmp/fastcgi/6/46/0000000466" failed (13: Permission denied) while reading upstream, client: ***.***.***.***, server: www.poitan.net, request: "GET /***.html HTTP/1.1", upstream: 
2013/06/27 22:28:35 [crit] 29202#0: *194981 open() "/var/lib/nginx/tmp/fastcgi/7/46/0000000467" failed (13: Permission denied) while reading upstream, client: ***.***.***.***, server: www.poitan.net, request: "GET / HTTP/1.1", upstream: 
2013/06/27 22:35:03 [crit] 29201#0: *197669 open() "/var/lib/nginx/tmp/fastcgi/8/46/0000000468" failed (13: Permission denied) while reading upstream, client: ***.***.***.***, server: www.poitan.net, request: "GET /***.html HTTP/1.1", upstream:

/var/lib/nginx/のfastcgiを777にしても同じエラーとなりました。

# chmod -R 777 /var/lib/nginx/tmp/fastcgi

問題は、/var/lib/nginxのユーザでした。例えば、php-fpmをtestユーザで動かしているのであれば、/var/lib/nginx、/var/lib/nginx/tmp等もtestユーザにしなければなりません。以下のように700となっている場合は、それ以降のfastcgiディレクトリを777にしても、testユーザにしても意味がなく、先頭のnginxディレクトリを変更しなければなりません。

# ls -la /var/lib
drwx------  3 user user  4096  5月 15 03:27 2013 nginx

以下のコマンドでPermission deniedに関するエラーが出なくなりました。

# chown -R test /var/lib/nginx

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください