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
何か案は?ありがとう!
問題はこの行にあります:
include /home/ec2-user/public/sites/*;
上記のディレクティブは、追加の構成オプションをロード/インクルードするためにnginxによって使用されます。適切なnginx構成ファイルのみを下に配置する必要があります
/home/ec2-user/public/sites/
ディレクトリまたはサイト(コンテンツ)ファイルもそこに配置すると、nginxはそれらを含めることができなくなります。 nginxのドキュメントを確認してください