记nginx启动无效问题

392 阅读3分钟

最近在nginx上加了些gzip 开启和设置nginx连接服务器时长问题,之后发现单击nginx.exe使用管路员权限打开,闪退后,没有进程。以下是排查错误步骤:

  1. 检查Nginx配置文件

    Nginx的配置文件通常位于/etc/nginx/nginx.conf,可以使用vim等编辑器打开进行查看。在配置文件中,需要检查以下几个方面:

    • 端口号是否正确:Nginx默认监听80端口,如果端口号被占用或者被修改了,就会导致启动失败。 - 日志文件路径是否正确:Nginx启动时会生成日志文件,如果路径不正确或者没有写权限,就会启动失败。
    • 配置语法是否正确:Nginx的配置语法比较严格,如果有语法错误,就会导致启动失败。
  2. 检查Nginx进程

    在启动Nginx时,会生成一个Nginx进程,可以使用ps命令查看进程是否存在。如果进程不存在,说明启动失败。可以使用以下命令杀死所有Nginx进程: sudo killall nginx 然后再尝试启动Nginx。

  3. 检查Nginx日志

    Nginx启动时会生成日志文件,可以查看日志文件来了解启动失败的原因。日志文件通常位于/var/log/nginx/目录下,可以使用以下命令查看最近的日志: sudo tail -f /var/log/nginx/error.log 如果日志中有错误信息,可以根据错误信息进行排查。

  4. 检查端口占用情况

    如果Nginx监听的端口被其他进程占用了,就会导致启动失败。可以使用以下命令查看端口占用情况: sudo netstat -tlnp | grep 80 如果端口被占用,可以使用以下命令查看占用端口的进程: sudo lsof -i :80 然后杀死占用端口的进程,再尝试启动Nginx。

  5. 检查防火墙设置

    如果服务器上启用了防火墙,需要检查防火墙设置是否允许Nginx的端口通过。可以使用以下命令查看防火墙设置: sudo iptables -L 如果防火墙设置不正确,可以使用以下命令添加规则: sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT 然后再尝试启动Nginx。

我的是window服务器,启动任务管理器-详细已有nginx.exe*32进程,说明是能正常开启,window防火墙也属于关闭状态,之前根据nginx 里logs里的error检查到报错信息为: unknown directive "" in C:\softproject\nginx-1.21.6/conf/nginx.conf:3 看了一篇写法都是正常的,结果后面发现是编码导致的,需要将UTF-8-BOM改成utf-8,之后启动成功。

之后为设置微信网页授权的回调地址,使用域名将此nginx部署(localhost:8089)转到80端口,发现显示路径显示打开回调地址显示# error 502错误。从logs文件夹下的error错误日志文本,显示# nginx启动报错:[error] 3412#2144: *49 CreateFile() "C:nginx-1.21.6\html\dist/homePa" failed (2: The system cannot find the file specified), client: 127.0.0.1, server: localhost, request: "GET /homePa HTTP/1.0", host: "服务器ip地址" 现在还没调整成功-已确认路径没有中文。