nginx部署多个前端项目

news2024/12/22 18:22:52

前端采用vue框架,主要介绍在同一个ip+port下(或域名),通过访问不同的子路径部署多个项目

把前端打包好的项目直接放进 nginx/html 目录下面,

下面展示根据不同的路由模式的nginx配置👇

路由采用hash模式

浏览器访问的时候在url后面拼接上要访问的项目子路径即可,会由vue-router接管路由(hash模式),后面的路径跳转、资源访问的操作也都会在子路径下处理,nginx配置很简单。

nginx/nginx.conf 文件的部分配置如下:

server {
        listen        80;
        server_name   www.axample.com;
        #rewrite      ^ https://$server_name$request_uri permanent;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        # 在443端口配置里设置
        location / {
             root html;
             index index.html index.htm;
             try_files $uri $uri/ /index.html; # uri统一资源标志符
        }
}

浏览器访问:

  • https://www.axample.com/lily/ -> https://www.axample.com/lily/#/home
  • https://www.axample.com/mimosa/ -> https://www.axample.com/mimosa/#/home

路由采用的都是history模式

不同于 hash模式,History 模式需要服务器的支持,还是通过访问不同的子路径部署多个项目,当浏览器访问项目的时候,会把子路径带上去请求资源,存在找不到资源的情况,所以需要在应用路径和nginx配置上做修改。

1、router.js设置

new Router({
  mode: 'history',
  base: '/mimosa/', 
  routes,
});

base 是应用的基路径,默认值: “/”。

例如,如果整个单页应用服务在 /app/ 下,然后 base 就应该设为 /app/

2、vue.config.js修改publicPath

如果只修改了router的设置,没有修改publicPath,浏览器地址栏键入 https://www.axample.com/lily/ 首次进入由于vue-router设置的 redirect 会重定向到首页地址,正常显示网页,但是再次刷新的时候,浏览器请求的是重定向过后的地址,静态文件地址指向错乱,404一般来说就是配置和真实的路径不符合,需要指定try_files

publicPath: IS_PROD ? '/lily/' : '/',  // 公共路径

publicPath用法:

publicPath: 部署应用包时的基本 URL,用法和 webpack 本身的 output.publicPath 一致,

但是 Vue CLI 在一些其他地方也需要用到这个值,所以为了保持统一,直接修改 publicPath 而不要直接修改 webpackoutput.publicPath

  1. 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上,

例如 https://www.my-app.com/

  1. 如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。

例如,如果你的应用被部署在 https://www.my-app.com/my-app/,则设置 publicPath/my-app/

3、nginx设置

增加子应用的配置

# 443端口配置

location / {
  root html;
  index index.html index.htm;
  try_files $uri $uri/ /index.html;
}
location /lily {
  #alias /usr/local/nginx/html/lily/;#把匹配到的路径重写, 注意要以/结尾
  root /usr/local/nginx/html; #在匹配到的路径前面,增加root基础路径配置
  try_files $uri $uri/ /lily/index.html; # 特定目录,匹配不到文件的话,增加/lily/index.html配置
  index index.html index.htm;
}
location /mimosa {
  #alias /usr/local/nginx/html/mimosa/;
  root /usr/local/nginx/html;
  try_files $uri $uri/ /mimosa/index.html;
  index index.html index.htm;
}

浏览器访问:

  • https://www.axample.com/lily/
  • https://www.axample.com/mimosa/

小结

上面讲解了通过访问不同的子路径部署多个前端项目,并结合vue-router的不同路由模式,给出不同的配置。

nginx方面的配置是写在同一个 server 块下的,通过 location 去分发。

也可以通过域名+端口的配置,实现部署多个前端项目,这个时候就需要添加不同的server 块配置了,感兴趣的小伙伴可以自己尝试一下🎁


我是 甜点cc,个人网站: https://blog.i-xiao.space/

做人做事在于扬长而不是补短

公众号:【看见另一种可能】

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

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

相关文章

基于深度学习YOLOv5电动车头盔佩戴检测设计毕业设计

wx供重浩:创享日记 对话框发送:625头盔 获取完整源码源文件标注好的数据集(在源码文件夹->yolov5-5.0->VOCdevkit)优秀论文答辩PPT及文稿等 设计总说明 在许多非机动车交通事故中,未佩戴头盔是造成驾驶人受伤或死亡的主要原因&#xf…

永磁电机中的磁钢

稀土永磁最大的应用领域就是永磁电机,电机俗称马达,广义上的电机包含了将电能转换成机械能的电动机,和将机械能转换成电能的发电机,不管是电动机还是发电机,都是利用电磁感应定律或电磁力定律作为基础原理的电气设备。…

【教学类-36-02】动物头饰制作(midjounery动物简笔画四图)

作品展示 (用midjounery动物简笔画四图作为头饰上的动物,正方形折纸的辅助黏贴物) 背景需求: 1、用midjounery生成简笔画动物图案(四张预览) 2、收集各种不同的动物的一张图片.png 3、设计一款中班幼儿用…

python spider 爬虫 之 解析 xpath 、jsonpath、BeautifulSoup (-)

Xpath 插件下载及安装 下载地址:https://chrome.zzzmh.cn/info/hgimnogjllphhhkhlmebbmlgjoejdpjl 安装xpath 如果下载的xpath后缀是crx 格式的, 直接改成zip格式,然后直接拖拽到上面的界面中便可, 查看是否安装成功&#xff0c…

DOM操作——获取元素的方式

关注“大前端私房菜”微信公众号,回复暗号【面试宝典】即可免费领取107页前端面试题。 DOM-文档对象模型 DOM(Document Object Model):文档对象模型 其实就是操作 html 中的标签的一些能力,或者说是一整套操作文档流的…

10年内打造量子超级计算机,行吗?

光子盒研究院 在未来十年内,微软打算建造一台量子超级计算机。 本周四,微软制定了一个开发自己的量子超级计算机的战略蓝图。设计它的团队将花费至少10年的研究时间,来建造一台能够每秒进行一百万次可靠量子操作的机器。 微软声称&#xff0c…

C++的access()函数

文章目录 函数功能头文件函数原型参数说明示例 函数功能 确定文件是否存在或者判断读写执行权限;确定文件夹是否存在即,检查某个文件的存取方式,比如说是只读方式、只写方式等。如果指定的存取方式有效,则函数返回0,否…

津津乐道设计模式 - 观察者模式详解(学会察言观色再也不怕女朋友生气了)

🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》…

Nginx 优化配置及详细注释~转

Nginx 优化配置及详细注释 转https://www.cnblogs.com/taiyonghai/p/5610112.html Nginx 的nginx.conf文件,是调优后的,具体影响已经写清楚注释,可以拿来用,有一些设置无效,我备注上了,不知道是不是版本的…

《kafka 核心技术与实战》课程学习笔记(七)

生产者压缩算法 怎么压缩? 压缩(compression)秉承了用时间去换空间的经典 trade-off 思想,具体来说就是用 CPU 时间去换磁盘空间或网络 I/O 传输量,希望以较小的 CPU 开销带来更少的磁盘占用或更少的网络 I/O 传输。…

初识mysql数据库之基础操作

目录 一、库的操作 1. 创建数据库 2. 数据库的编码集 2.1 数据库的编码问题 2.2 查看系统默认字符集和校验规则 2.3 创建数据库时指定字符集和校验集 2.4 校验规则对数据库的影响 3. 进入数据库 4. 确认自己当前所处的数据库 5. 修改数据库的编码集 6. 查看创建数据…

FPGA解码MIPI视频 OV5647 2line CSI2 720P分辨率采集 提供工程源码和技术支持

目录 1、前言2、Xilinx官方主推的MIPI解码方案3、本 MIPI CSI2 模块性能及其优越性4、我这里已有的 MIPI 编解码方案5、详细设计方案6、vivado工程介绍7、上板调试验证8、福利:工程代码的获取 1、前言 FPGA图像采集领域目前协议最复杂、技术难度最高的应该就是MIPI…

现代民机“飞行管理系统(FMS)”的功能和组成

01 什么是 “飞行管理系统”? 飞行管理系统(FMS, Flight Management System),中文简称 “飞管”,是飞机航电系统的重要一员。 FMS 自 20 世纪 70 年代诞生以来,目前已有了跨越式发展。它作为航电关键系统&…

100种思维模型之质量控制理论思维模型-83

质量控制理论思维模型,又叫做戴明环思维模型,即PDCA循环思维模型。 在上世纪50年代,日本的商品和今天中国的商品一样,都是低质低价的代表,后来日本引入了戴明博士的质量控制理论,即PDCA循环理论&#xff0…

浅谈无线测温系统在高压开关柜中的应用

关注acrelzxz,了解更多详情 摘要:高压开关柜是配电系统中重要的组成部分,其主要作用是控制电荷、分配电能和开断电流等,对维持系统的稳定性有一定的保障作用。将无线测温技术应用于高压开关柜,可以实现对其进行实时的…

汽车芯片,竞逐新周期

在过去几年,SoC几乎成了智能汽车行业皇冠上的明珠。汽车芯片从通用型、分散化的单一功能芯片(MCU)快速转向集成化的多功能SoC(System on Chip)芯片。 比如,在智能座舱领域,CPU算力用于提高任务处…

国产chatgpt:基于chatGLM微调nlp分类任务

文章目录 一、源码网址1. 硬件设施:2. INT4 量化示例 二、重要的开源社区功能:网址:使用方法:利用方法:对 NLP 工作者的作用:对大模型工程师的用处: 三、重要的开源库四、提示词工程五、进行分类…

优思学院|精益生产管理七大要素

精益生产是一种有效的管理方法,通过优化生产流程和资源利用,帮助企业提高效率、降低成本,并最大程度地满足客户需求。在精益生产中,有七个关键的管理要素,它们分别是人员、资金、方法、机器设备、物料、市场及士气。 1…

避坑指南!一文帮您解决Jmeter录制chrome操作过程中遇到的问题!

Jmeter录制脚本原理 脚本录制时,Jmeter作为代理网关,通过监听某个端口,来捕获监听端口的报文信息,对抓取到的请求信息和响应信息进行转换为对应的行为函数。我们这里以设置chrome代理为例,然后使用jmeter进行脚本录制…

【方法】ZIP分卷压缩文件如何解压?

有时候文件太大,我们在压缩ZIP文件时会使用分卷压缩。 那后期想要解压ZIP分卷文件,要如何解压呢?不清楚的小伙伴,可以跟着小编来看看哦。 在解压ZIP分卷压缩文件之前,要先确保所有的分卷压缩包都存放在一个文件夹里&…