Nginx
如何更改使用者名 nginx/PHP 創建文件為
有沒有一種方法可以配置 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。