当前位置: 首页 > news >正文

传统方式部署(RuoYi-Cloud)微服务

实验环境

192.168.10.43和192.168.10.44内存不能小于4G

一、安装MySQL(192.168.10.46)

1、安装MySQL依赖库

dnf -y install ncurses-compat-libs

2、上传mysql-8.0.42-linux-glibc2.17-x86_64-minimal.tar.xz二进制包到/root目录,解压并移动到指定目录

tar xf mysql-8.0.42-linux-glibc2.17-x86_64-minimal.tar.xzmv mysql-8.0.42-linux-glibc2.17-x86_64-minimal /usr/local/mysql

3、设置环境变量

echo 'export MYSQL_HOME=/usr/local/mysql' >> /etc/profileecho 'export PATH=$MYSQL_HOME/bin:$PATH' >> /etc/profilesource /etc/profile

4、创建MySQL用户和数据目录

useradd -r -s /bin/false -M mysqlmkdir -p /usr/local/mysql/datachown -R mysql:mysql /usr/local/mysql/

5、创建MySQL配置文件

cat > /etc/my.cnf << EOF[mysqld]basedir=/usr/local/mysqldatadir=/usr/local/mysql/datapid-file=/usr/local/mysql/data/mysqld.pidlog-error=/usr/local/mysql/data/mysql.errsocket=/tmp/mysql.sockEOF

6、初始化MySQL数据库

mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

7、创建systemctl管理文件

cat > /usr/lib/systemd/system/mysqld.service << EOF[Unit]Description=MySQL ServerAfter=network.target[Service]Type=forkingUser=mysqlGroup=mysqlExecStart=/usr/local/mysql/bin/mysqld --daemonizeExecStop=/usr/local/mysql/bin/mysqladmin shutdownRestart=on-failure[Install]WantedBy=multi-user.targetEOF

8、启动MySQL服务

systemctl daemon-reloadsystemctl enable --now mysqld

9、修改MySQL的root用户密码

grep password /usr/local/mysql/data/mysql.err

mysql -uroot -p
alter user 'root'@'localhost' identified by '123456';

二、安装redis(192.168.10.45)

下载地址:https://download.redis.io/releases/

1、下载源码包

wget https://download.redis.io/releases/redis-6.0.20.tar.gz

2、编译安装到指定目录

tar xf redis-6.0.20.tar.gzcd redis-6.0.20/make PREFIX=/usr/local/redis -j$(nproc)sudo make PREFIX=/usr/local/redis install

3、设置环境变量

echo 'export REDIS_HOME=/usr/local/redis' >> /etc/profileecho 'export PATH=$REDIS_HOME/bin:$PATH' >> /etc/profilesource /etc/profile

4、创建redis用户和专用目录

useradd -r -s /bin/false -M redismkdir -p /usr/local/redis/{conf,data,log}cp /root/redis-6.0.20/redis.conf /usr/local/redis/conf/chown -R redis:redis /usr/local/redis

5、修改配置文件

vim /usr/local/redis/conf/redis.conf

修改:

6、创建systemctl管理文件

cat > /usr/lib/systemd/system/redis.service << EOF[Unit]Description=Redis In-Memory Data StoreAfter=network.target[Service]Type=forkingUser=redisGroup=redisExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.confExecStop=/usr/local/redis/bin/redis-cli shutdownRestart=on-failurePrivateTmp=true[Install]WantedBy=multi-user.targetEOF

7、启动redis服务

systemctl daemon-reloadsystemctl enable --now redis

三、安装WEB(192.168.10.42)

1、下载nginx源码包

wget https://nginx.org/download/nginx-1.28.0.tar.gz

2、创建nginx用户

useradd -r -s /bin/false -M nginx

3、编译安装nginx

安装依赖

dnf -y install openssl-devel zlib-devel pcre-develtar xf nginx-1.28.0.tar.gzcd nginx-1.28.0/./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_mp4_module --with-http_stub_status_modulemake -j$(nproc) && make install

4、创建systemctl管理文件

cat > /usr/lib/systemd/system/nginx.service << EOF[Unit]Description=Nginx server daemonAfter=network.target[Service]Type=forkingExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.confExecStop=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -s stopExecReload=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf -s reloadRestart=on-failure[Install]WantedBy=multi-user.targetEOF

5、启动nginx服务

systemctl daemon-reloadsystemctl enable --now nginx

四、准备ruoyi源代码编译环境(192.168.10.47)

1、安装Java1.8

rocky9.5自带Java1.8

编译源代码需要安装java-1.8-devel

dnf -y install java-1.8.0-openjdk-develjava -version

2、安装maven3.8

(1)下载maven二进制包,解压并移动到指定目录

wget https://mirrors.aliyun.com/apache/maven/maven-3/3.8.9/binaries/apache-maven-3.8.9-bin.tar.gztar xf apache-maven-3.8.9-bin.tar.gzmv apache-maven-3.8.9 /usr/local/maven

(2)设置环境变量

echo 'export MAVEN_HOME=/usr/local/maven' >> /etc/profileecho 'export PATH=$MAVEN_HOME/bin:$PATH' >> /etc/profilesource /etc/profile

(3)查看maven版本

mvn -version

(4)配置maven

vim /usr/local/maven/conf/settings.xml

添加修改:

      <id>aliyunmaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/repositories/central</url>

    <profile><id>java8</id><activation><activeByDefault>true</activeByDefault></activation><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><maven.compiler.release>8</maven.compiler.release></properties></profile>

(5)查看系统环境信息和 Java 系统属性

mvn help:system

显示下载地址为阿里源即为正确

3、安装nodejs

下载地址:https://nodejs.org/download/release/v22.15.1/

(1)下载nodejs二进制包,解压并移动到指定目录

wget https://nodejs.org/download/release/v22.15.1/node-v22.15.1-linux-x64.tar.xztar xf node-v22.15.1-linux-x64.tar.xzmv node-v22.15.1-linux-x64 /usr/local/nodejs

(2)设置环境变量

vim /etc/profile

添加修改:

export NODEJS_HOME=/usr/local/nodejsexport PATH=$MAVEN_HOME/bin:$NODEJS_HOME/bin:$PATH

source /etc/profile

(3)查看nodejs版本

node -v

npm -v

(4)修改npm镜像源

查看当前 npm 的镜像源

npm get config registry

修改为淘宝镜像源

npm config set registry https://registry.npmmirror.com/npm get config registry

五、部署治理层

1、安装jdk1.8(192.168.10.43)

rocky9.5自带java1.8

需要安装java1.8的开发

dnf -y install java-1.8.0-openjdk-develjava -version

2、部署单机nacos(服务注册中心/配置管理中心)

Nacos(Dynamic Naming and Configuration Service)是阿里巴巴开源的一款集 服务发现配置管理服务治理 于一体的平台,适用于云原生和微服务架构。

下载地址:https://nacos.io/docs/latest/overview/

(1)上传nacos-server-2.5.1.zip包到/root目录,解压并移动到指定目录(192.168.10.43)

unzip nacos-server-2.5.1.zipmv nacos /usr/local/

(2)拷贝nacos数据库文件到MySQL服务器(192.168.10.43)

scp /usr/local/nacos/conf/mysql-schema.sql root@192.168.10.46:/root

(3)创建用户和数据库并导入nacos数据库文件(192.168.10.46)

登录MySQL

create user nacos@'192.168.10.%' identified by '123456';grant all on nacos.* to nacos@'192.168.10.%';create database nacos charset utf8mb4;
mysql -unacos -p123456 -h 192.168.10.46 nacos < /root/mysql-schema.sql

验证

mysql -unacos -p123456 -h 192.168.10.46
show databases;use nacos;show tables;

(4)修改nacos配置文件(192.168.10.43)

vim /usr/local/nacos/conf/application.properties

修改:

(5)启动nacos服务(192.168.10.43)

单机启动nacos

sh /usr/local/nacos/bin/startup.sh -m standalone

监控日志

tail -f /usr/local/nacos/logs/start.out

(6)访问nacos

使用浏览器访问192.168.10.43:8848/nacos

登录需要输入用户和密码时,均为nacos

3、安装sentinel(熔断服务)(192.168.10.43)

Sentinel(哨兵)是阿里巴巴开源的 流量控制熔断降级系统保护 的轻量级组件,专门用于解决微服务架构中的 高可用性稳定性 问题。

下载地址:https://github.com/alibaba/Sentinel/releases/tag/1.8.8

(1)上传sentinel-dashboard-1.8.8.jar jar包到/root目录

(2)启动sentinel服务

nohup java -Dserver.port=8718 -Dcsp.sentinel.dashboard.server=localhost:8718 -Dproject.name=sentinel-dashboard -Dcsp.sentinel.api.port.port=8719 -jar sentinel-dashboard-1.8.8.jar &> /var/log/sentinel.log &ss -anplt | grep 8718

(3)访问sentinel

使用浏览器访问192.168.10.43:8718

登录用户和密码均为sentinel

4、部署skywalking(链路监控服务)(192.168.10.43)

Apache SkyWalking 是一款开源的 应用性能监控(APM)和分布式追踪系统,专为微服务、云原生和容器化架构设计,帮助开发者快速定位性能瓶颈和故障根因。

官方下载地址:https://archive.apache.org/dist/skywalking/

第三方下载地址(下载速度更快):https://linux.oldxu.net/apache-skywalking-apm-8.8.1.tar.gz

(1)上传apache-skywalking-apm-8.8.1.tar.gz包到/root目录,解压并移动到指定目录

tar xf apache-skywalking-apm-8.8.1.tar.gzmv apache-skywalking-apm-bin/ /usr/local/

(2)启动skywalking服务

sh /usr/local/apache-skywalking-apm-bin/bin/startup.sh

ss -anplt | grep java

(3)访问skywalking

使用浏览器访问192.168.10.43:8080

六、部署微服务

1、克隆ruoyi-cloud源代码(192.168.10.47)

git clone https://gitee.com/y_project/RuoYi-Cloud.git

2、导入ruoyi相关库和表

(1)拷贝源代码中库文件到mysql服务器(192.168.10.47)

scp -r /root/RuoYi-Cloud/sql/ root@192.168.10.46:/root/

(2)创建数据库和用户并导入数据(192.168.10.46)

登录MySQL

create database `ry-cloud` charset utf8;create database `ry-config` charset utf8;create user root@'192.168.10.%' identified by '123456';grant all on *.* to root@'192.168.10.%';
mysql -uroot -p123456 -h 192.168.10.46 ry-cloud < /root/sql/quartz.sqlmysql -uroot -p123456 -h 192.168.10.46 ry-cloud < /root/sql/ry_20250523.sqlmysql -uroot -p123456 -h 192.168.10.46 ry-config < /root/sql/ry_config_20250224.sql

3、配置nacos(192.168.10.43)

(1)修改配置文件

vim /usr/local/nacos/conf/application.properties

修改:

(2)重启nacos服务

sh /usr/local/nacos/bin/shutdown.shsh /usr/local/nacos/bin/startup.sh -m standalone

监控日志

tail -f /usr/local/nacos/logs/start.out

(3)访问nacos

使用浏览器访问192.168.10.43:8848/nacos

4、修改ruoyi源代码(192.168.10.47)

vim /root/RuoYi-Cloud/ruoyi-auth/src/main/resources/bootstrap.yml

修改:

vim /root/RuoYi-Cloud/ruoyi-gateway/src/main/resources/bootstrap.yml

修改:

vim /root/RuoYi-Cloud/ruoyi-modules/ruoyi-file/src/main/resources/bootstrap.yml

修改:

vim /root/RuoYi-Cloud/ruoyi-modules/ruoyi-gen/src/main/resources/bootstrap.yml

修改:

vim /root/RuoYi-Cloud/ruoyi-modules/ruoyi-job/src/main/resources/bootstrap.yml

修改:

vim /root/RuoYi-Cloud/ruoyi-modules/ruoyi-system/src/main/resources/bootstrap.yml

修改:

vim /root/RuoYi-Cloud/ruoyi-visual/ruoyi-monitor/src/main/resources/bootstrap.yml

修改:

5、编译ruoyi源代码

cd /root/RuoYi-Cloud/mvn clean package

6、拷贝所有jar包到service(192.168.10.44)服务器

(1)创建jar包存放目录(192.168.10.44)

mkdir /ruoyi-service

(2)拷贝jar包(192.168.10.47)

find /root/RuoYi-Cloud/ -name *.jar -exec scp {} 192.168.10.44:/ruoyi-service/ \;

7、使用nacos修改相应服务的yaml文件

(1)修改ruoyi-system-dev.yml

删除添加:

# spring配置

spring:

  redis:

    host: 192.168.10.45

    port: 6379

    password:

  cloud:

    sentinel:

      eager: true

      transport:

        dashboard: 192.168.10.43:8718

  datasource:

    druid:

      stat-view-servlet:

        enabled: true

        loginUsername: admin

        loginPassword: 123456

    dynamic:

      druid:

        initial-size: 5

        min-idle: 5

        maxActive: 20

        maxWait: 60000

        timeBetweenEvictionRunsMillis: 60000

        minEvictableIdleTimeMillis: 300000

        validationQuery: SELECT 1 FROM DUAL

        testWhileIdle: true

        testOnBorrow: false

        testOnReturn: false

        poolPreparedStatements: true

        maxPoolPreparedStatementPerConnectionSize: 20

        filters: stat,slf4j

        connectionProperties: druid.stat.mergeSql\=true;druid.stat.slowSqlMillis\=5000

      datasource:

        # 主库数据源

        master:

          driver-class-name: com.mysql.cj.jdbc.Driver

          url: jdbc:mysql://192.168.10.46:3306/ry-cloud?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8

          username: root

          password: 123456

        # 从库数据源

        # slave:

        #   username:

        #   password:

        #   url:

        #   driver-class-name:

      # seata: true   # 开启seata代理,开启后默认每个数据源都代理,如果某个不需要代理可单独关闭

# seata配置

seata:

  # 默认关闭,如需启用spring.datasource.dynami.seata需要同时开启

  enabled: false

  # Seata 应用编号,默认为 ${spring.application.name}

  application-id: ${spring.application.name}

  # Seata 事务组编号,用于 TC 集群名

  tx-service-group: ${spring.application.name}-group

  # 关闭自动代理

  enable-auto-data-source-proxy: false

  # 服务配置项

  service:

    # 虚拟组和分组的映射

    vgroup-mapping:

      ruoyi-system-group: default

  config:

    type: nacos

    nacos:

      serverAddr: 127.0.0.1:8848

      group: SEATA_GROUP

      namespace:

  registry:

    type: nacos

    nacos:

      application: seata-server

      server-addr: 127.0.0.1:8848

      namespace:

# mybatis配置

mybatis:

  # 搜索指定包别名

  typeAliasesPackage: com.ruoyi.system

  # 配置mapper的扫描,找到所有的mapper.xml映射文件

  mapperLocations: classpath:mapper/**/*.xml

# swagger配置

swagger:

  title: 系统模块接口文档

  license: Powered By ruoyi

  licenseUrl: https://ruoyi.vip

(2)修改ruoyi-auth-dev.yml

修改添加:

spring:

  redis:

    host: 192.168.10.45

    port: 6379

    password:

  cloud:

    sentinel:

      eager: true

      transport:

        dashboard: 192.168.10.43:8718

(3)修改ruoyi-gateway-dev.yml

修改:

(4)修改ruoyi-monitor-dev.yml

8、部署skywalking代理(192.168.10.44)

Apache SkyWalking Java Agent 是 SkyWalking APM(应用性能监控)系统的 Java 探针(Agent),用于 无侵入式 采集 Java 应用的性能数据(如调用链路、JVM 指标、SQL 执行情况等),并将数据上报至 SkyWalking OAP 服务器进行分析和可视化展示。

官方下载地址:https://archive.apache.org/dist/skywalking/java-agent/

第三方下载地址(下载速度更快):https://linux.oldxu.net/apache-skywalking-java-agent-8.8.0.tgz

上传apache-skywalking-java-agent-8.8.0.tgz包到/root目录,解压并移动到指定目录

tar xf apache-skywalking-java-agent-8.8.0.tgzmv skywalking-agent/ /usr/local/

9、启动服务(192.168.10.44)

(1)启动ruoyi-system(ruoyi系统模块)服务

nohup java -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=ruoyi-system -Dskywalking.collector.backend_service=192.168.10.43:11800 -Dspring.profiles.active=dev -Dspring.cloud.nacos.config.file-extension=yml -Dspring.cloud.nacos.discovery.server-addr=192.168.10.43:8848 -Dspring.cloud.nacos.config.server-addr=192.168.10.43:8848 -jar /ruoyi-service/ruoyi-modules-system.jar &>/var/log/system.log &

字段解析:

  • 核心命令

nohup

忽略挂断信号,确保终端关闭后进程仍运行

&>/var/log/system.log

将标准输出和错误输出重定向到 /var/log/system.log 文件

&

在后台运行进程

-jar /ruoyi-service/ruoyi-modules-system.jar

指定启动的可执行 JAR 文件

  • Java Agent 参数(SkyWalking 监控)

参数

说明

-javaagent:/usr/local/skywalking-agent/skywalking-agent.jar

挂载 SkyWalking Agent,实现无侵入式监控

-Dskywalking.agent.service_name=ruoyi-system

指定服务名(在 SkyWalking UI 中显示)

-Dskywalking.collector.backend_service=192.168.10.43:11800

SkyWalking OAP 服务器地址,用于接收监控数据

  • 应用配置参数

参数

说明

-Dspring.profiles.active=dev

激活 dev 环境配置(如 application-dev.yml)

-Dspring.cloud.nacos.config.file-extension=yml

指定 Nacos 配置中心的文件格式为 YAML

-Dspring.cloud.nacos.discovery.server-addr=192.168.10.43:8848

Nacos 注册中心地址,用于服务注册与发现

-Dspring.cloud.nacos.config.server-addr=192.168.10.43:8848

Nacos 配置中心地址,用于动态获取配置(如数据库连接信息)

监控日志

tail -f /var/log/system.log

查看nacos服务列表

(2)启动ruoyi-auth(ruoyi认证服务)服务

nohup java -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=ruoyi-auth -Dskywalking.collector.backend_service=192.168.10.43:11800 -Dspring.profiles.active=dev -Dspring.cloud.nacos.config.file-extension=yml -Dspring.cloud.nacos.discovery.server-addr=192.168.10.43:8848 -Dspring.cloud.nacos.config.server-addr=192.168.10.43:8848 -jar /ruoyi-service/ruoyi-auth.jar &>/var/log/auth.log &

监控日志

tail -f /var/log/auth.log

查看nacos服务列表

(3)启动ruoyi-gateway(ruoyi网关服务)服务

nohup java -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=ruoyi-gateway -Dskywalking.collector.backend_service=192.168.10.43:11800 -Dspring.profiles.active=dev -Dspring.cloud.nacos.config.file-extension=yml -Dspring.cloud.nacos.discovery.server-addr=192.168.10.43:8848 -Dspring.cloud.config.server-addr=192.168.10.43:8848 -jar /ruoyi-service/ruoyi-gateway.jar &>/var/log/gateway.log &

监控日志

tail -f /var/log/gateway.log

查看nacos服务列表

(4)启动ruoyi-monitor(ruoyi监控服务)服务

nohup java -javaagent:/usr/local/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=ruoyi-monitor -Dskywalking.collector.backend_service=192.168.10.43:11800 -Dspring.profiles.active=dev -Dspring.cloud.nacos.config.file-extension=yml -Dspring.cloud.nacos.discovery.server-addr=192.168.10.43:8848 -Dspring.cloud.nacos.config.server-addr=192.168.10.43:8848 -jar /ruoyi-service/ruoyi-visual-monitor.jar &>/var/log/monitor.log &

监控日志

tail -f /var/log/monitor.log

查看nacos服务列表

10、配置ruoyi前端源代码(192.168.10.47)

(1)修改前端源代码

指定后端接口IP

vim /root/RuoYi-Cloud/ruoyi-ui/vue.config.js

修改:

(2)使用nodejs构建前端代码

安装依赖

cd /root/RuoYi-Cloud/ruoyi-ui/npm install

构建

npm run build:prod

查看构建后生成的文件

ls dist/

11、修改nginx配置文件(192.168.10.42)

vim /usr/local/nginx/conf/nginx.conf

修改添加:

            try_files $uri $uri/ /index.html;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://192.168.10.44:8080/;}

创建网页目录

mkdir /ruoyi

重启nginx服务

systemctl restart nginx

12、拷贝前端代码到web服务器(192.168.10.47)

scp -r /root/RuoYi-Cloud/ruoyi-ui/dist/ root@192.168.10.42:/ruoyi/

13、访问前端验证

使用浏览器访问192.168.10.42

http://www.dtcms.com/a/336929.html

相关文章:

  • 一套GoldenGate → Kafka → Flink → MySQL 的端到端增量同步方案
  • 云计算学习100天-第17天
  • Linux学习-(进程间,线程间通信)
  • nuScence数据集
  • 计算机视觉 图像处理 在两张二值图中检测线条交集点的高效方法 适合工程图纸比对、生物神经元网络分析和文档特征提取等场景 ,
  • 20. 云计算-Service MeshServerless
  • 谷粒商城项目-P3简介-分布式基础概念
  • CloudBase AI ToolKit + VSCode Copilot:打造高效智能云端开发新体验
  • 【运维进阶】LNMP + WordPress 自动化部署实验
  • CMakeLists.txt 学习笔记
  • MariaDB/MySQL 客户端工具与服务端配置精要指南
  • C++---有符号和无符号整数的位移操作
  • 云原生俱乐部-mysql知识点归纳(1)
  • 《亚矩阵云手机重构出租接单:KVM 虚拟化与边缘计算驱动的设备替代技术路径》
  • 8.18决策树
  • 性能测试(Jemter)
  • grep命令要点、详解和示例
  • 基于nvm安装管理多个node.js版本切换使用(附上详细安装使用图文教程+nvm命令大全)
  • QT第九讲- 控件委托
  • Git智能合并机制深度解析
  • ChatGPT-5 对教育行业的影响与案例研究
  • Qt笔试题
  • 录像视频删除如何恢复?手机电脑的录像恢复技巧
  • 给linux的root磁盘扩容
  • 手游搬砖对云手机的需求有哪些?
  • 机器学习实例应用
  • 获粤港澳大湾区碳足迹认证:遨游智能三防手机赋能绿色通信
  • VLN视觉语言导航(3)——神经网络的构建和优化 2.3
  • 二十八、案例-部门管理-查询
  • Android中flavor的使用