Nginx

如何更改使用者名 nginx/PHP 創建文件為

  • June 24, 2015

有沒有一種方法可以配置 nginx/php,以便它使用特定使用者創建文件。

例如,當一個 drupal/wordpress 站點上傳一個文件時,使用者被分配如下:john:www-data

nginx.conf 確實有一個使用者,但據我了解,這只會改變 nginx 在系統上使用的使用者。

正如 Tero 所建議的,您需要更改負責託管您想要影響的站點的 php-fpm 程序的使用者。

PHP-FPM 有“池”,我認為大多數管理員通常會在每個託管站點上擁有一個池。因此,如果您正在託管 example.com 和 another-example.com,則可以有兩個 php-fpm 池,每個池都執行各自的站點。不同池的好處是您可以分別為每個池定義配置(從而將程序作為不同的使用者/組執行)。

您沒有指定您的發行版/配置,所以我只能告訴您您的池配置文件可能位於/etc/php-fpm.d/*.conf. 所以,你可以有/etc/php-fpm.d/example.com.conf

[example.com]
user = john
group = www-data
...

然後是另一個池/etc/php-fpm.d/another-example.com.conf

[another-example.com]
user = sally
group = www-data
...

php-fpm 配置是 INI 格式,我發布的只是相關的使用者/組指令。正確的池定義需要更多配置選項。有關更多資訊,請參閱此頁面上的“池指令列表”部分。

您將需要重新啟動 php-fpm 服務以使池更改生效。php-fpm -t在大多數係統上,您可以在重新啟動之前測試您的配置(從而避免可能的停機時間) 。我認為某些發行版使用php5-fpm -t.

最後,是的,正如您所說, nginx.conf 使用者/組指令僅影響 Nginx。PHP-FPM 作為一個單獨的程序執行,或多或少獨立於 Nginx。

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