目录
[关于nginx 启动 后,在页面通过访问设置好的端口号,页面显示 404 的原因](#关于nginx 启动 后,在页面通过访问设置好的端口号,页面显示 404 的原因)
nginx启动失败
nginx 常常被用来反向代理服务器,作为前端和后端之前的请求(接口)的中转站。每当前端向后端发送请求时,都会先经过nginx服务器,拦截 最后转发给后端
使用nginx的几大场景
- 作为服务器,部署前端项目
- 统一访问端口
举一个例子:我们写的前端代码,每一个模块的端口号都不同的。比如商品管理,订单管理。但是对于用户来说,他们不在意这些端口号是8080还是8081,只希望记住一个的网址,就可以进入浏览。因此使用 统一访问端口号的好处在于,给用于提供一个简单,方便记忆的网址。而nginx 刚好是做这事的,可以设置统一端口号。
如图所示:

- 解决并发问题
举一个例子:关于并发问题,任何一个已经上线的项目或者软件 都在解决这个问题,一旦他们遇到并发问题,也可以说是这个项目已经开始盈利了。并发问题:大量用户同一时间访问同一个页面或者执行相同的操作时,造成页面卡顿,一部分人无法执行下一步操作甚至服务器崩溃。这受限于服务器访问人次或代码等因素。比如 你现在开发一个聊天软件,软件上线后同一时间有3000人次访问,假设服务器的访问量只能容纳2000人,超过的人无法访问,这就造成服务器崩溃,而nginx 可以恰好可以解决这一个问题。一旦你使用nginx 至少可以解决10多万的同时访问量
关于nginx 启动 后,在页面通过访问设置好的端口号,页面显示 404 的原因
- 首先关闭 当前 nginx 服务 ,防止 之后的操作对 重启nginx 服务操作影响
- 其次 使用管理员权限打开命令行,切换到nginx 的安装目录
1 nginx .conf 文件中你添加的设置,语法不对,需要修改
// 检查nginx .config文件,语法是否正常
nginx -t
1.1重点关注 root 对应的前端路径(前端代码所在的文件夹路径) 是否有格式问题

举一个例子:当你访问 http://localhost/index.html 时,nginx 会尝试读取 D:/nginx/html/index.html,但这个路径不存在,直接返回 404。
server {
listen 80; # 监听80端口
server_name localhost; # 访问域名
# 错误:实际前端文件放在 D:/nginx/static ,却写错成 D:/nginx/html
root D:/nginx/html;
location / {
index index.html;
}
}
1.2 index 指令问题:未配置默认首页
index 指令的作用是指定访问目录时默认加载的文件(比如 index.html、index.htm)。若未配置该指令,或配置的文件不存在,访问 http://localhost/(根路径)时,nginx 不知道该加载哪个文件,直接返回 404。

2 修改后,没有重新启动nginx 服务
2.1强制 关闭nginx 服务
taskkill /F /IM nginx.exe
2.2 查看nginx 服务是否存在
tasklist | findstr nginx
3 重启nginx 服务
在nginx 的安装目录通过命令,重启nginx
nginx -s reload
端口号被占用
端口号被占用的解决办法
背景:假设你后端服务器的端口号是32800 ,当你启动项目后,控制台日志显示 32800端口号被占用
1按Win+R,输入cmd并回车,查看 32800端口号对应的进程 ID (PID)
netstat -ano | findstr :32800
2 关闭 对应的进程
taskkill /f /pid 32800