然而,启动nginx失败,我的日志显示:
[emerg] 55#55: "server" directive is not allowed here in /etc/nginx/nginx.conf:1
我做错了什么?不确定它是否重要,但这是在一个docker容器内。
答案 0 :(得分:1)
/etc/nginx/nginx.conf
不是存储服务器设置的地方。此文件应包含有关将在其下运行的用户和其他全局设置的信息。通常它会包含这样的东西:
user www-data;
worker_processes 4;
pid /run/nginx.pid;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
server_tokens off;
client_max_body_size 500M;
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
您应该将个人服务器设置放在/etc/nginx/sites-enabled/
中。如您所见,该文件夹中的所有文件都包含在http
文件的nginx.conf
块中。
因此,存储您在/etc/nginx/sites-enabled/some-random-name.conf
内发布的示例配置,并将nginx.conf
文件恢复为我上面发布的配置,您应该很高兴。
答案 1 :(得分:0)
首先尝试调试
sudo nginx -t
如果通过但nginx重新启动失败,请尝试检查 您的nginx记录了缩小错误的范围
/var/log/nginx/error.log