![nginxのエラーログが大きかったので削除して新しいログを作成しましたが、nginxが起動しなくなりました](https://rvso.com/image/515030/nginx%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%83%AD%E3%82%B0%E3%81%8C%E5%A4%A7%E3%81%8D%E3%81%8B%E3%81%A3%E3%81%9F%E3%81%AE%E3%81%A7%E5%89%8A%E9%99%A4%E3%81%97%E3%81%A6%E6%96%B0%E3%81%97%E3%81%84%E3%83%AD%E3%82%B0%E3%82%92%E4%BD%9C%E6%88%90%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81nginx%E3%81%8C%E8%B5%B7%E5%8B%95%E3%81%97%E3%81%AA%E3%81%8F%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%97%E3%81%9F.png)
削除しましたエラーログファイルを作成し、次のコマンドを使用して新しいファイルを作成しました:
sudo nano error.log
行うことls -la
で、エラーログそしてアクセスログ同じ権限を持ちます。
nginx を起動しようとすると、次のエラーが発生します:
警告: エラー ログ ファイルを開けませんでした: open() "/var/log/nginx/error.log" が失敗しました。権限が拒否されました。
アップデート
nginx を起動しようとすると、次のメッセージも表示されます。
emerg: /var/run/nginx.pid が失敗しました 13: 権限が拒否されました。
答え1
これで問題は解決しませんが、将来的に
cat /dev/null > 消去したいファイル
ファイルの内容を何もせずにコピーし、すべての権限をそのまま維持します。
nginx に固有のものではありませんが、さらに、アプリケーションを、実行することになっているユーザーとして実行していることを確認してください。root として実行したことがある場合は、すべての権限が root によって所有されるため、他のユーザーは実行できなくなります。
答え2
NginX でログをローテーションする通常の方法は、ファイルの名前を変更して、 することです/etc/init.d/nginx reload
。サーバーは新しいファイルを開始し、古いファイルで好きな操作を行うことができます。
ログをあまり記録しないように設定を編集すると便利な場合もあります。
答え3
nginx の設定を見て、サーバーが誰として実行されているかを確認します。推測ですが、ユーザーは nginx です。
それで :
chown nginx: /var/run/nginx.pid
chown -R nginx: /var/log/nginx
うまくいくはずです。
答え4
error.log ファイルを削除すると、nginx によって自動的に作成されます。