nginx報錯:[emerg] getpwnam(“www“)failed問題及解決
問題現(xiàn)象
今天在使用 nginx 的過程中出現(xiàn)了如下報錯:
nginx: [emerg] getpwnam("www") failed
問題分析
從報錯信息可以得知:
報錯是因為 nginx 在 識別 "www" 的時候失敗了!?。?/strong>
乍一看,一臉懵逼,那就先去了解一下 這個 "www" 的什么東西???從網(wǎng)上查閱資料后發(fā)現(xiàn),幾乎所有的文章都提到了:
現(xiàn)象:
安裝 nginx 或 啟動 nginx 時報錯:
nginx: [emerg] getpwnam("www") failed
原因:
沒有配置 www 這個用戶名。
解法(2種):
1、在 nginx.conf 中 把 user nobody 的注釋去掉。
2、在服務器系統(tǒng)中添加 用戶組www 和 用戶www,命令如下:
/usr/sbin/groupadd -f www /usr/sbin/useradd -g www www
看上去 方法2 的改動風險會大一些,為了求穩(wěn),我先去看了 方法1 中提到的 nginx.conf 配置文件:
發(fā)現(xiàn)配置文件中的 user nobody 確實是被注釋掉了,按照 方法1 所說,那就是要把注釋放開即可。
一切看上去似乎都順利成章,水到渠成!只是我又回頭想了一下,這個 nginx 之前就已經(jīng)在正常使用中,而這個也是此前在使用的配置,然而之前卻從未出現(xiàn)過問題,現(xiàn)在為什么會報錯呢?
于是我又分析了一下,我的報錯情況和網(wǎng)上所說的是否有什么區(qū)別!
然后發(fā)現(xiàn)
- 1、我是在執(zhí)行一個 stop 腳本的時候報的錯,而網(wǎng)上說的是在 安裝 nginx 或 啟動 nginx 時報的錯。
- 2、www 是用戶名,那是不是跟我當前的用戶有關(guān)系?
于是我看了一下目前是 root用戶,而nginx安裝的時候用的是 自定義的 thp用戶:
于是
我退出了當前的 root用戶,回到 thp用戶,再次執(zhí)行 腳本文件就可以了。
解決方法
1、退出當前的 root用戶:
2、在 thp用戶下執(zhí)行腳本成功:
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Nginx優(yōu)化服務之網(wǎng)頁壓縮的實現(xiàn)方法
這篇文章主要介紹了Nginx優(yōu)化服務之網(wǎng)頁壓縮的實現(xiàn)方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01解決nginx服務器上發(fā)布的新版本代碼總需要清除瀏覽器緩存問題
這篇文章主要介紹了解決nginx服務器上發(fā)布的新版本代碼總需要清除瀏覽器緩存問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01添加Nginx代理配置只允許內(nèi)部IP訪問的實現(xiàn)方法
在本篇文章里小編給大家整理的是一篇關(guān)于添加Nginx代理配置只允許內(nèi)部IP訪問的實現(xiàn)方法的文章,有需要的朋友們可以學習下。2019-10-10