簡體   English   中英

清漆緩存日志不起作用

[英]Varnish Cache log not working

varnishlog返回:

_.vsm: No such file or directory

有人看過嗎?

看起來varnishlog沒有指向正確的目錄,或者無法訪問它。

請檢查varnishd的命令行選項。 如果守護程序使用-n <instancename>參數運行,則還必須將其添加到varnishlog中。

第二件事,是查看清漆目錄的權限。 為了查看當前使用的目錄,您必須登錄到root並運行以下命令:

$ lsof -p <PID of varnishd> | grep vsm

一旦顯示出來,您只需要確保完整路徑具有用戶的讀取權限即可。

在Varnish 4.1中,根本原因可能是由於讀取_.vsm文件的權限不正確。 例如:

# service varnishncsa start
 * Starting HTTP accelerator log deamon                                                                                                                                                               [fail] 
Can't open log - retrying for 5 seconds
Can't open VSM file (Cannot open /var/lib/varnish/dev-me/_.vsm: Permission denied

Varnishncsa來自varnishlog用戶。 但是/var/lib/varnish/dev-me/_.vsm只能從varnish組或root用戶讀取:

# ls -l /var/lib/varnish/dev-me/_.vsm
-rw-r----- 1 root varnish 84934656 Apr 15 05:58 /var/lib/varnish/dev-me/_.vsm

因此,您可以通過以下方式解決此問題:

# usermod -a -G varnish varnishlog
# id varnishlog
uid=110(varnishlog) gid=116(varnishlog) groups=116(varnishlog),115(varnish)

現在您可以啟動varnishncsa。

在本例中,服務器的主機名已更改。

如果您未指定實例名稱,則varnish將使用主機名。 它正在尋找一個目錄,該目錄包含具有新主機名的共享內存日志記錄配置,但是該實例仍在具有舊主機名的目錄中運行。

重啟清漆解決了問題。

嘗試發出varnishadm命令時,我遇到了同樣的錯誤消息。 原來,我重命名了我的機器而沒有停止清漆。 / var / varnish /中有一些目錄與varnish需要訪問的機器名稱相對應。 “ sudo服務清漆重新啟動”為我修復了此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM