Nginx 部署 Vue 二级目录 500 错误

4 篇文章 0 订阅
3 篇文章 0 订阅
本文详细介绍了Vue项目如何在Nginx服务器上进行部署,包括简单环境下的直接部署和二级目录部署的配置方法。在遇到刷新页面出现500错误时,通过修改Nginx配置文件中的`try_files`指令可以解决该问题。同时,文章还提到了Vue项目的`history`模式路由设置和静态资源配置,确保在有二级目录的环境中正常运行。
摘要由CSDN通过智能技术生成

一、用Vue开发项目就少了部署到在Nginx的环境下,如果没有特殊的要求,域名或者主机名、IP都是直接的地址,没有子目录或者不是子域的话,那部署一般都很简单,基本下就按照一种根目录的转发就可以了。

server {
        listen  80;
        location / {
            root   /opt/nginx/html/myadd;
            #防刷新500错误
            try_files $uri $uri/ /index.html;
            index   index.html index.htm;
        }
                error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /app/nginx/html;
        }

       
        location ~ /.ht {
            deny  all;
        }
   }

直接页面刷且不出500错误,那只需要在 location / 中添加  try_files $uri $uri/ /index.html;  即可。

二、还有一种情况就是有具体的、特殊的要求,这种情况是用于特殊的环境,例如给政府、企事业、电信行业等单部署相关项目时就会有类似的要求。给你分配一个二级域名,或者给你一个二级目标。如:www.xxxxxx.com/yy/ 为你的项目根目录,那这种情况,往往会很麻烦,需要改动的东西也很多,除了生产环境、测试环境的配置的变化,还有代码级的更改,Vue需要启用“history"模式的 router ,另外还需要在router 里添加二级码为 根访问路径

这里需要注意的时,静太资源也需要做配置,一般都是在router.js 里添加二级目录

export default new Router({
  mode: 'history',
  base: '/yy',
  scrollBehavior: () => ({ y: 0 }),
  routes: constantRouterMap
})

静态资源、公共资源访问配置:


module.exports = {
  publicPath: '/yy/',
  outputDir: 'dist',
  assetsDir: 'static',
  lintOnSave: false,
  productionSourceMap: false,
   ......
}

好了,到目前为止,Vue的配置基本OK了。但现在把这个打包并部署到Nginx上后,一刷新就会出现 500错误,而且用原来的方式(try_files $uri $uri/ /index.html;)配置不起作用,现在只能配置成二级目录的路径才可以。配置如下: 

server {
        listen  80;
        location / {
            root   /opt/nginx/html/myadd;
            #二级目录防刷新500错误
            try_files $uri $uri/ /yy/index.html;
            index   index.html index.htm;
        }
                error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /app/nginx/html;
        }

       
        location ~ /.ht {
            deny  all;
        }
   }

好了,这样配置(try_files $uri $uri/ /yy/index.html;)好后就可以解决刷新500错误的问题了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值