Nginx

如何更改 NGINX 使用者?

  • December 7, 2021

我有一個 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”

引用自:https://serverfault.com/questions/433265