我自己在Ubuntu上編譯了nginx。 我用-c nginx.conf參數啓動我的nginx。 在我的nginx.conf文件中,我嘗試關閉錯誤日誌但失敗。如何關閉或指定nginx錯誤日誌位置?
error_log /dev/null crit;
仍然得到了錯誤消息: nginx的:[警惕]無法打開錯誤日誌文件:打開() 「/usr/nginx/logs/error.log」 失敗(2:沒有這樣的文件或目錄)
如何關閉此日誌或更改其位置?
我自己在Ubuntu上編譯了nginx。 我用-c nginx.conf參數啓動我的nginx。 在我的nginx.conf文件中,我嘗試關閉錯誤日誌但失敗。如何關閉或指定nginx錯誤日誌位置?
error_log /dev/null crit;
仍然得到了錯誤消息: nginx的:[警惕]無法打開錯誤日誌文件:打開() 「/usr/nginx/logs/error.log」 失敗(2:沒有這樣的文件或目錄)
如何關閉此日誌或更改其位置?
禁用錯誤日誌的語法正常,但docs指出在讀取配置之前使用默認日誌文件。 (這似乎是合理的,因爲它會如何告訴你你的配置有錯誤)
嘗試使用運行nginx的用戶的正確權限手動創建此文件。或者嘗試以root身份啓動服務器。
/home/ubuntu/nginx/sbin/nginx -c /home/ubuntu/nginx/conf/nginx.conf -p /home/ubuntu/nginx
這將預先準備與前綴目錄中的配置中指定的任何日誌路徑:
這就是我所做的。編譯nginx時使用--prefix設置正確的日誌位置,並在安裝我的nginx服務時創建文件夾 –
'$ sudo chmod a + w /var/log/nginx/access.log/var/log/nginx/error .log'應該有所幫助,但是從源代碼編譯nginx似乎更加可行的解決方案。 –
仍然無法訪問它,我'chown''d到'www-data:www-data',但這也沒有幫助。如果文件屬於? – IIllIIll
您無法通過指定-p
前綴來解決問題;因爲這隻適用於配置文件中的指令;正如RickyA已經注意到的那樣,問題在於有一個編譯錯誤日誌,nginx甚至在它打開配置之前想要打開它。出於顯而易見的原因,更改已編譯的錯誤日誌的權限並不理想。
一種解決方法是指定的錯誤日誌中的命令行配置:
$ nginx -p . -g 'error_log error.log;'
或
$ nginx -p . -g 'error_log stderr;'
你還是會得到一個[警示]但至少它讓我在Ubuntu上啓動nginx作爲非root用戶。
似乎無法在Mac上運行,fyi。 – pschuegr
我只是解決了這個使用這個配置參數:
./configure --prefix="$HOME/nginx" --error-log-path=/dev/stderr
因爲我從來不使用這個nginx的一個守護進程,並始終在shell中運行它,它是有道理的,它記錄錯誤到stderr。
每this post on the nginx.org mailing list(摘錄如下),%%ERROR_LOG_PATH%%
被設置爲一個編譯選項,並在啓動時立即檢查,導致「無法打開」警報。指定前綴(使用-p
)可能有助於抑制警報,但只有如果%%ERROR_LOG_PATH%%
在編譯時指定爲相對路徑。
您可以檢查它是如何在當前的可執行文件指定與
nginx -V 2>&1 | grep -oE 'error-log-path=\S*'
這就是爲什麼由@邁克爾提出的解決方案適用於一些,但不是爲別人。
請看changelog:
變化nginx的0.7.53
...
*)更改:現在日誌由--error日誌路徑設置從創建很開心 。
*)功能:現在將啓動錯誤和警告輸出到 error_log和stderr。
...
中始終用來記錄在啓動 時錯誤error_log中值現在編譯(如果nginx的不能打開它發出的警告)。一旦配置文件 已被讀取 - 將改爲使用config中的error_log。
如果您編譯的nginx的error_log路徑相對於前綴 - 應該可以通過-p 開關覆蓋啓動error_log。
馬克西姆Dounin
你有沒有試圖消除'error_log'聲明(路線)? :) – Sean3z
我剛剛嘗試過,只使用access_log,但仍然收到錯誤消息。 我沒有創建文件夾:/ home/dist/carrier/nginx/logs。 重新啓動nginx:nginx:[alert]無法打開錯誤日誌文件:open()「/home/dist/carrier/nginx/logs/error.log」failed(2:No such file or directory –