Ruoyi-vue-pro Vue + nginx 二级目录部署到云服务器

本文详细介绍了如何在Vue项目中通过二级域名部署,包括配置router的base、vue.config.js的publicPath,打包dist文件,以及Nginx的location块配置。重点强调了正确设置URL路径以确保静态资源的加载和页面的正常访问。
摘要由CSDN通过智能技术生成

·http://www.your-server.com/ 这是一级目录,由于项目多,一般会通过二级域名http://oa.your-server.com/或二级目录http://www.your-server.com/oa来发布,本篇记录一下二级目录发布。先看效果

1、router/index.js配置base

        

export default new Router({
  base: "/oa",
  mode: 'history', // 去掉url中的#
  scrollBehavior: () => ({y: 0}),
  routes: constantRoutes
})

 2、vue.config.js 配置 publicPath

    .env.prod 配置

# 后端API 转发uri
VUE_APP_BASE_API = '/oa/api'

# 二级目录配置
PUBLIC_PATH = '/oa'

    vue.config.js 配置

module.exports = {
  // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上
  publicPath: process.env.PUBLIC_PATH ? process.env.PUBLIC_PATH : '/',
  // 在npm run build 或 yarn build 时 ,生成文件的目录
  outputDir: 'dist/oa',
  // 用于放置生成的静态资源 (js、css、img、fonts)目录, 相对于 outputDir
  assetsDir: 'static',

}

3、vue 项目打包

npm run build:prod

4、将生成目录dist打包为dist.zip上传到服务器目录/home/,并完成解压

        

[root@hcss-ecs home]# ll dist
total 4
drwxr-xr-x 5 root root 4096 Apr  6 21:51 oa
[root@hcss-ecs home]# ll dist/oa/
total 48
-rw-r--r-- 1 root root 14336 Apr  6 21:51 favicon.ico
drwxr-xr-x 2 root root  4096 Apr  6 21:51 html
-rw-r--r-- 1 root root 11038 Apr  6 21:51 index.html
-rw-r--r-- 1 root root  3601 Apr  6 21:51 index.html.gz
drwxr-xr-x 3 root root  4096 Apr  6 21:51 libs
-rw-r--r-- 1 root root    26 Apr  6 21:51 robots.txt
drwxr-xr-x 6 root root  4096 Apr  6 21:51 static
[root@hcss-ecs home]# 

5、配置Nginx

        location / { ## nginx 默认配置
            root   /usr/share/nginx/html/;
            index  index.html index.htm;
            try_files $uri $uri/ /index.html;
        }

        location /oa { ## 前端oa项目
            # root   /usr/share/nginx/html/;
            root    /home/dist/;
            index  index.html index.htm;
            try_files $uri $uri/ /oa/index.html; ## 重要!!!注意二级目录
        }

        location /oa/api/ { ## 后端项目 - 管理后台
            proxy_pass http://localhost:48080/;  ## 重要!!!设置为后端项目所在服务器的 IP
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

6、重启nginx 服务

service nginx restart

7、启动成功!

        二级目录页面,点击浏览器刷新也能正常访问,发布成功。

        一级页面,nginx 默认页面正常展示

总结:

        几个关键的URL 不能错,不要多加/,可能会导致static页面无法加载,或刷新后页面发生不符合预期跳转。

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值