Nhật ký lỗi nginx rất lớn, vì vậy tôi đã xóa và tạo một cái mới, bây giờ nginx sẽ không bắt đầu


11

Tôi đã xóa tệp /var/log/nginx/error.log và sau đó tạo một tệp mới bằng cách sử dụng:

sudo nano error.log

Làm ls -lacho thấy rằng error.logaccess.log có cùng quyền.

Khi tôi thử và bắt đầu nginx, tôi gặp lỗi:

alert: không thể mở tệp nhật ký lỗi: open () "/var/log/nginx/error.log" không cho phép bị từ chối.

Cập nhật

Khi cố gắng bắt đầu nginx, tôi cũng thấy:

nổi lên: /var/run/nginx.pid không thành công 13: quyền bị từ chối.

Câu trả lời:


25

Điều này không giải quyết vấn đề của bạn, nhưng trong tương lai, nếu bạn làm

cat / dev / null> / file / you / muốn / to / xóa sạch

bạn sẽ sao chép nội dung của tệp mà không có gì và giữ tất cả các quyền trong chiến thuật.

Không phải nginx-speicific, nhưng Ngoài ra, hãy đảm bảo bạn đang chạy ứng dụng với tư cách là người dùng mà nó được cho là chạy. Nếu bạn từng chạy nó dưới quyền root, tất cả các quyền sẽ được sở hữu bởi root, vì vậy những người dùng khác sẽ không thể chạy nó.


Nó khác với việc sử dụng echo "" > /file/to/emptynhư thế nào? Cả hai có giống nhau không?
Gowtham Gopalakrish Nam

Điều đó nên giống nhau. Ngoài ra, bạn có thể bỏ qua tất cả mọi thứ khi bắt đầu và chỉ cần làm> /file/to/empty
Alex

5

Cách thông thường để xoay các bản ghi với NginX là đổi tên tệp và sau đó /etc/init.d/nginx reload. Máy chủ bắt đầu một tệp mới và bạn có thể làm những gì bạn muốn với tệp cũ.

Bạn cũng có thể thấy hữu ích khi chỉnh sửa cấu hình để không đăng nhập nhiều ....


2

hãy xem cấu hình nginx, kiểm tra xem máy chủ đang chạy như thế nào - theo phỏng đoán người dùng sẽ là nginx

vì thế :

chown nginx: /var/run/nginx.pid chown -R nginx: /var/log/nginx

Nên làm thủ thuật.


Nhưng tại sao nó lại hoạt động trước đây?
Blankman

1
Tôi nghi ngờ bởi vì bạn đã cố chạy nó với quyền root, và sau đó thử bắt đầu với script init của nó.
Geraint Jones

vâng, tôi luôn bắt đầu nó như thế, hmm ....
Blankman

nginx.conf nói: "dữ liệu www của người dùng"
Blankman

1

Xóa tệp error.log và nginx sẽ tự tạo.


Tôi đã xóa nó, sau đó khi tôi thử và bắt đầu nginx sẽ cung cấp cho tôi cùng một quyền bị từ chối lỗi trên tệp /var/log/nginx/error.log
Blankman

Xóa Nhật ký và khởi động lại Nginx. Nó sẽ tự động tạo Nhật ký.
WhiteHorse

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.