温馨提示×

怎样调试debian nginx

小樊
50
2026-09-09 13:36:54
栏目: 智能运维

在 Debian 上调试 Nginx,通常可以按下面几个层次来做:看状态 → 看日志 → 测配置 → 抓请求 → 查系统。


一、基础状态检查

1. 查看 Nginx 是否运行

systemctl status nginx

或

ps aux | grep nginx

2. 测试配置文件语法

nginx -t

常见错误:

  • duplicate location
  • unknown directive
  • SSL certificate error

二、查看日志(最重要)

1. 错误日志

tail -f /var/log/nginx/error.log

2. 访问日志

tail -f /var/log/nginx/access.log

如果日志为空,说明请求没到 Nginx(防火墙 / DNS / 端口问题)


三、确认监听端口

ss -tlnp | grep nginx

或

netstat -tlnp | grep nginx

常见端口:

  • 80(HTTP)
  • 443(HTTPS)

四、检查防火墙

UFW(Debian 常用)

ufw status

允许端口:

ufw allow 80
ufw allow 443

iptables(如无 UFW)

iptables -L -n

五、调试站点配置

1. 查看启用的站点

ls -l /etc/nginx/sites-enabled/

2. 临时开启 debug 日志

在 nginx.conf 或 server 块中:

error_log /var/log/nginx/error.log debug;

然后:

nginx -t
systemctl reload nginx

六、用 curl 本地测试

curl -I http://localhost
curl -v http://localhost

HTTPS:

curl -kv https://localhost

七、PHP / 反向代理常见问题

PHP-FPM

systemctl status php-fpm

检查:

fastcgi_pass unix:/run/php/php-fpm.sock;

反向代理

proxy_pass http://127.0.0.1:3000;

检查后端是否运行:

curl http://127.0.0.1:3000

八、SELinux(Debian 一般没开)

Debian 默认不用 SELinux,但可确认:

getenforce

九、常用排错命令汇总

nginx -t
systemctl restart nginx
tail -f /var/log/nginx/error.log
ss -tlnp | grep nginx
curl -v http://localhost

如果你愿意,可以告诉我:

  • 是 访问 404 / 502 / 403?
  • 是 HTTPS 不生效?
  • 还是 某个站点打不开?

我可以直接帮你定位具体原因。

0 踩