[英]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.