RuoYi云服务器部署全攻略:从零到生产环境搭建
2025.09.18 12:10浏览量:0简介:本文详细解析RuoYi系统在云服务器上的部署流程,涵盖环境准备、依赖安装、配置优化及安全加固等关键环节,为开发者提供可落地的生产环境部署方案。
RuoYi云服务器部署系统:从环境搭建到生产就绪的完整指南
一、RuoYi系统部署前的云服务器环境准备
1.1 云服务器规格选型建议
根据RuoYi系统特性,建议选择至少2核4G内存的云服务器(如阿里云ECS、腾讯云CVM等),操作系统推荐CentOS 8或Ubuntu 20.04 LTS。对于高并发场景,建议采用4核8G配置并启用负载均衡。
1.2 基础环境搭建流程
# 安装必要工具链
sudo yum install -y wget curl git
# 或Ubuntu系统
sudo apt update && sudo apt install -y wget curl git
# 配置防火墙规则(以CentOS为例)
sudo firewall-cmd --permanent --add-port={80/tcp,443/tcp,3306/tcp,8080/tcp}
sudo firewall-cmd --reload
1.3 依赖服务安装指南
- JDK 11:推荐使用OpenJDK
sudo yum install -y java-11-openjdk-devel
# 验证安装
java -version
- MySQL 8.0:
# CentOS安装示例
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el8-3.noarch.rpm
sudo yum install -y mysql-community-server
sudo systemctl start mysqld
二、RuoYi系统核心组件部署
2.1 后端服务部署流程
代码获取与编译:
git clone https://gitee.com/y_project/RuoYi-Vue.git
cd RuoYi-Vue/ruoyi-admin
mvn clean package -DskipTests
配置文件调整:
修改application.yml
中的数据库连接信息:spring:
datasource:
url: jdbc
//localhost:3306/ry?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
username: root
password: your_password
启动服务:
nohup java -jar ruoyi-admin.jar > admin.log 2>&1 &
2.2 前端项目部署
Node环境配置:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
source ~/.bashrc
nvm install 16
构建与部署:
cd RuoYi-Vue/ruoyi-ui
npm install
npm run build:prod
# 将dist目录内容上传至Nginx静态资源目录
三、云服务器优化与安全加固
3.1 性能优化策略
- JVM调优参数:
JAVA_OPTS="-Xms512m -Xmx1024m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m"
- MySQL索引优化:
-- 示例:为sys_user表添加常用查询索引
ALTER TABLE sys_user ADD INDEX idx_username (username);
3.2 安全防护措施
SSH安全加固:
# 修改默认SSH端口
sudo vim /etc/ssh/sshd_config
Port 2222
# 禁用root登录
PermitRootLogin no
sudo systemctl restart sshd
Nginx安全配置:
server {
listen 443 ssl;
server_name your-domain.com;
# SSL配置
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
# 安全头设置
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
}
四、运维监控体系搭建
4.1 日志收集与分析
配置Logback日志轮转:
<!-- logback-spring.xml示例 -->
<appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/ruoyi.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>logs/ruoyi.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<maxFileSize>100MB</maxFileSize>
<maxHistory>30</maxHistory>
</rollingPolicy>
</appender>
4.2 监控告警设置
Prometheus监控配置:
# prometheus.yml配置示例
scrape_configs:
- job_name: 'ruoyi'
metrics_path: '/actuator/prometheus'
static_configs:
- targets: ['localhost:8080']
Grafana仪表盘:
建议监控指标:- JVM内存使用率
- 数据库连接数
- 请求响应时间
五、常见问题解决方案
5.1 数据库连接失败排查
- 检查MySQL服务状态:
sudo systemctl status mysqld
- 验证防火墙设置:
sudo firewall-cmd --list-ports
5.2 前端资源加载404错误
- 检查Nginx配置中的
root
路径是否正确指向dist
目录 - 验证前端构建时配置的
publicPath
:// vue.config.js
module.exports = {
publicPath: process.env.NODE_ENV === 'production' ? '/./' : '/'
}
六、进阶部署方案
6.1 容器化部署
- Docker Compose示例:
version: '3'
services:
ruoyi-admin:
image: openjdk:11-jre
ports:
- "8080:8080"
volumes:
- ./ruoyi-admin.jar:/app.jar
command: ["java", "-jar", "/app.jar"]
mysql:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: your_password
volumes:
- ./mysql_data:/var/lib/mysql
6.2 持续集成/持续部署(CI/CD)
- GitHub Actions示例:
七、生产环境检查清单
基础设施验证:
- 云服务器资源监控是否开启
- 备份策略是否配置(每日全量+增量备份)
安全合规检查:
- 敏感数据是否加密存储
- 访问日志是否保留至少90天
性能基准测试:
# 使用JMeter进行压力测试
jmeter -n -t test_plan.jmx -l result.jtl
通过以上系统化的部署方案,开发者可以高效完成RuoYi系统在云服务器上的部署工作。建议定期进行安全审计和性能优化,确保系统长期稳定运行。对于企业级应用,建议采用蓝绿部署或金丝雀发布策略降低升级风险。
发表评论
登录后可评论,请前往 登录 或 注册