程序汪若依微服务华为云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 [email protected]: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

相关推荐
Dovis(誓平步青云)1 小时前
“Cloud Native English“云原生时代下的微服务架构设计:从理论到实战全解析
经验分享·微服务·云原生·架构
Hello World......1 小时前
Java求职面试揭秘:从Spring到微服务的技术挑战
大数据·hadoop·spring boot·微服务·spark·java面试·互联网大厂
Hello World......1 小时前
互联网大厂Java面试:从Spring到微服务的全面探讨
java·spring boot·spring cloud·微服务·面试·技术栈·互联网大厂
再拼一次吧1 小时前
微服务初步学习
微服务·云原生·架构
伤不起bb2 小时前
MySQL 高可用
linux·运维·数据库·mysql·安全·高可用
tmacfrank5 小时前
网络编程中的直接内存与零拷贝
java·linux·网络
QQ2740287568 小时前
Soundness Gitpod 部署教程
linux·运维·服务器·前端·chrome·web3
qwfys2008 小时前
How to configure Linux mint desktop
linux·desktop·configure·mint
南方以南_8 小时前
Ubuntu操作合集
linux·运维·ubuntu
苍煜9 小时前
Maven构建流程详解:如何正确管理微服务间的依赖关系-当依赖的模块更新后,我应该如何重新构建主项目
java·微服务·maven