程序汪若依微服务华为云Linux部署保姆教程

图片

若依官方有3个版本,程序汪以前已经出了对应的安装部署视频教程

  1. 单应用版本

  2. 前后分离版本

  3. 微服务版本

本视频是若依微服务版本,如果基础的环境软件都不会安装建议看下程序汪的单应用和前后端分离版本教程,

欢迎点击进入

  1. (单应用版本)若依项目实战部署保姆教程

  2. (前后分离版本)若依项目实战部署保姆教程 

程序汪在单应用版本和前端分离版本已经非常详细介绍了环境的安装,本次教程jdk maven git这些基础的我就不重复演示怎么安装了,老规矩还是云服务器上部署项目。

图片

图片

本教程特点(希望小白都能运行成功)

  • 保姆级教程=笔记(本文章)+视频(B站视频)

看完本教程你会学到

  • 项目下载

  • 运行

  • 配置

  • 打包

  • 前后端的部署

  • nacos
  • sentinel

图片

(视频教程站 B站 我是程序汪)

图片

图片

图片

图片

笔记 建议结合视频观看


图片

图片

前置安装
 

JDK >= 1.8 (推荐1.8版本)
Mysql >= 5.7.0 (推荐5.7版本)
Redis >= 3.0
Maven >= 3.0
Node >= 10
Git
Nginx

以上基础配置默认已经按照版本要求安装完成,如果是完全从零开始请移步以下网址:(只需要安装到Nginx即可)

传送门:https://mp.weixin.qq.com/s/FqfGbYRvhiTU7q0aB1d2EA

1. 下载代码及配置数据库

注意:在clone代码之前,需要在gitee管理后台中添加服务器的SSH公钥。详见https://gitee.com/help/articles/4191

 

cd /data/gitee/
git clone git@gitee.com:y_project/RuoYi-Cloud.git
 
下面配置数据库,这里有两种方式,一种是使用客户端工具比如navicat连到上面创建的数据库和表,另外一种是直接使用docker来执行sql,我这里使用第二种,如果不是用docker安装的可以直接用客户端创建
 
cd RuoYi-Cloud/sql
docker cp ry_20210210.sql mysql:/ry_20210210.sql
 
docker cp ry_config_20210228.sql mysql:/ry_config_20210228.sql
 
docker cp quartz.sql mysql:/quartz.sql
 
docker exec -it mysql bash
ls一下看下是不是三个sql都在
mysql -u root -p
然后输入数据库密码按回车,我这里安装的数据库密码是
Vv0IBQ5qST
看到提示符mysql>说明成功,先创建数据库,注意在命令行里输入:
CREATE DATABASE `ry-cloud` CHARACTER SET utf8 COLLATE utf8_general_ci;
CREATE DATABASE `ry-config` CHARACTER SET utf8 COLLATE utf8_general_ci;
 
创建完数据库后输入exit退出命令行
然后依次导入三张表数据,每次回车后都需要输入密码
mysql -u root -p -D ry-cloud < ry_20210210.sql
mysql -u root -p -D ry-cloud < quartz.sql
mysql -u root -p -D ry-config < ry_config_20210228.sql
 
最后退出docker容器
exit
2. nacos(奶可斯)

微服务版本依赖于nacos做为配置中心,需要前置安装,这里选定一个比较稳定的版本,当然也可以自行去官网下载1.x的最新版

 

将软件包中的nacos-server-1.3.2.zip通过工具上传到/data/tmp
cd /data/tmp
unzip -d /data/service/ nacos-server-1.3.2.zip
cd /data/service/nacos
vi conf/application.properties
 
这个配置文件增加如下配置:
----------------------------------------------
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/ry-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user=root
db.password=Vv0IBQ5qST
----------------------------------------------
注意上面的数据库密码改成自己设置的
 
启动nacos,首先确保第一步nacos的数据库配置已经OK了
cd /data/service/nacos/bin
./startup.sh -m standalone &
然后 ps -ef | grep nacos 一下看下启动是否成功
 
浏览器访问 http://124.70.193.43:8848/nacos/#/login
用户名密码默认都是 nacos
注意:如果访问不了很可能是云服务器的网络策略不允许本机访问8848端口,需要自行在云服务器配置网络策略,登陆进去后如果在配置列表里能看到所有的配置文件说明就没问题了
 
这里的配置文件是一些参数的修改,比如mysql的配置,redis的配置等等,大多数的配置都是默认的就好,因为都是安装在本地的,只需要改下两个服务的mysql的密码就好
 
1. 点开 ruoyi-system-dev.yml 后面的编辑按钮:
在配置里找到数据库密码的配置修改为自己的密码即可,然后点击发布按钮
datasource:
          # 主库数据源
          master:
            driver-class-name: com.mysql.cj.jdbc.Driver
            url: jdbc:mysql://localhost:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
            username: root
            password: Vv0IBQ5qST
            
2. 点开 ruoyi-job-dev.yml 后面的编辑按钮:
在配置里找到数据库密码的配置修改为自己的密码即可,然后点击发布按钮
datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://localhost:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
    username: root
    password: Vv0IBQ5qST
    
3. sentinel(省特漏)

微服务版本依赖于sentinel做网关的限流,需要前置安装,这里选定一个比较稳定的版本,当然也可以自行去官网下载1.x的最新版

 

将软件包中的sentinel-dashboard-1.8.0.jar通过工具上传到/data/tmp,注意不要解压
cd /data/tmp
cp sentinel-dashboard-1.8.0.jar /data/service
cd /data/service
 
执行以下命令,注意端口号最好保持一致,否则后面配置也要同步修改
nohup java -Dserver.port=8718 -Dcsp.sentinel.dashboard.server=localhost:8718 -jar sentinel-dashboard-1.8.0.jar &
 
确保启动成功,最好 ps -ef | grep sentinel 看下
浏览器访问 http://124.70.193.43:8718/#/login
用户名密码默认都是 sentinel
注意:如果访问不了很可能是云服务器的网络策略不允许本机访问8718端口,需要自行在云服务器配置网络策略

4. 后端打包与启动
 

先创建一个打包后的目录,所有打包后的jar文件都集中放在这里:
mkdir -p /data/app/ruoyi-cloud
 
然后用maven打包
cd /data/gitee/RuoYi-Cloud
mvn clean install
等待很长一段时间后出现BUILD SUCCESS表示成功
 
接下来就是一个个服务的启动了,由于是微服务版本,需要启动的服务比较多,先把每个打包好的jar包统一拷贝到一起,然后挨个启动就好了
首先是网关服务
cp /data/gitee/RuoYi-Cloud/ruoyi-gateway/target/ruoyi-gateway.jar /data/app/ruoyi-cloud/ruoyi-gateway.jar
权限服务
cp /data/gitee/RuoYi-Cloud/ruoyi-auth/target/ruoyi-auth.jar /data/app/ruoyi-cloud/ruoyi-auth.jar
管理后台
cp /data/gitee/RuoYi-Cloud/ruoyi-modules/ruoyi-system/target/ruoyi-modules-system.jar /data/app/ruoyi-cloud/ruoyi-modules-system.jar
监控模块
cp /data/gitee/RuoYi-Cloud/ruoyi-visual/ruoyi-monitor/target/ruoyi-visual-monitor.jar /data/app/ruoyi-cloud/ruoyi-visual-monitor.jar
定时任务模块
cp /data/gitee/RuoYi-Cloud/ruoyi-modules/ruoyi-job/target/ruoyi-modules-job.jar /data/app/ruoyi-cloud/ruoyi-modules-job.jar
文件模块
cp /data/gitee/RuoYi-Cloud/ruoyi-modules/ruoyi-file/target/ruoyi-modules-file.jar /data/app/ruoyi-cloud/ruoyi-modules-file.jar
 
都拷贝完成后进入目录挨个启动
cd /data/app/ruoyi-cloud/
nohup java -jar ruoyi-gateway.jar &
nohup java -jar ruoyi-auth.jar &
nohup java -jar ruoyi-modules-system.jar &
 
以上三个是运行程序必须启动的,后面三个是可选的,分别是监控、job、文件系统,这几个用处不大,可以用到的时候再启动
 
nohup java -jar ruoyi-visual-monitor.jar &
nohup java -jar ruoyi-modules-job.jar &
nohup java -jar ruoyi-modules-file.jar &
5. 运行前端
 

cd /data/gitee/RuoYi-Cloud/ruoyi-ui
 
npm install --registry=https://registry.npm.taobao.org
 
npm run build:prod
mkdir /data/app/ruoyi-ui
mv dist/* /data/app/ruoyi-ui/
 
接下来把静态页面配置到Nginx中
vim /usr/local/nginx/conf/nginx.conf
注释掉默认location节点,替换成以下节点
 
location / {
  root   /data/app/ruoyi-ui;
  try_files $uri $uri/ /index.html;
  index  index.html index.htm;
}
 
location /prod-api/{
  proxy_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;
  proxy_pass http://localhost:8080/;
}
 
保存后重新加载一下
/usr/local/nginx/sbin/nginx -s reload
6. 访问页面测试

在浏览器里直接输入云服务器的ip即可,比如我的是 http://124.70.193.43/

用户名是 admin

密码是 admin123

欢迎添加程序汪VX  itwang007      

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

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

相关文章

Flask蓝图找不到路由地址,访问404

Flask蓝图找不到路由地址&#xff0c;访问404 问题描述&#xff1a; 使用flask的蓝图对不同的模块设置路由地址时&#xff0c;接口是放到不同的python文件里的&#xff0c;当编写完一个蓝图的接口&#xff0c;进行访问请求的时候&#xff0c;出现了404无法访问的情况。 一、检查…

SQLite3 数据库的基本操作

SQLite3 是一种轻量级的关系型数据库管理系统&#xff0c;常用于移动设备和小型应用程序中。下面是一些使用 SQLite3 数据库的基本操作&#xff1a; 连接到数据库&#xff1a;使用命令 0 来连接到一个 SQLite3 数据库文件&#xff0c;如果该文件不存在则会创建一个新的数据库文…

【Python】python+requests+excel+pytest-实现接口自动化实例

目录 测试需求实现思路完整框架2.1 初始化数据 (test_data.xlsx)2.2 核心脚本 (api_client.py)2.3 测试用例 (test_interfaces.py)2.4 日志 (logging)2.5 pytest配置文件 (pytest.ini)2.6 测试报告 (pytest-html)2.7 入口函数 (run_tests.py)2.8 完整流程注意事项测试需求 简单…

Dalle-3、Sora、Stable Diffusion 3 掀起AIGC新浪潮

随着科技的飞速发展&#xff0c;我们迎来了视觉AIGC高光时刻&#xff0c;一个充满无限可能与机遇的新时代。在这个时代里&#xff0c;三大里程碑Dalle-3、Sora和Stable Diffusion 3以其炸裂式的技术发展&#xff0c;引领着AIGC领域的新浪潮。文章首先做相应简要介绍&#xff0c…

【LeetCode-300.最长递增子序列】

题目详情&#xff1a; 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的…

字符驱动程序-LCD驱动开发

一、驱动程序的框架 总共分为五步&#xff1a; 1、自己设定或者系统分配一个主设备号 2、创建一个file_operations结构体 这个结构体中有操作硬件的函数&#xff0c;比如drv_open、drv_read 3、写一个注册设备驱动函数 需要register_chrdev(major,name,结构体)&#xff0…

kingbaseESV8逻辑备份还原

数据库逻辑备份还原 sys_dump -h127.0.0.1 -Usystem -f/home/kingbase/db01.dmp db01 ksql -h127.0.0.1 test system -c drop database db01 ksql -h127.0.0.1 test system -c create database db01 ksql -h127.0.0.1 -Usystem -ddb01 -f/home/kingbase/db01.dmp --------…

各种需要使用的方法-->vue/微信小程序/layui

各种需要使用的方法-->vue/微信小程序/layui 1、vue里样式不起作用的方法&#xff0c;可以通过deep穿透的方式2、 js获取本周、上周、本月、上月日期3、ArrayBuffer Blob 格式转换ArrayBuffer与Blob的区别ArrayBuffer转BlobBlob转ArrayBuffer需要借助fileReader对象 4、使用…

2015年认证杯SPSSPRO杯数学建模D题(第一阶段)城市公共自行车全过程文档及程序

2015年认证杯SPSSPRO杯数学建模 D题 城市公共自行车 原题再现&#xff1a; 城市交通问题直接影响市民的生活和工作。在地形平坦的城市&#xff0c;公共自行车出行系统是一种很好的辅助手段。一般来说&#xff0c;公共自行车出行系统由数据中心、驻车站点、驻车桩、自行车&…

python初级第一次作业

一、 dayint(input("enter today day")) fdayint(input("enter num of day since today")) c((fday%7)day)%7 if c0:print("sunday") elif c1:print("monday") elif c2:print("tuesday") elif c3:print("wendnsday&quo…

openGauss + Datakit搭建openGauss运维平台

系统架构OS 硬件需求&#xff1a;2c4g [rootlocalhost ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) [rootlocalhost ~]# uname -m x86_64 [rootlocalhost ~]# hostname -I 192.168.92.32 下载地址&#xff1a;https://opengauss.org/zh/download/ 下载…

yoloV3的目标检测_3.11

目标 利用yolo模型进行目标检测的方法完成目标检测功能的实现 整个流程如下&#xff1a; 基于OPenCV中的DNN模块 加载已训练好的yolov3模型及其权重参数将要处理的图像转换成输入到模型中的blobs利用模型对目标进行检测遍历检测结果应用非极大值抑制绘制最终检测结果&#x…

【能源数据分析-00】能源领域数据集集锦(动态更新)

一、前言 大数据科学在能源领域的深度应用&#xff0c;已经深刻改变了这一行业的垂直格局。它为我们提供了宝贵的见解&#xff0c;帮助降低下游市场的成本&#xff0c;使石油生产商能够更好地应对市场繁荣期的需求。近期&#xff0c;石油价格的剧烈下跌给全球经济带来了沉重打…

LeetCode 2.两数相加

给你两个 非空 的链表&#xff0c;表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的&#xff0c;并且每个节点只能存储 一位 数字。 请你将两个数相加&#xff0c;并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外&#xff0c;这两个数都不会以 0 …

Kubernetes概念:服务、负载均衡和联网:2. Gateway API

Gateway API 官方文档&#xff1a;https://kubernetes.io/zh-cn/docs/concepts/services-networking/gateway/ Gateway API 通过使用可扩展的、角色导向的、 协议感知的配置机制来提供网络服务。它是一个附加组件&#xff0c; 包含可提供动态基础设施配置和高级流量路由的 API…

如何在CentOS 7上搭建Redis Sentinel ?

在CentOS 7上搭建Redis Sentinel包括安装Redis、配置Redis主从复制、以及设置Sentinel本身。以下是具体步骤&#xff1a; 1. 安装Redis 首先确保系统是最新的&#xff0c;然后安装Redis。如果你的CentOS 7没有自带Redis包&#xff0c;你可能需要先添加EPEL仓库。 sudo yum u…

[音视频学习笔记]八、FFMpeg结构体分析 -上一个项目用到的数据结构简单解析:AVFrame、AVFormatContext、AVCodecContext

前言 上次我们做了一个简单的视频解码&#xff0c;MediaPlay-FFmpeg - Public 这一次简单对这个代码进行一个剖析&#xff0c;对其中的数据结构进行一个解析。 这些数据结构之间的关系 AVFrame 、AVFormatContext 、AVCodecContext 、AVIOContext 、AVCodec 、AVStream 、AV…

CentOS7.x 上安装并配置 MySQL 8.x

如何在 CentOS 7 上安装并配置 MySQL 8.x MySQL 是最流行的开源关系型数据库管理系统之一&#xff0c;被广泛应用于各种网站和应用程序中。 步骤 1&#xff1a;下载并添加 MySQL 8.x 官方 Yum 仓库 首先&#xff0c;打开终端&#xff0c;下载 MySQL Yum 仓库的 rpm 包&#…

Redis 服务器指南:高性能内存数据库的完整使用指南

Redis 服务器是一个基于内存的键值存储数据库&#xff0c;具有高性能和丰富的数据结构支持。 Redis 服务器的基本使用方法 安装 Redis Redis 可以通过官方网站下载源码进行编译安装&#xff0c;也可以通过包管理工具直接安装。 在 Ubuntu 上&#xff0c;可以使用以下命令进…

从政府工作报告中的IT热词统计探计算机行业发展(三)智能网联新能源汽车:2次

从政府工作报告探计算机行业发展 政府工作报告作为政府工作的全面总结和未来规划&#xff0c;不仅反映了国家整体的发展态势&#xff0c;也为各行各业提供了发展的指引和参考。随着信息技术的快速发展&#xff0c;计算机行业已经成为推动经济社会发展的重要引擎之一。因此&…