web-dev-qa-db-ja.com

Nginxディレクトリ(21:ディレクトリです)

AWSLinuxでnginxを設定しようとしています。あるサイトで機能させることはできますが、別のサイトを追加しようとすると、次のエラーが継続的に発生します。

nginx: [crit] pread() "/home/ec2-user/public/sites/example.com" failed (21: Is a directory)

これは私の nginx.conf

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    include             /home/ec2-user/public/sites/*;
    default_type        application/octet-stream;

    include /etc/nginx/conf.d/*.conf;

    index   index.html index.htm;

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  localhost example.es www.example.es;
        root         /home/ec2-user/public/sites/es-example;

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

    server {
        listen       80;
        listen       [::]:80;        
        server_name  example.com www.example.com;
        root         /home/ec2-user/public/sites/en-example;

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }
}

両方のディレクトリexample.comおよびexample.es 一つ持っている index.html。両方のディレクトリの権限は次のとおりです。

-rwxr-xr-x 1 ec2-user ec2-user

何か案は?ありがとう!

1
David

問題はこの行にあります:

include             /home/ec2-user/public/sites/*;

上記のディレクティブは、追加の構成オプションをロード/インクルードするためにnginxによって使用されます。適切なnginx構成ファイルのみを下に配置する必要があります

/home/ec2-user/public/sites/

ディレクトリまたはサイト(コンテンツ)ファイルもそこに配置すると、nginxはそれらを含めることができなくなります。 nginxのドキュメントを確認してください

http://nginx.org/en/docs/ngx_core_module.html#include

4
M.B.