log kesalahan nginx sangat besar, jadi saya menghapus dan membuat yang baru, sekarang nginx tidak akan memulai


11

Saya menghapus file /var/log/nginx/error.log , dan kemudian membuat yang baru menggunakan:

sudo nano error.log

Melakukan ls -lamenunjukkan bahwa error.log dan access.log memiliki izin yang sama.

Ketika saya mencoba dan memulai nginx saya mendapatkan kesalahan:

waspada: tidak dapat membuka file log kesalahan: open () "/var/log/nginx/error.log" gagal dinyatakan.

Memperbarui

Ketika mencoba memulai nginx, saya juga melihat:

emerg: /var/run/nginx.pid gagal 13: izin ditolak.

Jawaban:


25

Ini tidak menyelesaikan masalah Anda, tetapi di masa depan, jika Anda melakukannya

cat / dev / null> / file / you / want / to / wipe-out

Anda akan menyalin isi file tanpa apa-apa, dan tetap menjaga semua izin.

Bukan nginx-speicific, tetapi Selain itu, pastikan Anda menjalankan aplikasi sebagai pengguna yang seharusnya dijalankan. Jika Anda pernah menjalankannya sebagai root, semua izin akan dimiliki oleh root, sehingga pengguna lain tidak akan dapat menjalankannya.


Apa bedanya dengan menggunakan echo "" > /file/to/empty? Apakah keduanya sama?
Gowtham Gopalakrishnan

Itu harus sama. Selain itu, Anda dapat meninggalkan semua hal di awal dan lakukan saja> /file/to/empty
Alex

5

Cara biasa untuk memutar log dengan NginX adalah mengubah nama file, dan kemudian /etc/init.d/nginx reload. Server memulai file baru, dan Anda dapat melakukan apa yang Anda inginkan dengan yang lama.

Anda juga mungkin merasa berguna untuk mengedit konfigurasi untuk tidak login sebanyak ....


2

lihatlah di nginx config, periksa siapa server yang menjalankannya - pada perkiraan pengguna akan nginx

jadi:

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

Sebaiknya lakukan triknya.


tapi mengapa itu berhasil sebelumnya?
Blankman

1
Saya curiga karena Anda mencoba menjalankannya sebagai root, dan kemudian mencoba memulainya dengan skrip init-nya.
Geraint Jones

baik saya selalu memulainya seperti itu, hmm ....
Blankman

nginx.conf mengatakan: "user www-data"
Blankman

1

Hapus file error.log dan nginx akan membuatnya sendiri.


saya menghapusnya, kemudian ketika saya mencoba dan memulai nginx adalah memberi saya izin ditolak kesalahan yang sama pada file /var/log/nginx/error.log
Blankman

Hapus Log dan mulai ulang Nginx. Ini akan secara otomatis membuat Log.
WhiteHorse

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.