程序汪若依微服务华为云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      

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

全局UI方法-弹窗二-列表选择弹窗(ActionSheet)

1、描述 定义列表弹窗 2、接口 ActionSheet.show(value:{ title: string | Resource, message: string | Resource, autoCancel?: boolean, confrim?: {value: string | Resource, action: () > void }, cancel?: () > void, alignment?: DialogAlignment, …

Lightguide

Resolve Assembly Challenges with Projected AR Workflows The future of assembly is here. It’s not just about automation, it’s about empowering your workforce with the best possible digital toolset. LightGuide AR is a powerful addition to your Industry 4.…

基于单片机的便携式瓦斯检测仪系统设计

**单片机设计介绍&#xff0c;基于单片机的便携式瓦斯检测仪系统设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的便携式瓦斯检测仪系统设计是一个针对煤矿等工业环境中瓦斯气体浓度检测的重要项目。以下是该设计…

C++template之类模版进一步了解

前言&#xff1a;这一篇是在我的上一篇文章的基础上&#xff0c;再进一步所写的。 链接&#xff1a;CTemplate&#xff1c;&#xff1e;模版的介绍及深度解析-CSDN博客 一、类模板实例化 1.非类型模版参数 类型模版参数&#xff1a;就是跟在 class后面或者typename后的类型 非…

Java NIO和IO之间的区别

前言 NIO&#xff08;New IO&#xff09;&#xff0c;这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的&#xff0c;但实现方式不同&#xff0c;NIO主要用到的是块&#xff0c;所以NIO的效率要比IO高很多。在Java API中提供了两套NIO&#xff0c;一套是针对标准输入输出…

WebPack的使用及属性配、打包资源

WebPack(静态模块打包工具)(webpack默认只识别js和json内容) WebPack的作用 把静态模块内容压缩、整合、转译等&#xff08;前端工程化&#xff09; 1️⃣把less/sass转成css代码 2️⃣把ES6降级成ES5 3️⃣支持多种模块文件类型&#xff0c;多种模块标准语法 export、export…

企业如何有效防止员工偷懒磨洋工?

在当今竞争激烈的商业环境中&#xff0c;企业要想保持竞争力和提高效益&#xff0c;就必须确保员工不偷懒不磨洋工。然而&#xff0c;要有效防止员工偷懒磨洋工并非易事&#xff0c;需要企业采取一系列措施来引导和监督员工的工作状态。 下面就分享三个有效防止员工偷懒磨洋工…

unity3d for web

时光噶然 一晃好多年过去了&#xff08;干了5年的u3d游戏&#xff09;&#xff0c;记得最后一次使用的版本好像是 unity 2017。 那个是 unity3d for webgl 还需要装个插件。用起来很蛋疼。 最近做一个小项目 在选择是用 Layabox 还是 cocosCreate 的时候 我想起了老战友 Uni…

DeepMind终结大模型幻觉?标注事实比人类靠谱、还便宜20倍,全开源

ChatGPT狂飙160天&#xff0c;世界已经不是之前的样子。 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源​ 发布在https://it.weoknow.com 更多资源欢迎关注 ​ DeepMind 这篇论文一出&#xff0c;人类标注者的饭碗也要被砸了吗&a…

警惕.360勒索病毒:如何预防.360勒索病毒攻击

导言&#xff1a; 在网络安全领域&#xff0c;勒索病毒是一种非常危险的恶意软件&#xff0c;它以其独特的加密方式和高昂的赎金要求&#xff0c;给个人和企业带来了严重的损失。.360勒索病毒便是其中之一&#xff0c;它属于BeijingCrypt勒索病毒家族&#xff0c;具有高度的隐…

2024 年广西职业院校技能大赛高职组《云计算应用》赛项样卷

#需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包及镜…

iOS网络抓包工具全解析

摘要 本文将深入探讨iOS平台上常用的网络抓包工具&#xff0c;包括Charles、克魔助手、Thor和Http Catcher&#xff0c;以及通过SSH连接进行抓包的方法。此外&#xff0c;还介绍了克魔开发助手作为iOS应用开发的辅助工具&#xff0c;提供的全方面性能监控和调试功能。 在iOS应…

2024年妈妈杯数学建模思路A题B题C题D题思路分享

文章目录 1 赛题思路2 比赛日期和时间3 组织机构4 建模常见问题类型4.1 分类问题4.2 优化问题4.3 预测问题4.4 评价问题 5 建模资料 1 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 2 比赛日期和时间 报名截止时间&#xff1a;2024…

AI预测福彩3D第20弹【2024年3月28日预测--第5套算法开始计算第2次测试】

今天&#xff0c;咱们继续进行本套算法的测试&#xff0c;今天为第二次测试&#xff0c;仍旧是采用冷温热趋势结合AI模型进行预测。好了&#xff0c;废话不多说了。直接上结果~ 仍旧是分为两个方案&#xff0c;1大1小。 经过人工神经网络计算并进行权重赋值打分后&#xff0c;3…

【论文阅读】ELA: Efficient Local Attention for Deep Convolutional Neural Networks

&#xff08;ELA&#xff09;Efficient Local Attention for Deep Convolutional Neural Networks 论文链接&#xff1a;ELA: Efficient Local Attention for Deep Convolutional Neural Networks (arxiv.org) 作者&#xff1a;Wei Xu, Yi Wan 单位&#xff1a;兰州大学信息…

【MySQL探索之旅】MySQL数据表的增删查改——约束

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更…

【学习】企业为什么要做信创适配性测试

信创产业的发展不仅关乎国家的信息安全和自主可控&#xff0c;也直接关系到经济社会的创新和转型升级。因此&#xff0c;国家积极出台了一系列支持政策&#xff0c;以促进信创产业的快速发展。在各项政策出台的推动下&#xff0c;信创产品已经成为越来越多企业和机构的首选。信…

骨传导耳机哪个牌子值得入手?公认口碑排行前5名,强烈推荐!

我作为一名数码达人&#xff0c;对各类数码产品都了解的比较多&#xff0c;最近也会被很多人询问关于骨传导耳机哪个牌子好&#xff0c;哪个牌子值得入手的问题&#xff0c;后面了解后发现很多人入手的骨传导耳机都是劣质产品&#xff0c;在使用中经常遇到各类问题&#xff0c;…

【Go】结构体中Tag标识

https://blog.csdn.net/weixin_45193103/article/details/123876319 https://blog.csdn.net/qq_49723651/article/details/122005291 https://juejin.cn/post/7005465902804123679 学一点&#xff0c;整一点&#xff0c;基本都是综合别人的&#xff0c;弄成我能理解的内容 Tag定…

【JavaSE】java刷题——基础语法熟练应用

前言 通过本篇题目&#xff0c;可以让初学Java的小伙伴们更加熟练Java的基础语法~ 欢迎关注个人主页&#xff1a;逸狼 创造不易&#xff0c;可以点点赞吗~ 如有错误&#xff0c;欢迎指出~ 题1&#xff1a;数字9 出现的次数 题述&#xff1a;编写程序数一下 1到 100 的所有整数中…