多个vue项目部署到nginx服务器

文章目录

  • 需求
  • 一、项目打包
    • 1.vue.config.js
    • 2.request.js文件
    • 3.打包
  • 二、nginx配置


需求

同一个域名安装多个vue项目。

比如:域名为 https://domain.com + 后缀。那么通过不同的后缀就能去访问不同的项目地址。

https://domain.com,不加任何后缀,访问官网。

https://domain.com/admin,域名加上 /admin,就访问管理后台项。

https://domain.com/user,加上 /user,就访问用户端项目。

一、项目打包

需要注意的文件就两个。request.JS和vue.config.JS。

在env文件中设置VUE_APP_CONTEXT_PATH为/admin/

1.vue.config.js

module.exports = {// 部署生产环境和开发环境下的URL。// 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上// 例如 https://www.domain.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.domain.vip/admin/,则设置 baseUrl 为 /admin/。publicPath: process.env.VUE_APP_CONTEXT_PATH,//实际为/admin/// 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist)outputDir: 'dist',// 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下)assetsDir: 'static',......
}

2.request.js文件

在router文件夹中index.js文件中修改base为 ‘/admin/’

export default new Router({base: process.env.VUE_APP_CONTEXT_PATH, //调整这里,路径跟publicPath保持一致即可mode: 'history', // 去掉url中的#scrollBehavior: () => ({ y: 0 }),routes: constantRoutes
})

3.打包

1.执行npm run build。可能不一定为build,具体执行命令看package.json的下面这个字段 。

在这里插入图片描述

调整完毕后,直接执行build打包命令,可以发现index.html引入js路径增加了/admin

<script src=/admin/static/js/chunk-libs.c52f1d1f.js></script>
<script src=/admin/static/js/app.15183e6d.js></script>

2.将打包好的文件上传到服务器,一般存在于dist文件夹,具体文件夹位置看命令行的提示。
在这里插入图片描述

在服务器上找个文件夹直接丢上去。/www/wwwroot/XXXXXX(项目总域名名字)/app/XXXXX(单个项目名字)。不喜欢可自行发挥,尽量保证这些项目在同一文件下。

二、nginx配置

nginx配置服务,使不同请求地址,去找相应的项目。

我这里使用的宝塔部署(图省事)自己部署也是一样的。

server
{listen 80;server_name 这里填写你的域名;#重定向某个地址# 这个是第一个vue项目 页面访问地址 http://域名/location / {return 302 /admin/select;#我这里是重定向到/admin项目的select页面}
#正常部署第一个项目# 这个是第一个vue项目 页面访问地址 http://域名/location / {root   /www/wwwroot//dist;index  index.html;try_files $uri $uri/ /index.html;}# 这个是第二个vue项目 页面访问地址 http://域名/adminlocation /admin {alias /www/wwwroot/admin/dist;#这里是你的代码地址try_files $uri $uri/ /admin/index.html; #解决刷新404 这里的/admin和 location /admin 必须一致}# 这个是第三个vue项目 页面访问地址 http://ip:9001/userlocation /user {alias /www/wwwroot/user/dist;#这里是你的代码地址try_files $uri $uri/ /user/index.html; #解决刷新404 这里的/user和 location /user 必须一致}# 转发以 /prod-api 开头的请求到后端location /prod-api/ {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;proxy_pass http://127.0.0.1:8080/;}
}

注意:如果页面中有二级路由的话,配置文件中一定不能用root,要用alias.

注意如果你也如果配置文件中有一下内容请注释

    # location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$# {#     expires      30d;#     error_log /dev/null;#     access_log /dev/null;# }# location ~ .*\.(js|css)?$# {#     expires      12h;#     error_log /dev/null;#     access_log /dev/null;# }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1527552.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

使用宝塔面板安装mrdoc

使用宝塔面板安装mrdoc 1、所需环境2、ubuntu系统安装3、宝塔面板安装4、NginxPHPMySQL安装5、python项目管理器安装6、 python版本安装7、mrdoc的部署7.1、下载项目源码7.2、新建python管理器项目 8、使用MySQL作为默认数据库8.1、安装mysqlclient插件8.2、配置数据库连接信息…

设计表时的三大范式(MySQL)

设计表时的三大范式 什么是范式第一范式第二范式不满足第二范式的缺点数据冗余插入异常更新异常删除异常 第三范式 什么是范式 在表的设计中&#xff0c;范式是一种设计规范&#xff0c;用于更好的组织和管理数据。 设计数据表时的范式有第一范式1NF、第二范式2NF、第三范式3…

永远学习:为什么人工智能难以适应新挑战

理解深度学习的局限性并追求真正的持续适应 欢迎来到雲闪世界。 “智者适应环境&#xff0c;正如水适应水瓶。”——中国谚语 “适应或灭亡&#xff0c;现在和以往一样&#xff0c;是大自然的必然法则。”——赫伯特乔治威尔斯 近年来&#xff0c;人工智能取得了长足的进步。所…

认知杂谈54

I I 内容摘要&#xff1a; 这篇内容主要有以下几个要点&#xff1a;首先&#xff0c;沟通不在一个调时可学习人际交往心理学知识、线上课程及关注名师来改善。其次&#xff0c;挑房子、工作、搭档和人生伴侣要谨慎&#xff0c;找心灵相通能共同进步的人。再者&#xff0c;远离…

主窗口的设计与开发(二)

主窗口的设计与开发&#xff08;二&#xff09; 前言 在上一集当中&#xff0c;我们完成了主窗口的初始化&#xff0c;主窗口包括了左中右三个区域。我们还完成了对左窗口的初始化&#xff0c;左窗口包括了用户头像、会话标签页按钮、好友标签页按钮以及好友申请标签页按钮。对…

【英语】前缀 与 后缀

文章目录 前言一、表示否定二、表示方向1. 表示 "前"2. 表示 "后"&#xff0c;"回"3. 低&#xff0c;下4. 高&#xff0c;上&#xff0c;超出&#xff0c;向外5. 表示 “内” 总结参考文献 前言 进行英语前后缀的复习 一、表示否定 a-, ab- amo…

机器学习模型中的因果关系:引入单调约束

单调约束是使机器学习模型可行的关键&#xff0c;但它们仍未被广泛使用欢迎来到雲闪世界。 碳ausality 正在迅速成为每个数据科学家工具包中必不可少的组成部分。 这是有充分理由的。 事实上&#xff0c;因果模型在商业中具有很高的价值&#xff0c;因为它们为“假设”情景提…

【详解 Java 注解】

前言&#xff1a; 注解&#xff08;Annotation&#xff09;是Java中的一种特殊符号&#xff0c;用来为代码提供额外的信息。它不会改变程序的逻辑&#xff0c;只是用来给编译器或工具提供指示。例如&#xff0c;Override 表示一个方法是重写了父类的方法&#xff0c;Deprecated…

# AI企业是否会被国有化?——基于SB 1047法案的讨论与Anthropic创始人Dario Amodei访谈分析

随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;政府、企业和公众逐渐认识到AI的潜在影响力&#xff0c;尤其是在国家安全、经济竞争力以及社会变革等方面。近日&#xff0c;Anthropic创始人Dario Amodei在一档访谈中深入探讨了AI产业的未来发展&#xff0c…

python 中使用tkinter构建一个图片的剪切器-附源码

由于项目需要&#xff0c;需要构建一个间的软件&#xff0c;方便查看图片的剪切的位置&#xff0c;并对其中的图像进行分析&#xff0c;实现如下的功能 简单的UI加载图片剪切图片显示剪切后的图片 针对图片的内容进行识别 图片质量分析 前端的具体代码如下&#xff0c; 有需…

频谱分析仪和人工电源网络

安泰小课堂里面有详细的频谱分析仪的教程&#xff0c;可以学习&#xff1a; 【快速上手实操秘籍|频谱分析仪超详细基础操作|建议收藏】https://www.bilibili.com/video/BV1Wu4y197LW?vd_source3cc3c07b09206097d0d8b0aefdf07958 、、、、、、、、、、、、、、、、、、、、、…

Java 面试题:通过JProfile排查OOM问题 内存溢出与内存泄漏问题 --xunznux

文章目录 如何通过JProfile排查OOM或内存泄漏问题1、启动工具观测程序执行状态2、使用默认设置采样3、查看memory&#xff0c;Run GC无效4、查看 Live Memory发现两个byte大数组存在5、通过快照查看堆中的内存使用情况6、找到Full GC无法清除的对象通过大对象列表定位内存泄漏问…

Linux-【组管理、权限管理、定时任务调度】

目录 前言 Linux组基本介绍 文件/目录 所有者 查看文件 所有者 修改文件所有者 文件/目录 所在组 修改文件/目录 所在组 其它组 改变用户所在组 权限的基本介绍 rwx权限 rwx作用到文件 rwx作用到目录 修改权限 第一种方式&#xff1a;、-、变更权限 第二种方式…

openwrt的旁路模式无法访问国内网站

防火墙: 常规设置-> 区域&#xff1a; lan-> wan :编辑 IP 动态伪装:勾选

关于 QImage原始数据格式与cv::Mat原始数据进行手码数据转换 的解决方法

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/141996117 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

久久公益节||“携手万顺叫车一起做公益”

99公益日是由腾讯公益联合多家公益组织、企业及社会各界爱心人士共同举办的年度大型公益活动。随着99公益日的到来&#xff0c;同悦社工诚挚地邀请了万顺叫车一起参与今年的公益活动&#xff0c;共同为社会公益事业贡献力量。 在本次公益倡导活动中&#xff0c;万顺叫车将发挥其…

无人机飞控之光流知识小结

要完成飞行器的定位&#xff0c;则必须要有位置的反馈数据。在户外&#xff0c;我们一般使用GPS作为位置传感器&#xff0c;然而&#xff0c;在室内&#xff0c;GPS无法使用&#xff0c;要完成定位功能&#xff0c;可以选用光流传感器。 本讲主要介绍如何通过下视摄像头估计飞…

AtCoder ABC 359 F 题解

本题要看出性质并进行验证&#xff0c;程序难度低。&#xff08;官方 Editorial 似乎没有写证明过程&#xff1f;难道是过于显而易见了吗…&#xff09; 题意 给你一个数组 a a a&#xff0c;对于一棵 n n n 个节点的树 T T T&#xff0c; d i d_i di​ 为每个节点的度&am…

Gitness 基础安装

文章目录 Docker 安装注册账户创建项目导入已有仓库配置 Github Token同步源代码仓库 官方链接 Gitness was the next step in the evolution of Drone, from continuous integration to source code hosting, bringing code management and pipelines closer together. Gitnes…

八、Maven总结

1.为什么要学习Maven&#xff1f; 2.Maven 也可以配华为云和腾讯云等。 3.IDEA整合Maven 4.IDEA基于Maven进行工程的构建 5.基于Maven进行依赖管理&#xff08;重点&#xff09; 6. Maven的依赖传递和依赖冲突 7. Maven工程继承和聚合 8.仓库及查找顺序