我是nginx和Raspberry的新手。
我使用
安装了nginxsudo apt-get install
那时一切都很好。当我试图重新启动nginx时出现了问题,它抛出了这个错误
nginx.service的作业失败。有关详细信息,请参阅'systemctl status ngins.service'和'journaldtl -xn'
经过调查,我发现问题是下一个错误:
意外的文件结束,期待“;”或/ etc / nginx / sites-enabled / default中的“}”:20
我的默认文件是:
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
server {
#listen 80; ## listen for ipv4; this line is default and implied
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
listen 80;
server_name $domain_name;
root /var/www;
index index.html index.htm;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
# Make site accessible from http://localhost/
server_name localhost;
location /
我希望你能帮助我:)。
答案 0 :(得分:3)
location
,然后为服务器结束另一个大括号
server {
#listen 80; ## listen for ipv4; this line is default and implied
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
listen 80;
server_name $domain_name;
root /var/www;
index index.html index.htm;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
# Make site accessible from http://localhost/
server_name localhost;
location / {
}
}
答案 1 :(得分:2)
我有同样的问题。确认服务器块'{...}`中新添加的行末缺少;
。
确保花括号和;
都到位。
答案 2 :(得分:1)
更正您的nginx文件,如下所示:
例如:
http {
upstream api-app {
.....................;
}
........................;
server {
location / {
...................;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
}
确保;
位于行尾,{ ..}
正确。
答案 3 :(得分:1)
我的问题是由于缺少;
作为命令行参数之一的一部分。
作为参考,这是我的日志:
2020/08/11 17:19:25 [emerg] 1#1: unexpected end of parameter, expecting ";" in command line
nginx: [emerg] unexpected end of parameter, expecting ";" in command line
我的错误是我通过docker使用以下nginx
来启动CMD
:
CMD ["nginx", "-g", "daemon off"]
我缺少尾随;
的地方。我应该拥有的是:
CMD ["nginx", "-g", "daemon off;"]
以防万一,它可以帮助其他人。
答案 4 :(得分:0)
还要确保您没有意外的引号(单引号或双引号)。在我使用Docker并将值作为环境变量传递时花了我一段时间,所以它被错误地引用了。
因此,这将是不正确的位:
upstream backend {
"server localhost:9000;"
}
这是正确的:
upstream backend {
server localhost:9000;
}