【前端部署】多个vue项目部署到Linux服务器

2023-11-09

【前端部署】多个vue项目部署到Linux服务器



前言

利用nginx将两个vue项目打包部署到服务器上,之前已在服务器上部署过单个项目, 此次在单个项目部署的基础上进行修改,并将两个项目布置在同一端口下。若有需要单个vue项目部署的,可查看下述链接:

【前端部署】vue项目打包并部署到Linux服务器


一、修改vue项目中配置

1.修改vue.config.js

打开vs code,打开第二个vue项目文件夹,打开文件夹下的vue.config.js文件,更改文件中的publicPath,将路径名字更改为自己想要的名字,我这里改为/test/,具体代码如下:

module.exports = {
  publicPath: "/test/",
  devServer:{
    host:"localhost",
    port:'8080',
    https:false,
    hotOnly:false,
    proxy:{
      "server":{
        target:"http://localhost:8080",
        ws:true,
        changeOrigin:true,
        pathRewrite:{
          '^/server':''
        }
      }
    }
  }
}

2.修改router文件下的index.js

在vue项目文件夹中找到router文件夹,打开文件夹中的index.js文件,修改文件中的base,具体代码如下:

export default new VueRouter({
  mode: 'history',//打包会出现问题
  base: '/test/', //这里也可以改为  base: process.env.BASE_URL,
  routes: [
  ]
})  

3.打包项目

在vs code终端中输入npm run build打包项目,将打包好的文件夹dist通过wincsp放入服务器中,具体步骤可查看文章【前端部署】vue项目打包并部署到Linux服务器

这里需要注意的是,若你将两个项目的dist文件夹都放在同一文件路径下,可以将文件夹名字改为自己想要的名字,这里我把第二个项目的dist文件夹名字改为test

二、修改nginx配置

打开服务器,找到nginx.conf文件并打开,我这里的文件路径是/usr/local/nginx/conf/nginx.conf

在原有基础上,添加第二个项目的location配置,注意添加location /test路径,具体代码如下:

#第二个项目
location /test {  
    alias   /home/vue/test;
    index  index.html index.htm;
    try_files $uri $uri/ @router;
}	

/home/vue/dist/home/vue/test是两个vue项目的文件夹路径,nginx.conf的全部代码如下:

user  root;
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    
    server {
        listen       8080;
        server_name  localhost;
        access_log  logs/host.access.log;
        error_log logs/error_log;
        #第一个项目
        location / {
            root   /home/vue/dist;
            index  index.html index.htm;
            try_files $uri $uri/ @router;
        }
        #第二个项目
        location /test {  
            alias   /home/vue/test;
            index  index.html index.htm;
            try_files $uri $uri/ @router;
        }	
	
        location @router {
	    rewrite ^.*$ /index.html last;
	    }
	    error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

三、重启nginx

打开终端,进入nginx的安装目录,我这里是/usr/local/nginx/sbin

cd /usr/local/nginx/sbin

先停止nginx服务

./nginx -s stop

检查nginx配置是否正确

./nginx -t

启动nginx服务

./nginx

或者重启nginx服务

./nginx -s reload

查看nginx状态

ps aux | grep nginx

nginx正常启动后,在服务器上的浏览器打开http://localhost:8080/test就可以进入第二个vue项目的界面,或者在其他电脑打开http://你的服务器ip:8080/test也可以进入界面。


总结

本文主要是同一端口下部署多个vue项目,多个vue项目也可以在不同端口下进行部署。欢迎指出错误~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【前端部署】多个vue项目部署到Linux服务器 的相关文章

随机推荐

  • VS无法定位程序输入点于动态链接库

    Qt系列文章目录 文章目录 Qt系列文章目录 前言 一 问题原因 前言 我们使用QtCreator创建的工程 使用visual studio 打开 前提是vs中安装了qt vsaddin msvc插件 VS无法定位程序输入点于动态链接库 一
  • 清除mac中自动记录的git用户名和密码

    应用程序 实用工具 双击钥匙串 右上角搜索github 右击选项删除
  • 陀螺研究院

    摘要 产业动态 由建行发起的价值30亿美元数字债券将推迟上市 15国正式签署RCEP 全球规模最大自贸协定达成 浙江省首个产业区块链赋能中心落地宁波江北 越南教育和培训部计划在2021年实施区块链技术颁发文凭 深圳市政务区块链专委会正式揭牌
  • pytorch代码实现之SAConv卷积

    SAConv卷积 SAConv卷积模块是一种精度更高 速度更快的 即插即用 卷积 目前很多方法被提出用于降低模型冗余 加速模型推理速度 然而这些方法往往关注于消除不重要的滤波器或构建高效计算单元 反而忽略了特征内部的模式冗余 原文地址 Sp
  • 图像处理(RGB分离)

    图像处理技术 RGB分离 最近学习了图像处理技术 第一个小工程做的事将一张图片的rgb分离 存为三张图片 就像PS中的RGB通道的三张图片一样 我们先准备两张24位真彩色图片 一张宽度像素为4的倍数 一张则不是 我们来看下它的文件头和信息头
  • js文字朗读

    var u new SpeechSynthesisUtterance function read text speed u text text u lang zh u rate speed speechSynthesis speak u
  • 游戏开发安卓知识杂谈系列:关于下载jdk

    想要下载jdk11 去oracle官网下载jdk 发现jdk13以下的版本需要账号登陆 但是去注册账号发现官网账号无法注册 找了半天 网上说Oracle自java SE 8的某个版本以后 需要进行付费才能下载 两个解决办法 找百度网盘或者第
  • webpack使用(5)之处理CSS

    一 需要引入的loader 1 style loader 主要负责创建style标签 并将标签塞入到文档中 2 css loader 主要负责css解析 3 less loader 负责解析less 二 如何引入css资源 1 安装配置st
  • 【数据结构】哈希表

    散列表 也叫哈希表 是根据关键码值而直接进行访问的数据结构 它通过把关键码值映射到表中一个位置来访问记录 以加快查找的速度 哈希表的核心是合适的hash函数 数据范围 解决冲突的办法 这里通过数字分析法设计哈希函数 链地址法解决从冲突 冲突
  • 2023华为OD机试真题【敏感字段加密/字符串风格】【2023.Q2】

    题目描述 给定一个由多个命令字组成的命令字符串 1 字符串长度小于等于127字节 只包含大小写字母 数字 下划线和偶数个双引号 2 命令字之间以一个或多个下划线 进行分割 3 可以通过两个双引号 来标识包含下划线 的命令字或空命令字 仅包含
  • 【机器学习】通俗易懂决策树(实战篇)python实现(为新患者找到合适的药物)

    决策树 我们将学习一种更流行的机器学习算法 决策树 我们将使用此算法从患者的历史数据以及他们对不同药物的反应大数据中 用训练过的决策树来构建分类模型预测未知患者的类别 或者说为新患者找到合适的药物 导入以下包 numpy as np pan
  • docker快速学习--容器的数据卷--04

    一 数据卷概念 数据卷是宿主机中的一个目录或文件 当容器目录和数据卷目录绑定后 对方的修改会立即同步 一个数据卷可以被多个容器同时挂载 一个容器也可以被挂载多个数据卷 二 数据卷作用 容器数据持久化 外部机器和容器间接通信 数据交互 容器之
  • python进阶--正则表达式(2)

    一 初识正则表达式 为了使计算机具有在文本中检索某种模式的能力 我们引入了正则表达式 正则表达式为高级的文本模式匹配 抽取或者文本形式的搜素和替换功能提供了基础 利用正则表达式能够匹配多个字符串 正则表达式的强大之处在于引入了特殊字符来定义
  • ajax工作原理 前后端交互流程

    一 前后端交互流程 1 服务器 提供某种服务器的机器 计算机 qq音乐 音频服务器 迅雷 文件服务器 qq邮箱 邮件服务器 爱奇艺 视频服务器 谷歌 web服务器 2 前端 访问 服务器的四种方式 1 直接在地址栏输入网址 网页会跳转 全局
  • Java Servlet 简单的登录代码

    需要的jar包 commons beanutils 1 8 0 jar druid 1 0 9 jar spring jdbc 5 0 0 RELEASE jar spring beans 5 0 0 RELEASE jar mysql c
  • C++(19)——智能指针shared_ptr

    shared ptr的概念 shared ptr实现共享式拥有 shared ownership 概念 多个智能指针可以指向相同对象 该对象和其相关资源会在 最后一个引用 reference 被销毁 时候释放 基本原理 智能指针是 几乎总是
  • MySQL数据库学习——SQL分类——DDL

    不能重复创建 可以用if not exists来避免这种情况 比如我要创建一个test的数据库 用if not exists系统就会创建 删除guzifenshisb这个数据库 使用数据库和查询数据库
  • Basic Level 1083 是否存在相等的差 (20分)

    题目 给定 N 张卡片 正面分别写上 1 2 N 然后全部翻面 洗牌 在背面分别写上 1 2 N 将每张牌的正反两面数字相减 大减小 得到 N 个非负差值 其中是否存在相等的差 输入格式 输入第一行给出一个正整数 N 2 N 10 000
  • protobuf

    https www jianshu com p 4b987ef826d3
  • 【前端部署】多个vue项目部署到Linux服务器

    前端部署 多个vue项目部署到Linux服务器 文章目录 前端部署 多个vue项目部署到Linux服务器 前言 一 修改vue项目中配置 1 修改vue config js 2 修改router文件下的index js 3 打包项目 二 修