问题描述:

苍穹外卖的前端环境需要使用Nginx服务器。在部署Nginx服务器及在之后进行前后端联调的过程中,我总共遇到了三个问题,这三个问题出现的原因都在于Nginx配置端口与电脑运行原有程序端口产生冲突。

1. 启动Nginx后无反应。
2. Nginx启动后,网页闪退,localhost网页无法访问
3. Nginx启动后,运行SpringBootApplication.java报错
localhost网页打不开的问题页面


问题排查及解决方案:

出现类似问题可以按照以下步骤进行排查:

1. nginx的安装路径是否为纯英文?

如果是该问题,直接修改文件路径,粘贴至纯英文路径即可。

2. nginx的系统环境变量是否配置?

  1. 复制nginx所在文件路径。 打开设置 --> 系统 --> 高级设置 -->环境变量 --> 系统变量
  2. 在系统变量中找到Path,依次点击编辑 – >新建,将nginx路径粘贴进去。并将nginx路径不断上移,移到最前面即可。
  3. 验证配置是否成果:快捷键win+r,打开cmd,在cmd中输入命令nginx -v,如果出现nginx版本号信息等,则说明配置成功。
    系统变量添加nginx安装路径
    cmd中验证nginx版本,环境变量配置成功

3. 打开nginx文件夹下的nginx.conf文件,查找默认配置端口号。打开cmd查询对应端口号是否被占用。

通常nginx默认的端口号为80,但由于在windows服务已经有iis占用80端口号时,再运行nginx就会报错。所以需要将端口号改为其他,通常改为8080或者8081,或其他无服务占用的端口号。
更改nginx端口号步骤:

  1. 确认nginx当前端口号有无被占用,打开nginx.conf文件,找到当前监听端口号。在cmd中输入命令:netstat -ano | findstr <当前端口号> (例如80/8080/8081)确认是否被占用。如有占用可查看当前占用端口号的PID是什么程序。
  2. 如有占用,在nginx.conf中将监听端口号改为空闲端口号。此时重新运行nginx,如出现闪退正常,可直接在浏览器打开localhost页面。
    nginx.conf中配置端口号的位置
  1. 如果nginx可以打开,但是出现闪退情况,直接在浏览器输入网址:https://localhost:<对应端口号>。如果网址可以打开,则也可以正常运行。
    localhost成功打开

此时nginx即可正常代理。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐