Dav*_*vid 3 linux nginx amazon-web-services
我正在尝试nginx在 AWS Linux 上进行配置。我可以让它在一个站点上工作,但是当我尝试添加另一个站点时,我不断收到以下错误:
nginx: [crit] pread() "/home/ec2-user/public/sites/example.com" failed (21: Is a directory)
Run Code Online (Sandbox Code Playgroud)
这是我的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 {
}
}
}
Run Code Online (Sandbox Code Playgroud)
这两个目录example.com并example.es有一个index.html。两个目录的权限如下。
-rwxr-xr-x 1 ec2-user ec2-user
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?谢谢!
小智 6
问题出在这一行:
include /home/ec2-user/public/sites/*;
Run Code Online (Sandbox Code Playgroud)
nginx 使用上面的指令来加载/包含其他配置选项。只应将适当的 nginx 配置文件放在
/home/ec2-user/public/sites/
Run Code Online (Sandbox Code Playgroud)
如果您还放置了目录或站点(内容)文件,nginx 将无法包含它们。请查看 nginx 文档
http://nginx.org/en/docs/ngx_core_module.html#include
| 归档时间: |
|
| 查看次数: |
11316 次 |
| 最近记录: |