如何将多个vue项目部署至同一个域名下

因为自己写的博客网站前后台有两个vue项目,所以想把他放置在一个域名下;而且前后台还是用的不同的组件库(Element-ui、Iview)甚至是不同版本的vue-cli。晕(((φ(◎ロ◎;)φ))),好了不说了我现在把配置的步骤记录下来。

1、配置路由

// 部分路由配置代码 
// vue-cli 2.96
export default new Router({
  mode: 'history', // 设置路由模式
  base: 'app', // 这里设置的是部署在子站点的名字
  routes: [
    {
      path: '/',
      redirect: '/index'
    }
  ]
})
// @vue/cli 4.0.5
// 这里使用的是vue-template-admin后台模板内的router.js
// 配置基本一致
const createRouter = () => new Router({
    mode: 'history',
    base: 'admin',
    scrollBehavior: () => ({ y: 0 }),
    routes: constantRoutes
})

2、配置config/index.js

@vue/cli3.0之后的可以在根目录新建一个vue.config.js文件进行配置

// vue-cli 2.96
module.exports = {
  dev: {

    // Paths
    assetsSubDirectory: 'static',
    assetsPublicPath: '/app/', // 配置这里,原理跟上面的路由配置类似
    proxyTable: {},
  }
 // 省略下面代码
}

// @vue/cli 4.0.5
module.exports = {
  publicPath: '/admin/', // 因为我用的是模板,人家表明了是要改这个(*^_^*)
  outputDir: 'dist',
  assetsDir: 'static',
}

这之后就是将需要部署的项目进行打包了~
3、nginx
重头戏来了!!

  1. 下载,推荐下载中间那个稳定版
    nginx下载地址
  2. 将下载好的文件解压至你需要放置的文件目录下,然后在当前文件夹下打开命令行窗口。
  3. 基本命令
    启动服务:start nginx
    停止服务:nginx -s stop nginx -s quit
    修改配置后重新加载生效:nginx -s reload
    查看nginx版本:nginx -v
  4. 如果你在启动服务的过程中屏幕就闪了一下,没什么反应,可以先任务管理器看一下服务有没有启动,或者直接去下logs下的error文件内查看原因,最常见的是端口号占用,因为我写的node.js监听的就是80端口,说下这种情况怎么解决:先打开conf/nginx.conf文件,修改成如下,我这里修改成的是8080:
    nginx成功启动服务后进行下一步
    4、配置nginx

首先将dist(vue打包后的项目文件)放置在指定的文件夹内,这里推荐放置在nginx目录下的html文件夹内。

我是这么放的,嘿嘿。
然后打开conf/nginx.conf文件,在server对象内添加

	location / {
	    root html;
            index  index.html index.htm;
	    try_files $uri $uri/ /index.html;
        }
	location /admin/ {
            alias html/admin/;
            index  index.html index.htm;
	    try_files $uri $uri/ /admin/index.html;
        }

然后就可以通过域名、域名+子站点访问指定内容了!
参考博客:
nginx同域名下部署多个vue项目
nginx同一域名下部署多个vue项目

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Nginx上部署多个Vue项目,你可以按照以下步骤进行操作: 1. 首先,确保你已经安装了Nginx。如果尚未安装,请根据你的操作系统的要求进行安装。 2. 在Nginx的配置文件夹中创建一个新的配置文件,比如 `/etc/nginx/conf.d`。在该文件夹中创建一个名为 `myproject.conf` 的文件,用于配置你的项目。 3. 打开 `myproject.conf` 文件,并输入以下内容: ``` server { listen 80; server_name your_domain.com; // 替换为你的域名或IP地址 location /project1 { alias /path/to/project1/dist; // 替换为第一个Vue项目的dist目录路径 try_files $uri $uri/ /project1/index.html; } location /project2 { alias /path/to/project2/dist; // 替换为第二个Vue项目的dist目录路径 try_files $uri $uri/ /project2/index.html; } // 可以继续添加其他项目的配置 error_page 404 /index.html; } ``` 上述配置中,我们使用了 `alias` 指令将每个项目的 `dist` 目录映射到对应的路径。`try_files` 指令用于处理路由请求,确保能够正确访问到每个Vue项目的路由。 4. 保存并关闭文件。 5. 检查配置文件是否存在语法错误:执行 `nginx -t` 命令。 6. 如果没有错误,重新加载Nginx配置文件:执行 `sudo service nginx reload`(根据你的操作系统和Nginx安装方式可能会有所不同)。 7. 确保你的域名或IP地址正确解析到服务器,并尝试访问 `http://your_domain.com/project1` 和 `http://your_domain.com/project2`,应该能够分别访问到两个Vue项目。 按照上述步骤,你可以配置Nginx来部署多个Vue项目。你可以根据需要添加更多的项目配置。在配置完成后,确保每个项目的 `dist` 目录已经构建并位于正确的路径上。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值