有時候當Nginx讀取本地目錄時會收到403錯誤,權限問題。
先來了解一下Nginx的用戶管理,Nginx在以Linux service腳本啓動時,經過start-stop-domain啓動,會以root權限運行daemon進程。
而後daemon進程讀取/etc/nginx/nginx.conf文件中的user配置選項,默認這裏的user=nginx
也就是用nginx用戶啓動worker process。403錯誤就是由於nginx用戶沒有權限訪問我當前開發用的用戶目錄,/home/dean/work/resources。
解決方法是將user=nginx替換成root,而後從新啓動nginx,能夠了。
其餘方法也試過,好比給/home/dean/work/resources目錄設置777權限,好比將nginx用戶加入root組,都不行。
因此當開發的時候,就用user=root配置吧。至於產品環境下,resouces目錄徹底能夠放到nginx用戶目錄下,因此問題不大。
nginx