news 2026/4/25 13:55:24

从零到一:在CentOS 7上实战部署若依前后端分离项目(ruoyi-vue)全流程解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从零到一:在CentOS 7上实战部署若依前后端分离项目(ruoyi-vue)全流程解析

1. 环境准备:从零搭建CentOS 7服务器

第一次接触Linux服务器部署时,我对着云服务商的控制台研究了整整半天。选择CentOS 7而不是其他发行版的原因很简单——它就像技术界的"普通话",网上90%的教程都基于这个系统。记得当时在华为云的EulerOS和CentOS之间犹豫不决,最后发现CentOS 7的软件兼容性更好,遇到问题也更容易找到解决方案。

购买服务器时有个小技巧:先选按量付费模式测试配置,确认没问题再转包年包月。我通常选择2核4G的配置起步,这对若依系统来说完全够用。重置密码后千万别急着关闭页面,建议用Keepass这类密码管理工具保存IP、端口和密码。第一次登录时可能会被要求修改初始密码,这个步骤经常被新手忽略导致后续登录失败。

2. 基础环境安装:JDK、MySQL与Redis

2.1 Java环境配置

在CentOS上安装JDK就像在Windows上装QQ一样简单——只要用对命令。我习惯用yum安装OpenJDK 8,这是最稳定的选择:

yum install -y java-1.8.0-openjdk*

装完后别急着庆祝,记得检查版本号:

java -version

最关键的环节是配置环境变量。很多新手会卡在这里,其实只要记住三个要点:

  1. 编辑/etc/profile文件时要用sudo权限
  2. JAVA_HOME路径通常是/usr/lib/jvm/java-1.8.0
  3. 修改后必须执行source /etc/profile使配置生效

2.2 MySQL 5.7安装指南

MySQL安装就像搭积木,必须按顺序安装各个组件。我推荐下载官方rpm包手动安装,虽然比yum麻烦但更可控。遇到过最坑的问题是依赖缺失,这时候只需要:

yum install -y libaio

安装完成后,一定要去/var/log/mysqld.log找初始密码,这个随机密码只能用一次。修改密码时要注意复杂度要求,我常用的模板是"项目名+特殊符号+数字",比如"RuoYi@2023"。

2.3 Redis部署技巧

Redis安装就像组装乐高,先装gcc编译器这个"工具箱":

yum install -y gcc

编译安装时有个经验之谈:如果make命令卡住,可能是内存不足,可以加个swap分区。生产环境建议配置密码认证和持久化,但测试环境直接用默认配置也行。启动服务时一定要用守护进程模式:

./redis-server redis.conf

3. 前端部署:Nginx配置实战

Nginx就像项目的门面,配置不当会导致页面白屏或接口404。我建议用yum直接安装:

yum install -y nginx

关键配置在/etc/nginx/nginx.conf,需要特别注意两个location块:

  1. 前端静态文件路径要指向dist目录
  2. /prod-api/要代理到后端服务端口

常见坑点包括:

  • 忘记开放80端口防火墙
  • 路径写错导致403错误
  • 缓存配置不当导致更新不生效

测试配置是否正确有个小技巧:

nginx -t

4. 若依系统部署全流程

4.1 数据库初始化

导入SQL文件时最容易遇到字符集问题,创建数据库时一定要指定utf8:

CREATE DATABASE vue DEFAULT CHARACTER SET=utf8

导入数据后别忘了检查表是否完整:

SHOW TABLES;

4.2 后端服务部署

打包好的jar文件可以通过scp命令上传到服务器:

scp ruoyi-admin.jar root@your_server_ip:/app/ruoyi/

启动服务时建议用nohup防止断开连接后服务停止:

nohup java -jar ruoyi-admin.jar &

4.3 前端资源部署

Vue项目build生成的dist目录要完整上传到服务器。我习惯用rsync同步,比ftp更可靠:

rsync -avz dist/ root@your_server_ip:/app/ruoyi-ui

5. 常见问题排查手册

部署过程中最常遇到的三个问题:

  1. 端口冲突:用netstat -tunlp查看占用情况
  2. 权限不足:chmod -R 755 /app解决目录权限
  3. 服务未启动:systemctl status查看服务状态

日志查看是排查问题的金钥匙:

  • 后端日志:tail -f nohup.out
  • Nginx日志:/var/log/nginx/error.log
  • MySQL日志:/var/log/mysqld.log

记得第一次部署时,因为Redis没启动导致登录一直失败,花了两个小时才找到原因。现在我会准备个检查清单,挨个确认服务状态。还有个实用技巧是用telnet测试端口连通性:

telnet localhost 6379

6. 性能优化与安全加固

正式环境部署还需要考虑:

  1. 配置HTTPS证书提升安全性
  2. 设置Nginx的gzip压缩减少传输量
  3. 配置MySQL的innodb_buffer_pool_size
  4. 限制Redis的外网访问

对于高并发场景,建议:

  • 前端启用CDN加速
  • 后端增加JVM堆内存
  • Redis配置持久化策略
  • MySQL优化查询索引

我在实际项目中发现,若依默认的Tomcat配置对并发支持有限,可以通过修改application.yml中的server配置来优化:

server: tomcat: max-threads: 200 min-spare-threads: 30

最后提醒一点:一定要定期备份数据库和代码目录。曾经因为服务器故障丢失过数据,现在我会用crontab设置自动备份:

0 3 * * * mysqldump -uroot -p vue > /backup/vue_$(date +%F).sql
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/25 13:53:23

终极MCP服务器:构建AI工具调用的标准化协议与生产级实践

1. 项目概述:一个终极MCP服务器的诞生最近在折腾AI应用开发的朋友,估计没少被“工具调用”这个环节折腾。想让你的AI助手去查个天气、发个邮件,或者操作一下数据库,总得费劲地对接各种API,写一堆胶水代码。我自己在搭建…

作者头像 李华
网站建设 2026/4/25 13:52:41

通达信使用锦囊

1 通达信不能显示一些细分行业,这样不方便对比行业指数,发现强势行业 比如:nyhf 是敲不出来农药化肥板块的; 解决: CTRL+D 进入设置 如此就可以显示细分行业了,通过快捷键可以找到该行业板块了 同时对比发现,可以查看的行业板块明显增多, 原来 设置后: 设置前56个…

作者头像 李华
网站建设 2026/4/25 13:45:49

突破限速壁垒:百度网盘直连解析工具让您的下载速度提升30倍

突破限速壁垒:百度网盘直连解析工具让您的下载速度提升30倍 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 在数字资源获取日益频繁的今天,百度网盘作为…

作者头像 李华