Usunąłem /var/log/nginx/error.log plik, a następnie stworzył nową używając:
sudo nano error.log
Wykonanie ls -la
pokazuje, że error.log i access.log mają te same uprawnienia.
Kiedy próbuję uruchomić nginx, pojawia się błąd:
alert: nie można otworzyć pliku dziennika błędów: open () „/var/log/nginx/error.log” zezwolenie nie powiodło się.
Aktualizacja
Podczas próby uruchomienia nginx widzę również:
emerg: /var/run/nginx.pid nie powiodło się 13: odmowa uprawnień.
echo "" > /file/to/empty
? Czy oba są takie same?> /file/to/empty
Zwykłym sposobem obracania dzienników za pomocą NginX jest zmiana nazwy pliku, a następnie
/etc/init.d/nginx reload
. Serwer uruchamia nowy plik i możesz robić, co chcesz ze starym.Przydatna może być również edycja konfiguracji, aby nie rejestrować tyle ...
źródło
zajrzyj do konfiguracji nginx, sprawdź, kto działa jako serwer - domyślnie użytkownik będzie nginx
więc :
chown nginx: /var/run/nginx.pid
chown -R nginx: /var/log/nginx
Powinien załatwić sprawę.
źródło
Usuń plik error.log, a nginx sam go utworzy.
źródło
Najpierw spróbuj usunąć plik, jeśli to nie zadziała, sprawdź, czy nikt użytkownik nie ma odpowiednich uprawnień:
http://derekneely.com/2009/06/nginx-failed-13-permission-denied-while-reading-upstream/
źródło