2012-08-28 14 views

Trả lời

9

Có vẻ như varnishlog không trỏ đến đúng thư mục hoặc không truy cập vào thư mục đó.

Vui lòng kiểm tra các tùy chọn dòng lệnh của varnishd. Nếu deamon chạy với đối số -n <instancename>, bạn cũng phải thêm nó vào varnishlog.

Điều thứ hai, là xem các quyền của thư mục véc ni. Để xem thư mục hiện hành được sử dụng, bạn phải đăng nhập vào root và chạy lệnh dưới đây:

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

Khi tiết lộ, bạn chỉ cần phải chắc chắn rằng đường dẫn đầy đủ đã đọc quyền cho người dùng của bạn.

0

Tôi vừa nhận được thông báo lỗi tương tự khi cố gắng phát hành lệnh varnishadm. Hóa ra là tôi đổi tên máy của mình mà không dừng lại vecni. Có một số thư mục trong/var/varnish/tương ứng với tên máy mà véc ni cần truy cập. "sudo dịch vụ véc ni khởi động lại" cố định điều này cho tôi.

2

Trong trường hợp của chúng tôi, tên máy chủ của máy chủ đã được thay đổi.

Nếu bạn không chỉ định tên cá thể, véc ni sẽ sử dụng tên máy chủ. Nó đang tìm kiếm một thư mục chứa cấu hình ghi nhớ được chia sẻ với tên máy chủ mới, nhưng cá thể vẫn đang chạy từ thư mục với tên máy chủ cũ.

Khởi động lại véc ni đã giải quyết được sự cố.

5

Trong Varnish 4.1, nguyên nhân gốc có thể do quyền không chính xác để đọc tệp _.vsm. Ví dụ:

# 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 làm việc từ varnishlog người dùng. Nhưng /var/lib/varnish/dev-me/_.vsm có thể đọc được từ nhóm véc ni hoặc dùng root chỉ:

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

Vì vậy, bạn có thể khắc phục vấn đề này theo cách sau:

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

Và bây giờ bạn có thể bắt đầu varnishncsa.

Các vấn đề liên quan