php-fpm sock文件權限設置


在編譯php-fpm時,若沒有指定fpm用戶,在配置文件中也沒有指定用戶,則sock文件會由root(啟動php-fpm的用戶)創建,其權限是srw-rw----

而nginx一般由nginx用戶啟動,會導致無法讀取sock文件,造成nginx返回502錯誤。

nginx日志會記錄錯誤如下:

2018/09/12 17:06:17 [crit] 30735#0: *1 connect() to unix:/dev/shm/php-cgi.sock failed (13: Permission denied) while connecting t
o upstream......

解決辦法是在配置文件中指定listen用戶

; Set permissions for unix socket, if one is used. In Linux, read/write
; permissions must be set in order to allow connections from a web server. Many
; BSD-derived systems allow connections regardless of permissions. 
; Default Values: user and group are set as the running user
;                 mode is set to 0666
listen.owner = fcgi
listen.group = wwwgroup
listen.mode = 0666

改完后重啟php-fpm即可

注:sock文件存放在/dev/shm目錄下,
此目錄下將sock文件放在內存里面,有助於性能提升

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM