当前位置: 首页 > wzjs >正文

凡科建站怎么做微网站做网站的服务器用什么系统

凡科建站怎么做微网站,做网站的服务器用什么系统,自己如何建一个网站,广西seo搜索引擎优化文章目录 Nginx 刷新后 404 的原因与解决方案静态资源路径问题(单页应用 SPA)解决方案:使用 try_files Nginx 资源路径 (root 或 alias) 配置错误示例:正确的 root配置 浏览器缓存或 Nginx 缓存影响清除浏览器缓存给静态资源加版本…

文章目录

  • Nginx 刷新后 404 的原因与解决方案
  • 静态资源路径问题(单页应用 SPA)
    • 解决方案:使用 try_files
  • Nginx 资源路径 (root 或 alias) 配置错误
    • 示例:正确的 root配置
  • 浏览器缓存或 Nginx 缓存影响
    • 清除浏览器缓存
    • 给静态资源加版本号
    • Nginx 关闭缓存
  • 反向代理 (proxy_pass) 配置错误
    • 示例:正确的反向代理
  • Nginx 日志分析
  • Nginx 配置变更后未重启
    • 解决方案
  • 总结


Nginx 刷新后 404 的原因与解决方案

最近,我负责上线一个新的前端平台,部署在 Nginx 上。最初访问时一切正常,但当我 刷新页面 时,却突然出现了 404 Not Found。这让我意识到,可能是 Nginx 的静态资源路径 出了问题。于是,我深入排查了这个 404 问题,并整理成这篇博文,希望能帮助遇到类似情况的朋友。

静态资源路径问题(单页应用 SPA)

如果 Nginx 用于托管 Vue、React、Angular 等前端单页面应用(SPA),刷新后 404 可能是因为 Nginx 直接查找 URL 对应的物理路径,而前端路由交由 JavaScript 处理

解决方案:使用 try_files

修改 nginx.conf,确保 location / 配置如下:

location / {root /var/www/html;index index.html;try_files $uri /index.html;
}

解释:

  • try_files $uri /index.html;:如果找不到请求的文件,则返回 index.html,前端路由框架再解析路径。
  • 适用于 Vue Router、React Router 这类 前端路由模式为 history 的情况。

Nginx 资源路径 (root 或 alias) 配置错误

如果 rootalias 路径错误,Nginx 找不到资源文件,导致刷新时返回 404。

示例:正确的 root配置

server {listen 80;server_name example.com;root /var/www/html;index index.html;location / {try_files $uri $uri/ /index.html;}
}

错误示例(容易导致 404):

location / {alias /var/www/html/;index index.html;
}

alias 不能直接用于目录,应使用 root


浏览器缓存或 Nginx 缓存影响

如果修改了 Nginx 配置,但仍然 404,可能是缓存问题。

清除浏览器缓存

Ctrl + Shift + R 或在开发者工具(F12)中 禁用缓存 后尝试刷新。

给静态资源加版本号

index.html 中修改引用的 JS/CSS:

<script src="/js/app.js?v=1.0.1"></script>

这样可避免缓存问题。

Nginx 关闭缓存

如果静态资源仍然被缓存,可在 nginx.conf 添加:

location / {add_header Cache-Control "no-cache, no-store, must-revalidate";
}

然后重启 Nginx:

systemctl restart nginx

反向代理 (proxy_pass) 配置错误

如果 Nginx 代理了后端 API(如 Node.jsPython Flask),刷新后 404 可能是因为请求路径未正确转发。

示例:正确的反向代理

location /api/ {proxy_pass http://backend_server:8080/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;
}

检查点:

  • 确保 backend_server:8080 服务可用。
  • proxy_pass 后必须带 /,否则会拼接路径导致 404。

错误示例(容易导致 404):

location /api {proxy_pass http://backend_server:8080;
}

这里 /api 缺少 /,会导致 http://backend_server:8080api/... 这样的错误路径。


Nginx 日志分析

如果以上方法仍未解决问题,可以查看 Nginx 访问日志错误日志 进行分析:

# 查看访问日志
tail -f /var/log/nginx/access.log# 查看错误日志
tail -f /var/log/nginx/error.log

如果错误日志中出现类似:

[error] 404 No such file or directory

说明请求的资源路径错误,可能需要检查 roottry_files 配置。


Nginx 配置变更后未重启

如果修改了 nginx.conf 但未生效,可能是 Nginx 未重新加载配置

解决方案

nginx -t   # 先测试配置是否正确
systemctl restart nginx  # 重启 Nginx

总结

问题解决方案
前端 SPA 应用(Vue/React)刷新 404try_files $uri /index.html;
Nginx rootalias 路径错误确保 root 指向正确的静态文件目录
浏览器缓存问题清除缓存、添加版本号、禁用 Nginx 缓存
反向代理 proxy_pass 404确保 proxy_pass 语法正确,后端服务可用
Nginx 配置修改未生效nginx -t 检查语法,systemctl restart nginx 重启

按照本文方法排查,相信可以快速找到 Nginx 刷新后 404 的真正原因,并顺利解决问题!

http://www.dtcms.com/wzjs/793208.html

相关文章:

  • 深圳网站优化运营怎么做网站描述
  • 做网站运维应该看的书wordpress一键变灰色
  • 龙岩网站建设有没有专门做游戏辅助的网站
  • 成都电商网站58同城通辽做网站
  • 西安市高新区建设规划局网站淮南网站制作
  • 网站建设厘金手指下拉12番禺网站建设策划
  • 福建建设厅安全员报名网站公司企业墙设计
  • 利用模板如何制作网站莱芜在线话题莱芜拉呱
  • html购物网站源代码莱芜在线论坛莱芜话题凤城高中
  • 网站都需要备案吗重生做皇帝小说网站
  • 一个完整的企业网站网站推广的作用是
  • 聊城网站建设费用新闻聚合网站开发 技术
  • 公司网站开发需要什么证书简单的企业网站
  • 有经验的顺德网站建设做网站得花多钱
  • 网站调用优酷视频去除广告iis如何做网站管理器
  • 微信公众号(网站建设)合同平台推广方案
  • 宠物网站开发文档编程培训心得
  • 互联网定制开发seo优化师是什么
  • 信阳企业网站建设公司程序开发过程的四个步骤
  • 网站的建设报价承德的网站建设公司
  • 做查询网站费用广州金融网站设计
  • 做网站背景图片网站色调红黑
  • 湖南平台网站建设推荐花乡做网站公司
  • 装饰公司网站模板下载织梦猫html5高端网络服务机构网站模板
  • 微信表情包制作网站网站必须要求备案吗
  • 娄底网站建设最专业做网站公司上海
  • 湛江网站的建设网页设计基础知识点
  • 手机端网站的建设昆明搜索引擎推广
  • 微信对接网站seo公司软件
  • 网站制作 深圳有什么公司在长沙阳光医院做网站编辑