今天遇到LAMP架構的網站圖檔無法上傳的問題,nginx是上一位人安裝,也不懂nginx的,什麼都是預設的,總結了一下nginx
1、搭建nginx的時候在不建立指定的使用者群組時,預設是用nobody;
2、在root使用者下搭建nginx,啟動時是root啟動,但工作程序是nobody;
3、nginx配置檔案中 “#user nobody”,這個開不開應該都是nobody,除非明确user另外的使用者群組
4、上傳的程式如果是php,要看的php-fpm的權限,上傳檔案的權限會用的php-fpm的使用者,用如下指令檢視:
<code>ps</code> <code>-ef |</code><code>grep</code> <code>php-fpm</code>
<code>root 18630 1 0 17:52 ? 00:00:00 php-fpm: master process (</code><code>/usr/local/php/etc/php-fpm</code><code>.conf) </code>
<code>nobody 18631 18630 0 17:52 ? 00:00:00 php-fpm: pool www </code>
<code>nobody 18632 18630 0 17:52 ? 00:00:00 php-fpm: pool www </code>
<code>root 20077 16136 0 18:05 pts</code><code>/1</code> <code>00:00:00 </code><code>grep</code> <code>php-fpm</code>
<code>php-fpm配置檔案/usr/local/php/etc/php-fpm.conf中預設的使用者群組是:</code>
<code>user = nobody</code>
<code>group = nobody</code>
5、但是我不想用預設使用者,我就建立個www使用者和www組
<code>編輯nginx.conf裡使用者為:user www www;</code>
<code>在編輯php-fpm.conf配置檔案,修改使用者群組:</code>
<code>user = www</code>
<code>group = www</code>
最後可将nginx目錄下所有屬主和屬組改為www.www
編輯好之後重新開機一下php-fpm和nginx程式。
<code>ps -ef |grep php-fpm</code>
<code>root 18630 1 0 17:52 ? 00:00:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf) </code>
<code>www 18631 18630 0 17:52 ? 00:00:00 php-fpm: pool www </code>
<code>www 18632 18630 0 17:52 ? 00:00:00 php-fpm: pool www </code>
<code>root 20077 16136 0 18:05 pts/1 00:00:00 grep php-fpm</code>
<code>ps -ef |grep nginx</code>
<code>root 19121 1 0 17:56 ? 00:00:00 nginx: master process /web/nginx/sbin/nginx -c /web/nginx/conf/nginx.conf</code>
<code>www 19122 19121 0 17:56 ? 00:00:00 nginx: worker process </code>
<code>root 19663 16136 0 18:04 pts/1 00:00:00 grep nginx</code>
本文轉自ling118 51CTO部落格,原文連結:http://blog.51cto.com/meiling/1976503,如需轉載請自行聯系原作者