/ var/log/nginx/error.logファイルを削除し、次を使用して新しいファイルを作成しました。
Sudo nano error.log
やっているls -la
は、error.logとaccess.logが同じ権限を持っていることを示しています。
Nginxを起動しようとすると、エラーが発生します。
アラート:エラーログファイルを開けませんでした:open() "/var/log/nginx/error.log"失敗した権限が拒否されました。
更新
Nginxを起動しようとすると、次も表示されます。
emerg:/var/run/nginx.pid failed 13:権限が拒否されました。
これはあなたの問題を解決しませんが、将来的には
猫/ dev/null>/file/you/want/to/wipe-out
ファイルの内容を何もコピーせずにコピーし、すべての権限をそのまま保持します。
Nginx特有ではありませんが、アプリケーションを実行することになっているユーザーとしてアプリケーションを実行していることを確認してください。これをrootとして実行したことがある場合、すべての権限はrootが所有するため、他のユーザーはそれを実行できません。
NginXでログをローテーションする通常の方法は、ファイルの名前を変更してから/etc/init.d/nginx reload
。サーバーは新しいファイルを開始し、古いファイルで希望どおりの操作を実行できます。
あまりログに記録しないように設定を編集すると便利な場合もあります。
nginxの設定を見て、サーバーが実行されている人を確認してください-ユーザーはnginxになると思います
そう :
chown nginx: /var/run/nginx.pid
chown -R nginx: /var/log/nginx
トリックを行う必要があります。
Error.logファイルを削除すると、nginxがそれ自体を作成します。
最初にファイルを削除してみてください。それが機能しない場合は、nobodyユーザーに適切な権限があることを確認してください。
http://derekneely.com/2009/06/nginx-failed-13-permission-denied-while-reading-upstream/