部署在服务器上的静态资源二次刷新404
当你在前端 Vue 项目中路由使用 createWebHistory
后,一套默认操作流程安装好nginx后,在 /etc/nginx 中找到 nginx 的配置文件,只修改端口和静态资源文件地址,重启 nginx 服务后可以在浏览器中正常访问,但当页面打开后二次刷新,网站将报错404。
环境
本人服务器上的系统:Centos8
Nginx version:nginx/1.14.1
问题描述
在安装配置好的服务器上使用Nginx部署静态网站后,一次意外不得已服务器重启,待服务器恢复运行后便无法访问部署的网站,经检查配置文件应该是丢失了被生成了一个新的配置文件,然后在修改相应的配置后,网站可以正常浏览,进行二次刷新后出现了问题,二次刷新网站直接报错404,重新打包上传静态资源问题依旧,确认网站的路由使用的history模式。
解决方法
- 尝试创建一个新的默认nginx.conf文件,按照需求进行修改,在启动时使用此配置文件启动,若问题解决说明原来的配置文件出现了问题;
- 观察配置文件中有没有使用
try_files $uri $uri/ /index.html;
如下,若没有使用则会造成在二次刷新的时候出现404问题。
server {
listen 你的端口;
# listen [::]:80 default_server;
server_name apple_index;
root 你的静态资源路径;
index index.html index.htm;
try_files $uri $uri/ /index.html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
try_files $uri $uri/ /index.html;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
最后
讲真的,做好数据备份很重要,强制重启服务器不知道会损坏什么正在运行的服务QAQ!!! 万不得已,千万不要乱搞!
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员Sanjin
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果