当前位置: 首页 > news >正文

Ruoyi-vue-pro Vue + nginx 二级目录部署到云服务器

·http://www.your-server.com/ 这是一级目录,由于项目多,一般会通过二级域名http://oa.your-server.com/或二级目录http://www.your-server.com/oa来发布,本篇记录一下二级目录发布。先看效果

1、router/index.js配置base

        

export default new Router({base: "/oa",mode: 'history', // 去掉url中的#scrollBehavior: () => ({y: 0}),routes: constantRoutes
})

 2、vue.config.js 配置 publicPath

    .env.prod 配置

# 后端API 转发uri
VUE_APP_BASE_API = '/oa/api'# 二级目录配置
PUBLIC_PATH = '/oa'

    vue.config.js 配置

module.exports = {// 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上publicPath: process.env.PUBLIC_PATH ? process.env.PUBLIC_PATH : '/',// 在npm run build 或 yarn build 时 ,生成文件的目录outputDir: 'dist/oa',// 用于放置生成的静态资源 (js、css、img、fonts)目录, 相对于 outputDirassetsDir: 'static',}

3、vue 项目打包

npm run build:prod

4、将生成目录dist打包为dist.zip上传到服务器目录/home/,并完成解压

        

[root@hcss-ecs home]# ll dist
total 4
drwxr-xr-x 5 root root 4096 Apr  6 21:51 oa
[root@hcss-ecs home]# ll dist/oa/
total 48
-rw-r--r-- 1 root root 14336 Apr  6 21:51 favicon.ico
drwxr-xr-x 2 root root  4096 Apr  6 21:51 html
-rw-r--r-- 1 root root 11038 Apr  6 21:51 index.html
-rw-r--r-- 1 root root  3601 Apr  6 21:51 index.html.gz
drwxr-xr-x 3 root root  4096 Apr  6 21:51 libs
-rw-r--r-- 1 root root    26 Apr  6 21:51 robots.txt
drwxr-xr-x 6 root root  4096 Apr  6 21:51 static
[root@hcss-ecs home]# 

5、配置Nginx

        location / { ## nginx 默认配置root   /usr/share/nginx/html/;index  index.html index.htm;try_files $uri $uri/ /index.html;}location /oa { ## 前端oa项目# root   /usr/share/nginx/html/;root    /home/dist/;index  index.html index.htm;try_files $uri $uri/ /oa/index.html; ## 重要!!!注意二级目录}location /oa/api/ { ## 后端项目 - 管理后台proxy_pass http://localhost:48080/;  ## 重要!!!设置为后端项目所在服务器的 IPproxy_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;}

6、重启nginx 服务

service nginx restart

7、启动成功!

        二级目录页面,点击浏览器刷新也能正常访问,发布成功。

        一级页面,nginx 默认页面正常展示

总结:

        几个关键的URL 不能错,不要多加/,可能会导致static页面无法加载,或刷新后页面发生不符合预期跳转。

相关文章:

Ruoyi-vue-pro Vue + nginx 二级目录部署到云服务器

http://www.your-server.com/ 这是一级目录,由于项目多,一般会通过二级域名http://oa.your-server.com/或二级目录http://www.your-server.com/oa来发布,本篇记录一下二级目录发布。先看效果 1、router/index.js配置base export default new …...

leetcode2529--正整数和负整数的最大计数

1. 题意 给定有序数组&#xff0c;求其中正整数和负整数的计数最大值。 正整数和负整数的最大计数 2. 题解 2.1 遍历 直接判断 class Solution { public:int maximumCount(vector<int>& nums) {int neg 0;int pos 0;for (int num:nums) {if (!num)continue;i…...

使用YOLOv8训练自己的【目标检测】数据集

文章目录 1.收集数据集1.1 使用开源已标记数据集1.2 爬取网络图像1.3 自己拍摄数据集1.4 使用数据增强生成数据集1.5 使用算法合成图像 2.标注数据集2.1确认标注格式2.2 开始标注 3.划分数据集4.配置训练环境4.1获取代码4.2安装环境 5.训练模型5.1新建一个数据集yaml文件5.2预测…...

rust学习(recursive mutex 实现)

问题&#xff1a; 编写如下代码的时候出现死锁&#xff1a; pub fn test_double_lock() {let t Arc::new(Mutex::new(1));let t1 t.clone();let t2 t.clone();let h std::thread::spawn(move || {println!("hello trace1");let l1 t1.lock().unwrap();println…...

DasViewer可以添加照片到里面吗?点开就可以看照片?

DasViewer主要是三维模型浏览器&#xff0c;二维可以添加矢量和正射影像&#xff0c;航片暂不支持。 DasViewer是由大势智慧自主研发的免费的实景三维模型浏览器,采用多细节层次模型逐步自适应加载技术,让用户在极低的电脑配置下,也能流畅的加载较大规模实景三维模型,提供方便…...

python蓝桥杯选数

文章目录 前言一、题意二、代码1.代码的实现2.读入数据 总结 前言 本题涉及到很多python中的知识点&#xff0c;比如combinations&#xff08;列表的组合&#xff09;应用&#xff0c;以及素数的判断 一、题意 已知 n 个整数 x1,x2,…,xn,以及一个整数 k&#xff08;k&#x…...

联想电脑开启虚拟化失败,开启虚拟化却提示还没有开启虚拟化

安装虚拟机的时候&#xff0c; 电脑要开启虚拟化&#xff0c; Intel VT&#xff0c; 去BIOS开启了&#xff0c; 但是依然报错&#xff0c;说虚拟化处于禁用状态。 解决方案&#xff1a; 去联想官方&#xff0c;下载BIOS更新包&#xff0c;更新BIOS。 更新文档&#xff1a; 联…...

物联网农业四情在线监测系统

TH-Q2随着科技的飞速发展和信息化时代的来临&#xff0c;物联网技术在各个领域都取得了显著的应用成果。其中&#xff0c;物联网农业四情在线监测系统作为农业现代化的重要组成部分&#xff0c;正在为农业生产带来革命性的变革。 一、物联网农业四情在线监测系统的概念 物联网…...

MySQL8.3.0 主从复制方案(master/slave)

一 、什么是MySQL主从 MySQL主从&#xff08;Master-Slave&#xff09;复制是一种数据复制机制&#xff0c;用于将一个MySQL数据库服务器&#xff08;主服务器&#xff09;的数据复制到其他一个或多个MySQL数据库服务器&#xff08;从服务器&#xff09;。这种复制机制可以提供…...

大数据相关组件安装及使用

自学大数据相关组件 持续更新中。。。 一、linux安装docker 1、更新yum sudo yum update2、卸载docker旧版本 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine3、…...

【攻防世界】web2(逆向解密)

进入题目环境&#xff0c;查看页面信息&#xff1a; <?php $miwen"a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";function encode($str){$_ostrrev($str);// echo $_o;for($_00;$_0<strlen($_o);$_0){$_csubstr($_o,$_0,1);$__ord($_c)1;…...

Linux文件查找命令详解——以CentOS为例

Linux文件查找命令详解——以CentOS为例 在Linux系统中&#xff0c;文件查找是一项非常重要的任务。无论是系统管理员还是普通用户&#xff0c;都需要掌握一些基本的文件查找命令。本文将详细介绍Linux中常用的文件查找命令&#xff0c;并以CentOS为例&#xff0c;展示如何使用…...

【JavaEE】浅谈线程(一)

线程 前言线程的由来线程是什么线程的属性线程更高效的原因举个例子&#xff08;线程便利性的体现&#xff09; 多线程代码线程并发执行的代码jconsole(观测多线程) 线程的调度问题创建线程的几种方法1&#xff09;通过继承Thread 重写run2&#xff09;使用Runnable接口 重写ru…...

深度解析SPARK的基本概念

关联阅读博客文章&#xff1a; 深入理解MapReduce&#xff1a;从Map到Reduce的工作原理解析 引言&#xff1a; 在当今大数据时代&#xff0c;数据处理和分析成为了企业发展的重要驱动力。Apache Spark作为一个快速、通用的大数据处理引擎&#xff0c;受到了广泛的关注和应用。…...

FreeGPT3.5 开源软件

GPT-3.5不需要付费&#xff0c;也不需要注册用户&#xff0c;可以直接使用了&#xff0c;官方彻底开放了API接口。 该API政策一放开&#xff0c;GitHub很快就已经出现了一个开源项目FreeGPT35&#xff0c;可以自动生成key调用GPT3.5的API接口&#xff0c;再也用不着注册账号和申…...

AI绘本生成解决方案,快速生成高质量的AI绘本视频

美摄科技凭借其深厚的技术积累和前瞻性的市场洞察力&#xff0c;近日推出了一款面向企业的AI绘本生成解决方案&#xff0c;旨在通过智能化、自动化的方式&#xff0c;帮助企业快速将文字内容转化为生动有趣的绘本视频&#xff0c;从而提升内容传播效率&#xff0c;增强品牌影响…...

RabbitMQ3.13.x之九_Docker中安装RabbitMQ

RabbitMQ3.13.x之_Docker中安装RabbitMQ 文章目录 RabbitMQ3.13.x之_Docker中安装RabbitMQ1. 官网2. 安装1 .拉取镜像2. 运行容器 3. 访问 1. 官网 rabbitmq - Official Image | Docker Hub 2. 安装 1 .拉取镜像 docker pull rabbitmq:3.13.0-management2. 运行容器 # lates…...

【操作系统】STM32-操作系统——持续更新

【操作系统】STM32-操作系统——持续更新 文章目录 前言一、ucosii二、freertos1.介绍2.移植 总结 前言 提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、ucosii UCOSII移植到STM32F103C8T6上之移植记录&#xff08;一&#xff09; UCOSII移植到ST…...

Redux Toolkit+TypeScript最佳实践

Redux-Toolkit是为了简化使用Redux繁琐的步骤&#xff0c;可以j降低使用useReducer与useContext管理状态的频率&#xff0c;而且起到项目中状态管理规范和约束化的效果。 阅读本文需要的前置知识&#xff1a;React、Redux、Typescript、Redux hooks。 Redux-Toolkit使用步骤 …...

假期别闲着:REST API实战演练之创建Rest API

1、创建实体类&#xff0c;模拟实体对象 创建一个类&#xff0c;模拟数据数据库来存储数据&#xff0c;这个类就叫Person。 其代码如下&#xff1a; package com.restful;public class Person {private String name;private String about;private int birthYear;public Perso…...

出差党/远程办公必备:用OpenWrt软路由打造你的随身‘家庭办公室’(支持Windows远程唤醒与桌面)

移动办公革命&#xff1a;OpenWrt软路由构建高效远程办公系统 1. 现代远程办公的痛点与解决方案 作为一名常年奔波于各大城市的咨询顾问&#xff0c;我深刻理解移动办公的痛点&#xff1a;酒店网络不稳定、公共WiFi安全隐患、重要文件无法随时调取、高性能工作站闲置在家...直到…...

Qwen3-VL-8B场景应用:电商商品图自动描述生成,节省运营时间

Qwen3-VL-8B场景应用&#xff1a;电商商品图自动描述生成&#xff0c;节省运营时间 1. 电商运营的痛点与解决方案 在电商行业&#xff0c;商品详情页的描述文案直接影响转化率。传统模式下&#xff0c;运营人员需要手动为每张商品图撰写描述&#xff0c;这个过程耗时耗力且难…...

如何通过llm-colosseum实现LLM模型的创新高效评估

如何通过llm-colosseum实现LLM模型的创新高效评估 【免费下载链接】llm-colosseum Benchmark LLMs by fighting in Street Fighter 3! The new way to evaluate the quality of an LLM 项目地址: https://gitcode.com/GitHub_Trending/ll/llm-colosseum 在人工智能快速发…...

ngx_queue_sort

1 定义 ngx_queue_sort 函数 定义在 ./nginx-1.24.0/src/core/ngx_queue.cvoid ngx_queue_sort(ngx_queue_t *queue,ngx_int_t (*cmp)(const ngx_queue_t *, const ngx_queue_t *)) {ngx_queue_t *q, *prev, *next;q ngx_queue_head(queue);if (q ngx_queue_last(queue)) {r…...

用Python和C语言两种解法,搞定ZZULIOJ 1091‘爬楼梯’问题(附多实例测试详解)

用Python和C语言两种解法&#xff0c;搞定ZZULIOJ 1091‘爬楼梯’问题&#xff08;附多实例测试详解&#xff09; 当你第一次看到这个题目时&#xff0c;可能会觉得它只是一个简单的递归问题。但深入思考后会发现&#xff0c;这实际上是动态规划的经典案例——斐波那契数列的变…...

MarkItDown:文档转换工具的全方位解析与高效应用指南

MarkItDown&#xff1a;文档转换工具的全方位解析与高效应用指南 【免费下载链接】markitdown 将文件和办公文档转换为 Markdown 的 Python 工具 项目地址: https://gitcode.com/GitHub_Trending/ma/markitdown 在数字化办公与内容创作领域&#xff0c;文档格式转换是连…...

使用MedGemma 1.5构建医疗知识问答社区的实践

使用MedGemma 1.5构建医疗知识问答社区的实践 1. 引言 医疗行业每天产生海量的专业知识和临床数据&#xff0c;但医生和医学研究者往往难以快速获取精准的医疗信息。传统的医疗知识检索方式效率低下&#xff0c;专业门槛高&#xff0c;让很多医疗工作者在紧急情况下无法及时获…...

数模小白别慌!手把手教你用Python和MATLAB搞定国赛美赛(附2022年M奖/省一代码)

数模竞赛入门指南&#xff1a;从零到获奖的Python与MATLAB实战路径 数学建模竞赛对于初学者而言&#xff0c;往往像一座难以攀登的高山。第一次面对赛题时&#xff0c;那种无从下手的迷茫感我至今记忆犹新——三个队友围着一道看似简单的题目&#xff0c;却连该用什么工具、从哪…...

OpenClaw会议纪要神器:GLM-4-7-Flash实时转录与行动项提取

OpenClaw会议纪要神器&#xff1a;GLM-4-7-Flash实时转录与行动项提取 1. 为什么需要本地化的会议纪要工具 上周三的部门例会上&#xff0c;我经历了所有职场人最熟悉的噩梦——会议开到一半&#xff0c;领导突然转向我&#xff1a;"刚才讨论的五个行动项是什么&#xf…...

Codex CLI 配置避坑指南:从 TOML 语法到沙箱策略的 5 个实战技巧

Codex CLI 配置避坑指南&#xff1a;从 TOML 语法到沙箱策略的 5 个实战技巧 如果你已经初步了解 Codex CLI 的基本用法&#xff0c;但在实际配置过程中频繁踩坑&#xff0c;这篇文章就是为你准备的。我们将深入探讨那些官方文档没有详细说明的细节问题&#xff0c;以及如何通过…...