使用nginx搭建一個靜態文件服務器時,請求一張圖片,出現404.。查看nginx的日誌顯示:permission denied。
ps -ef | grep nginx
發現啓動進程的用戶是nobody。nobody是linux系統自帶的用戶,權限很少。使用這個用戶起的進程時,就算被黑客劫持了也不能幹其他事,保證安全。所以當請求圖片時,nginx沒有權限讀取圖片,所以發生錯誤。
爲什麼會時nobody啓動的nginx?
我搭建nginx環境是從官網上下載的二進制文件,直接就用了。在configure的時候應該加上--user參數,不過當時沒加,所以使用了默認的nobody用戶。
解決方法:
在nginx.conf文件中加上user root;
建議:
在使用nginx或者其他第三方服務的時候,建立一個對應的用戶,避免第三方服務有bug,被黑客劫持。