程序汪若依微服务华为云Linux部署保姆教程
单应用版本
前后分离版本
微服务版本
本视频是若依微服务版本,如果基础的环境软件都不会安装建议看下程序汪的单应用和前后端分离版本教程,
保姆级教程=笔记(本文章)+视频(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即可)
传送门:
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
点下方原文链接观看B站视频版本