从零开始:Linux云服务器部署若依前后端分离项目实战指南
2026/4/16 4:40:12 网站建设 项目流程

1. 环境准备:搭建你的Linux云服务器

第一次在Linux服务器上部署前后端分离项目时,我像个无头苍蝇一样折腾了整整三天。现在回想起来,如果当时有人能给我一份完整的准备工作清单,至少能节省70%的时间。下面是我用血泪教训总结出来的必备清单:

服务器选择就像选房子,要考虑地段(区域)和户型(配置)。国内主流云平台的基础款(1核2G)就足够运行若依项目,但建议选择CentOS 7.x系统,这是经过大量项目验证的稳定选择。记得在购买时勾选"分配公网IP",这是后续远程访问的关键。

远程连接工具推荐FinalShell,它的文件传输功能比XShell更直观。安装后新建SSH连接,输入服务器公网IP、用户名(通常是root)和密码,就能看到熟悉的命令行界面了。第一次连接时可能会提示密钥确认,直接选"接受并保存"就行。

基础环境需要这四个核心组件:

  • Nginx:建议通过宝塔面板安装,比手动编译安装省心很多
  • JDK 1.8:注意要安装开发版(jdk)而不是运行版(jre)
  • MySQL 5.7:官方推荐版本,兼容性最好
  • Redis:内存数据库,用于会话管理和缓存

宝塔面板的安装其实特别简单,只需要在服务器上执行这条命令:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

安装完成后会显示面板地址和初始账号密码,记得保存到安全的地方。通过浏览器访问这个地址,就能看到图形化管理界面了。

2. 端口配置:打通网络通道

很多新手部署失败的第一道坎就是端口问题。我的阿里云服务器曾经因为没配置安全组,导致项目部署后死活访问不了,还以为是代码问题。实际上需要双重防护都要打通:

云平台安全组(以阿里云为例):

  1. 进入ECS控制台 → 实例详情 → 安全组 → 配置规则
  2. 添加两条规则:
    • 授权策略:允许
    • 协议类型:自定义TCP
    • 端口范围:9000(前端)/8080(后端)
    • 授权对象:0.0.0.0/0

服务器防火墙同样需要放行:

# 开放前端端口 firewall-cmd --zone=public --add-port=9000/tcp --permanent # 开放后端端口 firewall-cmd --zone=public --add-port=8080/tcp --permanent # 重载配置 firewall-cmd --reload

如果遇到端口冲突(比如8080被占用),可以用这个命令查找占用进程:

netstat -tunlp | grep 8080

找到PID后,用kill -9 PID结束进程即可。实在解决不了就换个端口,比如改成8081,记得前后端配置要同步修改。

3. 项目下载与初始化

若依的官方文档其实很全面,但新手容易在项目结构上犯迷糊。从Gitee克隆项目时,建议使用SSH方式(需要提前配置Git公钥):

git clone git@gitee.com:y_project/RuoYi.git

下载完成后,你会看到这样的目录结构:

RuoYi/ ├── ruoyi-ui # 前端项目(Vue) ├── ruoyi-admin # 后台模块 ├── sql/ # 数据库脚本 └── pom.xml # Maven配置文件

数据库初始化是个关键步骤:

  1. 用宝塔面板创建MySQL数据库,记住数据库名、用户名和密码
  2. 导入项目sql目录下的两个文件(按顺序):
    • quartz.sql:定时任务相关表
    • ry_2023xxxx.sql:系统基础表

如果Navicat连接报错"Client does not support authentication",执行这个SQL修改加密方式:

ALTER USER '用户名'@'%' IDENTIFIED WITH mysql_native_password BY '密码'; FLUSH PRIVILEGES;

4. 前端部署实战

前端部署最常遇到的就是node_modules地狱。我的建议是:

  1. 先确保node版本在14-16之间(若依对18+支持不佳)
  2. 使用淘宝镜像加速安装:
npm install -g cnpm --registry=https://registry.npmmirror.com cnpm install --unsafe-perm

打包时如果内存不足,需要修改node内存限制:

export NODE_OPTIONS=--max_old_space_size=4096 npm run build:prod

成功后会生成dist文件夹,这就是我们要部署的静态资源。

Nginx配置有三个关键点:

  1. 将dist文件夹上传到服务器(推荐放到/home/www/ruoyi-ui)
  2. 修改nginx.conf的server块:
location / { root /home/www/ruoyi-ui; try_files $uri $uri/ /index.html; index index.html; } location /prod-api/ { proxy_pass http://localhost:8080/; proxy_set_header Host $http_host; }
  1. 测试配置并重载:
nginx -t # 检查语法 nginx -s reload # 平滑重启

5. 后端部署精要

后端部署的核心是处理好配置文件。在ruoyi-admin模块中,这几个文件需要重点检查:

  1. application.yml:数据库连接配置
  2. application-druid.yml:连接池配置
  3. application-redis.yml:Redis配置

Maven打包建议跳过测试:

mvn clean package -Dmaven.test.skip=true

打包成功后,target目录下会生成ruoyi-admin.jar。

启动脚本可以这样写(保存为start.sh):

#!/bin/bash nohup java -Xms512m -Xmx1024m -jar ruoyi-admin.jar > ruoyi.log 2>&1 &

给执行权限后启动:

chmod +x start.sh ./start.sh

查看日志确认启动状态:

tail -f ruoyi.log

当看到"Started RuoYiApplication in x seconds"就说明成功了。

6. 常见问题排查

部署过程中最容易卡壳的几个地方:

前端访问空白页

  • 检查Nginx的root路径是否正确
  • 查看浏览器控制台是否有404错误
  • 确认dist文件夹权限:chmod -R 755 /home/www

后端接口报502

  • 确认后端服务是否运行:ps -ef | grep java
  • 检查防火墙和安全组规则
  • 查看Nginx错误日志:cat /var/log/nginx/error.log

Redis连接失败

  • 确认redis服务已启动:systemctl status redis
  • 检查application-redis.yml中的密码配置
  • 如果需要远程连接,修改redis.conf:
    bind 0.0.0.0 protected-mode no requirepass 你的密码

记得每次修改配置后,相关服务都要重启生效。这套部署方案已经在多个生产环境验证过,按照步骤操作基本不会有大问题。如果遇到特殊情况,可以查看若依官方文档的FAQ部分,或者去Gitee的issue区搜索类似问题。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询