Nginx下同域部署多个Vue项目(history路由模式),报404、500错误

2023-11-08

一、环境

系统: windows
nginx: 1.20.2
nodejs: v10.24.0
npm: v6.14.11
@vue/cli: 4.5.13

二、问题描述

新建Vue项目的时候,如果选择hash模式的话,地址上都会带一个#号,本人嫌太丑,选择了history模式,到了部署项目的时候,刚好又需要多个项目部署在一起。部署完发现:① js、css文件找不到、② 页面报404、③ 页面报500。

三、问题解决

1、修改vue项目中的vue.config.js文件

a项目增加以下内容:

module.exports = {
	...	// 其他内容省略

    publicPath: process.env.NODE_ENV === 'production' ? '/a' : '/',    // production 正式环境,development 开发环境

};

b项目增加以下内容:

module.exports = {
	...	// 其他内容省略

    publicPath: process.env.NODE_ENV === 'production' ? '/b' : '/',    // production 正式环境,development 开发环境

};

2、修改Nginx的nginx.conf配置文件

    server {
        listen       12345;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;      # 只能有一个root,可以有多个alias
            index  index.html index.htm;
            #下面这一句是重点,意思就是将地址都导向index.html
            try_files $uri $uri/ /index.html;
        }
		
		location /a {    # a项目
			alias html/a;
			index index.html index.htm;
			#下面这一句是重点,意思就是将地址都导向index.html
			try_files $uri $uri/ /a/index.html;
		}
		
		location /b {    # b项目
			alias html/b;
			index index.html index.htm;
			#下面这一句是重点,意思就是将地址都导向index.html
			try_files $uri $uri/ /b/index.html;
		}



        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }

3、Nginx目录结构

在这里插入图片描述
好了,这样配置好后就可以解决以上所有的问题了。

在这里插入图片描述

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

Nginx下同域部署多个Vue项目(history路由模式),报404、500错误 的相关文章

随机推荐

  • 4个快速查找Linux历史命令的技巧(history)

    history 法1 光标上下键 法2 ctrl r 输入某条命令的关键字 找出来对应的命令 按右光标键 法3 数字 执行历史命令中第N条命令 法4 字符串 搜索历史命令中最近一个以xxxx字符开头的命令 例如 vim
  • C练题笔记之:Leetcode-307. 区域和检索 - 数组可修改

    题目 给你一个数组 nums 请你完成两类查询 其中一类查询要求 更新 数组 nums 下标对应的值 另一类查询要求返回数组 nums 中索引 left 和索引 right 之间 包含 的nums元素的 和 其中 left lt right
  • Rust- 多线程

    Rust s standard library provides support for native threads with its std thread module allowing you to run code in paral
  • CGI的编译和执行

    g DDOCUMENT ROOT var www test o cgi bin suphp cgi install suphp cpp lcrypt chmod 4711 cgi bin suphp cgi service httpd re
  • 简要介绍

    神经辐射场 NeRF 原理 挑战与未来展望 1 背景介绍 随着深度学习和计算机图形学的不断发展 人工智能和图形学领域的交叉研究越来越多地受到关注 神经辐射场 NeRF 是其中一个极具潜力的研究方向 它结合了计算机图形学和深度学习 旨在通过神
  • 一秒钟变身明星:用swapface软件体验星光熠熠的感觉!

    你是否曾经想过能够用电脑或手机来实时地将自己的面部与其他人或角色进行交换 你是否曾经想过能够用一款简单易用的软件来制作出有趣或惊艳的面部交换直播 视频或图片 如果你的答案是肯定的 那么你一定要试试swapface软件 这是一款由Swapfa
  • 广元市2021年度专业技术人员公需科目 自动考试python selenium自动化

    def sou a for q in range 5 10次 browser get a time sleep 3 browser switch to default content bo browser find element by i
  • keil调试warning和error

    STM32 逻辑错误 1 若要用引脚重映射 一定要把该引脚原来的功能DISABLE 不然永远都没有想要的结果 例如 将TIM4 CH1映射到PB4 PB4原功能是JRST 因此需要调用 GPIO PinRemapConfig GPIO Pa
  • Xshell配置ssh免密码登录-密钥公钥(Public key)

    为什么80 的码农都做不了架构师 gt gt gt 1 简介 ssh登录提供两种认证方式 口令 密码 认证方式和密钥认证方式 其中口令 密码 认证方式是我们最常用的一种 这里介绍密钥认证方式登录到linux unix的方法 使用密钥登录分为
  • OpenLDAP源码安装及配置管理

    OpenLDAP源码安装 下载OpenLDAP源码 http www openldap org software download ftp ftp openldap org pub OpenLDAP openldap release tgz
  • Linux(centos8)用户管理

    添加用户 添加用户 useradd user 查看用户 id user 修改用户密码 需要root权限 passwd user 可以直接修改当前用户密码 passwd 查看用户密码保存文件 cat etc passwd 在这里插入代码片 查
  • MDK Error #550解决方案

    Error 550 Requested device STM32F302R8Tx STMicroelectronics not found 这个报错是因为我们没有安装pack包 解决方法如下 5条消息 Keil STM32F3xx DFP
  • JavaScript 逆向调试技巧

    前段时间尝试对某音的 PC 端进行了逆向 目前已经全部逆向出来了 在这里总结下一些调试技巧和总结 本文不会涉及任何的详细代码 仅仅是作为技术来讨论 一 加密分析 在这里以账户下的视频列表为例 可以看到 在 dy 中 加密的 JS 是 web
  • 快捷给UE4项目改名

    很多时候我们对一个工程随意地起了一个随意的名字 这很常见 如果我们想要后面修改整个项目的名字 似乎应该是一件简单的事情 但是这个过程充满了陷阱 如果做错了 您可能会无意间破坏您的项目 手动的做当然是一件非常困难的事情 尤其是对于C 的项目
  • 积分商城游戏化运营?积分游戏应该如何正确设置

    积分商城是一种可以通用获得积分在其中获得礼品的线上商城 这种商城可以起到拉取新用户的作用 帮助企业以及商家带来更多的新用户 因此 一些企业和商家在进行营销的时候都选择这种方法 一般情况下 企业和商家搭建了自己的积分商城之后 就会设置一些积分
  • js 数组过滤操作 过滤两组数组相同的 id

    过滤两组数组相同的 id const arr1 id 145 firstname dave lastname jones id 135 firstname mike lastname williams id 148 firstname bo
  • Zookeeper 的下载安装

    文章目录 一 下载 二 解压 1 在解压后的 bin 目录下 新增两个文件夹 2 在 conf 下 将 zoo sample cfg 复制一份 重命名为 zoo cfg 3 修改 zoo cfg 三 测试 1 启动服务端 2 启动客户端 3
  • Git下载和Git常用命令

    下载git 要下载和安装 Git 请按照以下步骤进行操作 1 访问官方网站 打开 Git 官方网站 https git scm com 2 下载 Git 安装程序 3 选择适用于你的操作系统的下载链接 Git 支持多个操作系统 包括 Win
  • SpringFramework核心技术一(IOC:基于Java的容器配置)

    Bean和 Configuration Spring新的Java配置支持中的中心构件是 Configuration注释类和 Bean注释方法 一 基本概念 Bean和 Configuration Spring新的Java配置支持中的中心构件
  • Nginx下同域部署多个Vue项目(history路由模式),报404、500错误

    主要内容 一 环境 二 问题描述 三 问题解决 1 修改vue项目中的vue config js文件 2 修改Nginx的nginx conf配置文件 3 Nginx目录结构 一 环境 系统 windows nginx 1 20 2 nod