nginxエラーログは巨大だったので、削除して新しいものを作成しましたが、nginxは起動しません


11

/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が失敗しました13:許可が拒否されました。

回答:


25

これで問題は解決しませんが、将来的には

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

ファイルの内容を何もコピーせずにコピーし、すべての権限をそのまま維持します。

nginx固有ではありませんが、さらに、実行することになっているユーザーとしてアプリケーションを実行していることを確認してください。これをrootとして実行した場合、すべての権限はrootが所有するため、他のユーザーは実行できません。


使用とはどう違いecho "" > /file/to/emptyますか?両方とも同じですか?
ゴーサムゴパラクリシュナン

それは同じでなければなりません。さらに、最初はすべてのものを省いて、そのままにすることができます> /file/to/empty
アレックス

5

NginXを使用してログをローテーションする通常の方法は、ファイルの名前を変更してからを押すことです/etc/init.d/nginx reload。サーバーは新しいファイルを開始し、古いファイルで希望することを実行できます。

また、設定を編集して、あまりログに記録しないようにすると便利な場合があります。


2

nginxの設定を見て、サーバーが誰として実行されているかを確認してください-ユーザーはnginxになります

そう :

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

トリックを行う必要があります。


しかし、なぜ以前は機能していたのですか?
ブランクマン

1
rootとして実行しようとした後、initスクリプトを使用して起動しようとしたためと思われます。
ジェランジョーンズ

まあ私はいつもそのようにそれを開始します、うーん..
ブランクマン

nginx.confは言う:「ユーザーwwwデータ」
ブランクマン


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.