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

news2024/11/13 15:23:46

图片

若依官方有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.coloradmin.cn/o/1543805.html

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

相关文章

【论文阅读】Probabilistic Imputation for Time-series Classification with Missing Data

Probabilistic Imputation for Time-series Classification with Missing Data 论文链接&#xff1a;https://icml.cc/virtual/2023/poster/23522 作者&#xff1a;SeungHyun Kim Hyunsu Kim EungGu Yun Hwangrae Lee Jaehun Lee Juho Lee 机构&#xff1a;韩国科学技术…

C++关于类和对象的基础语法

前言&#xff1a; 介绍c中类和对象的基础语法和注意事项&#xff0c;这里是c入门的第一道坎&#xff0c;细节很多&#xff0c;在后面的更深的学习中还会反复提到。 目录 前言&#xff1a; 1.OO语言 2.类的定义 3.类的访问限定符与封装的引入 4.类的实例化 5.关键字this指…

网络七层模型之应用层:理解网络通信的架构(七)

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

算法——模拟专题(一篇搞定)

在本专栏已经更新双指针算法,滑动窗口算法,二分查找算法,前缀和算法以及位运算算法,欢迎大家跳转至相关专题阅读 此篇文章为大家带来算法专栏的模拟专题 模拟算法本质就是比葫芦画瓢&#xff0c;思路比较简单&#xff0c;就是将演算流程转化为代码 目录 1.替换所有的问号 1.1…

eclipse导入svn项目

1、配置maven 2、用svn引入项目 3一直点击next,到最后选完成。

Orangedx:引领新一轮 BTCFi 浪潮

“OrangeDx 作为新一轮 BTCFi 浪潮引领者被市场寄予厚望 &#xff0c;前不久在 FinceptorApp 的平台的公开销售 20 万美元的额度仅在几秒售罄&#xff0c;而其即将以 Startup 方式登陆 Gate 平台也同样备受市场期待。” 自 Ordinals 面向市场为比特币生态带来全新的资产发行方案…

函数作用域和块级作用域:JavaScript中的变量作用域解析

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

OpenGL学习笔记【4】——创建窗口,给窗口添加渲染颜色

一、前三章节的前情回顾 章节一&#xff1a;上下文(Context) OpenGL学习笔记【1】——简介-CSDN博客 章节一讲述了OpenGL在渲染的时候需要一个Context来记录了OpenGL渲染需要的所有信息和状态&#xff0c;可以把上下文理解成一个大的结构体&#xff0c;它里面记录了当前绘制使…

【@changesets/cli】变更集实战教程

一、背景概述 前端目前基于Monorepo架构的npm包开发很普遍&#xff0c;在开发完毕后&#xff0c;我们需要对包进行版本号升级&#xff0c;并且部署&#xff0c;这些操作如果是手动来操作的话&#xff0c;很麻烦&#xff0c;而且容易出错。 例如有这样的场景&#xff1a; -ap…

【可用Claude Opus模型】Claude3国内镜像站,亲测完全超越GPT-4(可用Claude Opus,官网价值20刀)

#今天在知乎看到一个问题&#xff1a;“平民不参与内测的话没有账号还有机会使用Claude 3吗&#xff1f;” 从去年GPT大火到现在&#xff0c;关于GPT的消息铺天盖地&#xff0c;真要有心想要去用&#xff0c;途径很多&#xff0c;别的不说&#xff0c;国内GPT的镜像站到处都是…

C++ 扫描当前路径下文件并删除大文件

C 扫描当前路径下文件并删除大文件 C获取当前路径扫描文件路径下规定后缀名称的文件计算文件大小 1. 获取当前路径 使用<Windows.h>中的GetCurrentDirectory方法实现&#xff0c;单独编写验证程序如下&#xff1a; #include<iostream> #include<Windows.h&g…

YOLOv9改进策略:IoU优化 | Powerful-IoU更好、更快的收敛IoU,效果秒杀CIoU、GIoU等 | 2024年最新IoU

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文独家改进&#xff1a;Powerful-IoU更好、更快的收敛IoU&#xff0c;是一种结合了目标尺寸自适应惩罚因子和基于锚框质量的梯度调节函数的损失函数 &#x1f4a1;&#x1f4a1;&#x1f4a1;MS COCO和PASCAL VOC数据集实现涨点 YO…

R语言基础入门

1.保存或加载工作空间 改变工作目录——进行文件读写&#xff0c;默认去指定文件进行操作。&#xff08;使用R时&#xff0c;最好先设定工作目录&#xff08;setwd(),getwd()&#xff09;&#xff09; setwd(“工作文件路径”)&#xff1a;建立工作目录 getwd&#xff08;&…

【Mysql数据库基础07】DDL 数据定义语言

Data Definition Language 1 库的操作1.1 create 创建1.2 alter 修改1.3 drop 删除 2 表的操作2.1 表的创建2.2 表的修改2.2.1 修改表名2.2.2 修改列名2.2.3 修改列的类型和约束2.2.4 添加列2.2.5 删除列 2.3 表的删除2.4 表的复制 3 练习 1 库的操作 1.1 create 创建 create…

jvm(虚拟机)运行时数据区域介绍

Java虚拟机&#xff08;JVM&#xff09;运行时数据区域是Java程序在运行过程中使用的内存区域&#xff0c;它主要包括以下几个部分&#xff1a; 程序计数器&#xff08;Program Counter Register&#xff09;&#xff1a; 程序计数器是一块较小的内存区域&#xff0c;是线程私有…

法律合规| AI产品法律风险应对措施全解析

在此前推文中我们全面分析了生成式人工智能算法模型可能遇到的法律风险&#xff0c;那么这些风险应该如何应对呢&#xff1f; 1、隐私泄漏风险&#xff1a;企业需要遵守数据安全法和个人信息保护法的规定&#xff0c;确保数据来源合法&#xff0c;使用时获得用户授权&…

citus的快速开始

准备 dockercitus最新版本&#xff08;docker pull citusdata/citus&#xff09; docker网络 docker network create --subnet172.72.9.0/24 citus-test docker network ls启动citus服务 启动协调节点 docker run -dit --name citus-cod -p 5433:5432 -e POSTGRES_PASSWOR…

【vue3学习之路(一)】

文章目录 前言一、vue3项目创建1.1环境准备1.1.1 基于 vue-cli 创建&#xff08;脚手架创建&#xff09;1.1.2 基于 vite 创建&#xff08;推荐&#xff09; 二、熟悉流程总结 前言 参考视频&#xff1a;https://www.bilibili.com/video/BV1Za4y1r7KE?p10&spm_id_frompag…

使用uniapp 的 plus.sqlite 操作本地数据库报错:::table xxx has no column named xxxx

背景&#xff1a; 1、使用uniapp 的 plus.sqlite 进行APP本地数据库操作 2、SQLite 模块用于操作本地数据库文件&#xff0c;可实现数据库文件的创建&#xff0c;执行SQL语句等功能。 遇到&#xff1a;在之前创建的表上进行新增字段的操作时候&#xff0c;出现问题&#xff1a…

MyEclipse打开文件跳转到notepad打开问题

问题描述 windows系统打开README.md文件&#xff0c;每次都需要右键选择notepad打开&#xff0c;感觉很麻烦&#xff0c;然后就把README.md文件打开方式默认选择了notepad&#xff0c;这样每次双击就能打开&#xff0c;感觉很方便。 然后某天使用MyEclipse时&#xff0c;双击RE…