Nginx
如何更改 NGINX 使用者?
我有一個 PHP 腳本,它創建一個目錄並將圖像輸出到該目錄。這在 Apache 下工作得很好,但我們最近決定切換到 NGINX 以更多地利用我們有限的 RAM。我正在使用 PHP mkdir() 命令來創建目錄:
mkdir(dirname($path['image']['server']), 0755, true);
切換到 NGINX 後,我收到以下警告:
Warning: mkdir(): Permission denied in ...
我已經檢查了父目錄的所有權限,所以我確定我可能需要更改 NGINX 或 PHP-FPM ‘使用者’,但我不知道該怎麼做(我從來沒有指定使用者APACHE 的權限)。我似乎找不到太多關於此的資訊。任何幫助都會很棒!
(注意:除了這個小問題,切換到 NGINX 非常無縫;我是第一次使用它,實際上只需要大約 10 分鐘就可以啟動並執行 NGINX。現在我只是在熨燙擺脫困境。)
執行 nginx & php-fpm 作為 www:www
###1。Nginx
編輯 nginx.conf 並將使用者設置為
www www;
:user www www;
如果主程序以 root 身份執行,那麼 nginx 會將 setuid()/setgid() 設置為 USER/GROUP。如果未指定 GROUP,則 nginx 使用與 USER 相同的名稱。預設情況下,它是nobody 使用者和nobody 或nogroup 組,或者來自./configure 腳本的–user=USER 和–group=GROUP。
###2。PHP-FPM 程式碼
編輯php-fpm.conf並將使用者和組設置為
www
:[www] user=www group=www
user - 程序的 Unix 使用者。預設“www-data”
group - Unix 程序組。預設“www-data”