Nginx は、リロード中に nginx 構成ファイルを設定したにもかかわらず、デフォルトのエラー ログ ファイルを開こうとします。質問する

Nginx は、リロード中に nginx 構成ファイルを設定したにもかかわらず、デフォルトのエラー ログ ファイルを開こうとします。質問する

以下は私のnginx設定ファイルです。/etc/nginx/nginx.conf

user Foo;
worker_processes 1;

error_log /home/Foo/log/nginx/error.log;
pid /home/Foo/run/nginx.pid;

events {
    worker_connections 1024;
    use epoll;
}

http {
    access_log /home/Foo/log/nginx/access.log;

    server {
        listen 80;

        location = / {
            proxy_pass http://192.168.0.16:9999;
        }
    }
}

ご覧のとおり、ログ、pid ファイルの場所をホーム ディレクトリに変更します。

再起動するとLinux動作するようです。Nginx設定したファイルと pid ファイルにもエラー ログが記録されます。

ただし、試行するとnginx -s reload、別のエラー ログ ファイルを開こうとします。

nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
2015/12/14 11:23:54 [warn] 3356#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
2015/12/14 11:23:54 [emerg] 3356#0: open() "/home/Foo/run/nginx.pid" failed (13: Permission denied)
nginx: configuration file /etc/nginx/nginx.conf test failed

権限エラーはこれで解決できますが、ここでの主な問題は、Nginx が開こうとするsudoエラー ログ ファイル ( ) です。/var/log/nginx/error.log

なぜ別のエラー ログ ファイルにアクセスしようとするのでしょうか?

ベストアンサー1

それを発射する必要があるかもしれませんsudo

sudo nginx -t

おすすめ記事