如何调试NGINX配置



我有一个NGINX配置文件,其中我添加了一个新的服务器块映射到一个新的NodeJS应用程序,我已经部署在8082上运行。最初只有第一个服务器块,它可以工作,但现在有了额外的服务器块,NGINX无法启动。

当我运行sudo service start nginxrestartreload代替start时;我得到下面的错误:


Job for nginx.service failed because the control process exited with error code.
See "systemctl status nginx.service" and "journalctl -xe" for details.

检查配置:


server{
root /var/www/html;
server_name domain1.com;
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.0-fpm.sock;
}
}
server {
server_name domain2.com;
location / {
proxy_pass http://localhost:8082; 
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}

我哪里做错了?

只是一个旁注,第一个服务器块已经在那里了,是由以前的开发人员添加的,domain1.com指向的应用程序仍然是活跃的,所以我不想篡改它。

当我运行journalctl -exe时,我得到下面的日志,我无法理解它:

May 30 09:24:15 prod-server kernel: [UFW BLOCK] IN=enp4s0f0 OUT= MAC=68:b5:99:71:0c:a6:00:06:f6:83:fc:a0:08:00 SRC=222.228.124.121 DST=41.75.115.142 LEN=44 TOS=0x00 PREC=0>
May 30 09:24:16 prod-server runsvc.sh[125206]: Starting Runner listener with startup type: service
May 30 09:24:16 prod-server runsvc.sh[125206]: Started listener process, pid: undefined
May 30 09:24:16 prod-server runsvc.sh[125206]: Runner listener fail to start with error spawn /home/cliffm/actions-runner/bin/Runner.Listener ENOENT
May 30 09:24:16 prod-server runsvc.sh[125206]: Runner listener exited with error code -2
May 30 09:24:16 prod-server runsvc.sh[125206]: Runner listener exit with undefined return code, re-launch runner in 5 seconds.
May 30 09:24:17 prod-server runsvc.sh[290543]: Starting Runner listener with startup type: service
May 30 09:24:17 prod-server runsvc.sh[290543]: Started listener process, pid: undefined
May 30 09:24:17 prod-server runsvc.sh[290543]: Runner listener fail to start with error spawn /home/cliffm/api-runner/bin/Runner.Listener ENOENT
May 30 09:24:17 prod-server runsvc.sh[290543]: Runner listener exited with error code -2
May 30 09:24:17 prod-server runsvc.sh[290543]: Runner listener exit with undefined return code, re-launch runner in 5 seconds.
May 30 09:24:17 prod-server kernel: [UFW BLOCK] IN=enp4s0f0 OUT= MAC=68:b5:99:71:0c:a6:00:06:f6:83:fc:a0:08:00 SRC=143.159.3.189 DST=41.75.115.142 LEN=44 TOS=0x00 PREC=0x0>
May 30 09:24:21 prod-server runsvc.sh[125206]: Starting Runner listener with startup type: service
May 30 09:24:21 prod-server runsvc.sh[125206]: Started listener process, pid: undefined
May 30 09:24:21 prod-server runsvc.sh[125206]: Runner listener fail to start with error spawn /home/cliffm/actions-runner/bin/Runner.Listener ENOENT
May 30 09:24:21 prod-server runsvc.sh[125206]: Runner listener exited with error code -2
May 30 09:24:21 prod-server runsvc.sh[125206]: Runner listener exit with undefined return code, re-launch runner in 5 seconds.
May 30 09:24:21 prod-server sshd[4083817]: error: kex_exchange_identification: Connection closed by remote host
May 30 09:24:21 prod-server sshd[4083817]: Connection closed by [i_have_hidden_my_ip_here] port 55618
May 30 09:24:22 prod-server sudo[4083818]:   cliffm : TTY=pts/9 ; PWD=/etc/nginx ; USER=root ; COMMAND=/usr/bin/journalctl -ex
May 30 09:24:22 prod-server sudo[4083818]: pam_unix(sudo:session): session opened for user root by cliffm(uid=1002)

修改配置后,在重启nginx之前最好检查配置的正确性:nginx - t

[root@disk ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

现在你也可以运行这个命令,它会显示错误在哪里。

或:

systemctl status nginx

或:

journalctl -u nginx

最新更新