部署前后端分离若依项目--CentOS7Docker版
一、准备
centos7虚拟机或服务器一台
若依前后端分离项目:可在下面拉取
RuoYi-Vue: 🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本
二、环境
1、centos7安装docker
卸载系统之前可能安装的 docker(防止冲突)
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine

2、安装Docker-CE 基本环境
安装必须的依赖
sudo yum install -y yum-utils
这里如果安装报错可以看看我的另一篇文章:已加载插件:fastestmirror Loading mirror speeds from cached hostfile Could not retrieve mirrorlist http://_已加载插件:fastestmirror loading mirror speeds from cac-CSDN博客
3、设置 docker repo 的 yum 位置
sudo yum-config-manager \
--add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
4、安装docker以及 docker-cli
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-pl ugin docker-compose-plugin
5、设置 docker 开机自启
systemctl enable docker --now
6、配置 docker 镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
换这个镜像:
{
"registry-mirrors": ["https://docker.m.daocloud.io","https://docker.1panel.live"]
}
7、验证docker
docker info

三、部署后端
1、添加网络
docker network create ruoyi
2、mysql配置

将mysql对镜像名字设置为数据库对应的名字
#启动mysql
docker run -d -p 3306:3306 \
-v mysql-data:/var/lib/mysql \
-v /app/myconf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 \
-e MYSQL_DATABASE=ry \
--restart always --name mysql-server \
--network ruoyi \
mysql
navicat连接数据库

将ruoyi初始化的一些表导入

3、redis配置

将redis对镜像的名字设置为redis对应的名字
docker run -d -p 6379:6379 \
-v redis-data:/bitnami/redis/data \
-v redis-conf:/opt/bitnami/redis/mounted-etc \
-e REDIS_PASSWORD=123456 \
--restart always --name redis-server \
--network ruoyi bitnami/redis:latest

测试连接

4、将项目jar包制作为镜像
将jar包导入虚拟机内

编写Dockerfile文件制作镜像
FROM openjdk:8LABEL author=ruoyiCOPY ruoyi.jar /ruoyi.jarEXPOSE 6086ENTRYPOINT ["java","-jar","/ruoyi.jar"]

制作镜像
docker build -f Dockerfile -t ruoyi:v1.0 .

5、启动
docker run -d -p 6086:6086 \
--restart always --name ruoyi \
--network ruoyi \
ruoyi:v1.0
可以通过docker logs ruoyi查看日志是否启动成功

四、部署前端
1、配置nginx
docker run -d -p 6099:80 -v /opt/en/www:/usr/share/nginx/www -v ngconf:/etc/nginx --name mynginx --restart always nginx

2、导入前端文件
将文件导入在我们挂载的文件夹下

3、配置nginx配置文件
user root;
worker_processes auto;error_log /var/log/nginx/error.log notice;
pid /var/run/nginx.pid;events {worker_connections 1024;
}http {include /etc/nginx/mime.types;default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main;sendfile on;#tcp_nopush on;keepalive_timeout 65;#gzip on;include /etc/nginx/conf.d/*.conf;server {listen 80;server_name 192.168.101.77;location / {alias /usr/share/nginx/www/dist/;try_files $uri $uri/ /index.html;index index.html index.htm;}location @router {rewrite ^.*$ /index.html last;}#添加头部信息proxy_set_header Cookie $http_cookie;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#添加拦截路径和代理地址location /prod-api/ {if ($request_uri ~ /prod-api/(.*)$){proxy_pass http://192.168.101.77:8086/$1;}}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}}}
五、完成启动
重启nginx
![]()
访问ip

启动成功
六、Compose启动
一会在写吧!
相关文章:
部署前后端分离若依项目--CentOS7Docker版
一、准备 centos7虚拟机或服务器一台 若依前后端分离项目:可在下面拉取 RuoYi-Vue: 🎉 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统,同时提供了 Vue3 的版本 二、环…...
PH47代码框架功能速查
1. PH47框架逻辑层全局引用对象 全局引用 功能简介 快速访问 bus 数据总线系统功能实现,如对总线数据项读写操作等 数据总线bus drv 驱动层功能实现,如飞控板相关的各种硬件传感器设备进行操作等 驱动层drv mcu 对mcu的片内接口及设备进行操作…...
UVM寄存器模型:uvm_reg_adapter
文章目录 一、什么是uvm_reg_adapter1、what2、Example2.1、代码详解 二、如何使用uvm_reg_adapter三、为什么要引入uvm_reg_adapter 一、什么是uvm_reg_adapter 1、what uvm_reg_adapter继承于uvm_object,定义了用于在 uvm_reg_bus_op 和特定总线事务之间进行转换…...
总结OpenGL和pyrender安装和使用过程中的坑
目录 报错一:AttributeError: NoneType object has no attribute glGetError 报错二:ImportError: (Unable to load OpenGL library, OSMesa: cannot open shared object file: No such file or directory, OSMesa, None) 报错三:raise ImportError("Unable to load…...
温湿传感器(学习笔记下)
接着我们温湿传感器上半部分的学习,现在我们学习接下来的部分,编写GXHTC3驱动程序,也就是给gxhtc3.c文件添加代码,我们要判断gxhtc3芯片是否存在和正常,就要先读取gxhtc3的ID号,根据gxhtc3的数据手册,读取命…...
期刊论文写作之word模板
一、zotero参考文献使用 下载zotero软件,请搜索相关帖子或者小破站即可; 把pdf拖到zotero软件里面,直接拉进去; 下面建立一个word演示: 1.导入pdf点击红框部分,根据期刊要求选择参考文献样式࿰…...
雷池社区版OPEN API使用教程
OPEN API使用教程 新版本接口支持API Token鉴权 接口文档官方没有提供,有需要可以自行爬取,爬了几个,其实也很方便 使用条件 需要使用默认的 admin 用户登录才可见此功能版本需要 > 6.6.0 使用方法 1.在系统管理创建API TOKEN 2.发…...
LSTM(Long Short-Term Memory,长短期记忆网络)在高端局效果如何
lstm 杂乱数据分析 LSTM(Long Short-Term Memory,长短期记忆网络)在高端局,即复杂的机器学习和深度学习应用中,展现出了其独特的优势和广泛的应用价值。以下是对LSTM在高端局中的详细解析: 一、LSTM的优势…...
模组操作宝典:4种关机重启技巧,让你的设备运行无忧
今天我说的是关于关机重启技巧。 给4G模组VBAT断电关机,模组关机前未能及时退出当前基站,会有什么影响呢? 基站会误以为设备还在线,下次开机仍会拿着上次驻网信息去连基站。基站一看,上次链接还在——认为你是非法设…...
利用API接口实现旺店通和金蝶系统的无缝数据对接
旺店通销售出库对接金蝶销售订单(线下)的技术实现 在企业日常运营中,数据的高效流转和准确对接是确保业务顺畅运行的关键。本文将聚焦于一个具体案例:如何通过轻易云数据集成平台,实现旺店通企业奇门的数据无缝对接到金蝶云星空系统。我们将…...
热题100(hash)
热题100(Hash) 三道题目 1.两数之和(√) 49.字母异位词分组(题解) 128.最长连续序列(题解) 思路 第1题简单hash映射,O(n) 第49题,关键点在于Hashmap的形式,‘HashMap<Stri…...
Ubuntu下Mysql修改默认存储路径
首先声明,亲身经验,自己实践,网上百度了好几个帖子,全是坑,都TMD的不行,修改各种配置文件,就是服务起不来,有以下几种配置文件需要修改 第一个文件/etc/mysql/my.cnf 这个文件是存…...
LVGL移植教程(超详细)——基于GD32F303X系列MCU
版本:LVGL Kernel V8.3.0,运行压力测试Demo Stress首先放一张最终Stress Demo 运行图: 一、准备 1. GD32 Keil工程 准备任意一个屏幕可以正常显示的GD32工程: 2. LVGL源码 最新版现在已经是V9.2了,这里我选择了…...
《计算机原理与系统结构》学习系列——处理器(中)
系列文章目录 目录 流水线数据通路与控制概述5个流水级指令周期与流水级 流水线性能流水线时钟周期的长度T和数量cycles流水线性能 流水线数据通路流水线寄存器流水线分析图形化流水线流水线控制 流水线数据通路与控制 概述 5个流水级 指令周期与流水级 单周期实现中&#x…...
深入解析 OceanBase 数据库中的局部索引和全局索引
深入解析 OceanBase 数据库中的局部索引和全局索引 引言 在分布式数据库中,索引的设计对于优化查询性能至关重要。OceanBase 作为一款高性能的分布式关系数据库,支持局部索引和全局索引两种索引类型。理解这两种索引的特点和适用场景,对于数…...
2024防晒衣市场社媒营销洞察报告
2024年,硬防晒已经从单一的户外场景,扩展到通勤、外出游玩、穿搭等更多场景,多样化的需求导致的消费群体不断扩大,“防晒经济”迎来自己的主场时刻。 当前,防晒衣不仅需要满足不用场景的灵活切换,还要满足多…...
【Ubuntu20.04 Visual Studio Code安装】【VSCODE】
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、打开VSCOE官网二、下载VSODE的Ubuntu版本三、安装VSCODE软件包四、导入工作空间(添加工作空间目录)五、安装插件:1.安装简体中文包2.安装ros插件…...
贪心算法day(1)
1.将数组和减半的最少操作次数 链接:. - 力扣(LeetCode) 思路:创建大跟堆将最大的数进行减半 注意点:double t queue.poll()会将queue队列数字减少一个后再除以2,queue.offer(queue.poll()/…...
窗口函数sql使用总结
一、开窗 基础知识:窗口分析函数 (1)LAG(col,n,DEFAULT) 用于统计窗口内往上第n行值 第一个参数为列名,第二个参数为往上第n行(可选,默认为1),第三个参数为默认值(当往…...
python单因素分析
写了个简易小程序实现,以后用的时候直接复制就行: import numpy as np from scipy.stats import fdatas [[65,60,69,79,38,68,54,67,68,43],[74,71,58,49,58,49,48,68,56,47],[22,34,24,21,20,36,36,31,28,33] ] a 0.05def get_mean_var(data):data_m…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
Spring AI与Spring Modulith核心技术解析
Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...
从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...

