1. ホーム
  2. ubuntu

[解決済み】Nginx: stat() に失敗しました (13: 権限が拒否されました)

2022-02-18 06:24:38

質問

ubuntu 12.04にnginxをインストールし、特定のディレクトリを追加しながらデフォルトの設定を使用しています。

server {
        #listen   80; ## listen for ipv4; this line is default and implied
        #listen   [::]:80 default ipv6only=on; ## listen for ipv6

        index index.html index.htm;

        # Make site accessible from http://localhost/
        server_name localhost;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to index.html
                root /username/test/static;
                try_files $uri $uri/ /index.html;
                # Uncomment to enable naxsi on this location
                # include /etc/nginx/naxsi.rules
        }
...

...
}

私は、そのディレクトリからファイルを提供するためのシンプルな静的nginxサーバーが欲しいだけです。しかし error.log なるほど

2014/09/10 16:55:16 [crit] 10808#0: *2 stat() "/username/test/static/index.html" failed (13: Permission denied), client:, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "domain"
2014/09/10 16:55:16 [error] 10808#0: *2 rewrite or internal redirection cycle while internally redirecting to "/index.html

すでに chown -R www-data:www-data について {コード に設定しました。 {コード . 他に設定する必要があるものがわかりません。

どのように解決するのですか?

Nginxはディレクトリ内で動作するため、もし /username/test/static をそのディレクトリに移動させると失敗します。 chmod 755 コマンドを実行します)。また {コード できる cd に至るまで {{コード . を確認することができます。 {コード を実行することで、失敗または成功します。

stat

あなたの場合、おそらく {コード ディレクトリが問題です。通常 {コード へのパーミッションがありません。 www-user を他のユーザーのホームディレクトリにコピーします。

この場合、最適な解決策は {コード に cd のグループです。

{{コード

を確認し /username/test/static グループは、パスに沿ったすべてのディレクトリに入ることができます。

stat

変更を有効にするために、nginx を再起動します。

sudo -u www-data stat /username/test/static