Tôi đã cài đặt véc ni từ EPEL repo trên CentOS 6.7, và nó không thành công để bắt đầu với lỗi sau:Varnish thất bại trong việc bắt đầu với: thất bại trong việc lập bản đồ phân đoạn từ đối tượng chia sẻ: Hoạt động không được phép
Compiled VCL program failed to load:
./vcl.1P9zoqAU.so: failed to map segment from shared object: Operation not permitted
VCL compilation failed
Nếu tôi strace nhị phân varnishd, tôi nhận được dòng sau vào cuối
chdir("/var/lib/varnish/myserver.foo.bar") = 0
open("./vcl.1P9zoqAU.c", O_RDWR|O_CREAT|O_EXCL, 0600) = 3
Vì vậy, tôi đã kiểm tra rằng quyền đã phải vào thư mục này (cộng với tôi đang chạy nó với root), tôi vô hiệu hóa SELinux, khởi động lại, cài đặt lại ... Đầu tiên nó xảy ra với véc ni 2.1.15, nhưng cùng là xảy ra với 4.0.3 (sử dụng repo varnish chính thức).
Bạn có biết điều gì đang xảy ra trên hệ thống của tôi không?
Bạn có thể kiểm tra để đảm bảo rằng hệ thống tệp không được kết nối với 'noexec'? – Petesh
Omg, đó là lý do ... Bạn có thể giải thích (trong một câu trả lời chủ đề) tại sao một tùy chọn noexec có tác động đến một hoạt động mở() cơ bản không? Từ những gì tôi hiểu, véc ni hiện đang cố gắng để xây dựng cấu hình vcl trong C để nó có thể được nạp vào bộ nhớ. Tôi không chắc nơi mà cái noexec ở đây đang can nhiễu. Cảm ơn sự giúp đỡ của bạn –