nginx 文件意外结束,期待“;”或 /etc/nginx/sites-enabled/default 中的“}”:20 超过 Raspbian
nginx unexpected end of file, expecting ";" or "}" in /etc/nginx/sites-enabled/default:20 over Raspbian
我是 nginx 和 Raspberry 的新手。
我使用
安装了 nginx
sudo apt-get install
那时一切都很好。当我尝试重启nginx时问题来了,它抛出了这个错误
Job for nginx.service failed. See 'systemctl status ngins.service' and 'journaldtl -xn' for details
查了下发现问题出在下一个错误:
unexpected end of file, expecting ";" or "}" in /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 /
希望你能帮助我:)
如下更正您的 nginx 文件:
例如:
http {
upstream api-app {
.....................;
}
........................;
server {
location / {
...................;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
}
确保 ;
在行尾,{ ..}
正确。
因为@Thanh Nguyen Van 已经回答了。 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 / {
}
}
我遇到了同样的问题。
已确认服务器块 {...}
内新添加行的末尾缺少 ;
.
确保大括号和 ;
全部到位。
还要确保没有意外的引号(单引号或双引号)。当我使用 Docker 并将值作为环境变量传递时,我花了一段时间才弄明白,所以它被错误地引用了。
因此,这将是一个不正确的位:
upstream backend {
"server localhost:9000;"
}
这是正确的:
upstream backend {
server localhost:9000;
}
我的问题是由于缺少 ;
作为命令行参数之一的一部分。
我的日志供参考:
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
我的错误是我从 nginx
开始 CMD
通过 docker:
CMD ["nginx", "-g", "daemon off"]
我遗漏了尾随 ;
。我应该拥有的是:
CMD ["nginx", "-g", "daemon off;"]
以防万一它能帮助其他人。
我忘记在 {
之前加上 server
我是 nginx 和 Raspberry 的新手。
我使用
安装了 nginxsudo apt-get install
那时一切都很好。当我尝试重启nginx时问题来了,它抛出了这个错误
Job for nginx.service failed. See 'systemctl status ngins.service' and 'journaldtl -xn' for details
查了下发现问题出在下一个错误:
unexpected end of file, expecting ";" or "}" in /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 /
希望你能帮助我:)
如下更正您的 nginx 文件:
例如:
http {
upstream api-app {
.....................;
}
........................;
server {
location / {
...................;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
}
确保 ;
在行尾,{ ..}
正确。
因为@Thanh Nguyen Van 已经回答了。 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 / {
}
}
我遇到了同样的问题。
已确认服务器块 {...}
内新添加行的末尾缺少 ;
.
确保大括号和 ;
全部到位。
还要确保没有意外的引号(单引号或双引号)。当我使用 Docker 并将值作为环境变量传递时,我花了一段时间才弄明白,所以它被错误地引用了。
因此,这将是一个不正确的位:
upstream backend {
"server localhost:9000;"
}
这是正确的:
upstream backend {
server localhost:9000;
}
我的问题是由于缺少 ;
作为命令行参数之一的一部分。
我的日志供参考:
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
我的错误是我从 nginx
开始 CMD
通过 docker:
CMD ["nginx", "-g", "daemon off"]
我遗漏了尾随 ;
。我应该拥有的是:
CMD ["nginx", "-g", "daemon off;"]
以防万一它能帮助其他人。
我忘记在 {
server