基于若依开发的微信小程序部署到阿里云需要哪些步骤?

将基于若依(RuoYi)开发的微信小程序部署到阿里云,需要从后端服务、前端小程序以及云资源配置等多个方面进行操作。以下是详细的部署步骤:


一、明确项目结构

若依(RuoYi)通常是一个前后端分离的 Java 后台管理系统,而你开发的微信小程序是前端部分,通过调用若依后端提供的 RESTful API 接口获取数据。

因此,部署主要包括:

  1. 若依后端服务(Spring Boot + MyBatis + Redis 等)
  2. 数据库(MySQL)
  3. 微信小程序前端代码(上传至微信平台,运行在微信客户端)
  4. 服务器部署环境(阿里云 ECS 或容器服务)

二、准备工作

1. 购买并配置阿里云资源

  • ECS 云服务器:推荐 CentOS 7.x / Ubuntu 20.04,配置根据业务选择(如 2核4G起步)
  • 云数据库 RDS(可选):用于托管 MySQL 数据库,更安全稳定
  • 域名 + SSL 证书(可选但推荐):用于 HTTPS 访问(微信小程序要求接口必须 HTTPS)
  • 备案(国内服务器需备案)

2. 开发准备

  • 若依后端代码已适配微信小程序接口(CORS、用户登录逻辑等)
  • 微信小程序使用 request 请求后端 API,域名已加入小程序后台的「request 合法域名」

三、部署步骤

第一步:部署若依后端服务到阿里云 ECS

1. 登录 ECS 并安装基础环境
# 更新系统
sudo yum update -y  # CentOS
# 或 sudo apt update && sudo apt upgrade -y  # Ubuntu

# 安装 Java 8/11(若依通常用 Java 8)
sudo yum install java-1.8.0-openjdk -y

# 安装 Maven(用于打包)
sudo yum install maven -y

# 安装 MySQL 或连接 RDS
# 若使用本地 MySQL:
sudo yum install mysql-server -y
sudo systemctl start mysqld
sudo systemctl enable mysqld

⚠️ 建议使用阿里云 RDS MySQL 实例,更安全易管理。

2. 导入数据库
  • 将若依的 SQL 文件导入到 MySQL(可通过 DMS 或命令行)
    source /path/to/ry_2023xxxx.sql;
  • 修改 application.yml 中的数据库连接信息(指向你的 RDS 或本地 MySQL)
3. 打包并运行若依后端
# 在本地或服务器上使用 Maven 打包
mvn clean package -Dmaven.test.skip=true

# 上传 jar 包到服务器(如 ruoyi-admin.jar)
scp ruoyi-admin.jar user@your-ecs-ip:/home/app/

# 后台运行 Spring Boot 项目
nohup java -jar ruoyi-admin.jar > app.log 2>&1 &
4. 配置 Nginx(可选,用于反向和 HTTPS)
server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://localhost:8080;  # 若依默认端口
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
5. 申请 SSL 证书并启用 HTTPS
  • 在阿里云控制台申请免费 SSL 证书(CA证书服务)

  • 配置 Nginx 支持 HTTPS:

    server {
      listen 443 ssl;
      server_name yourdomain.com;
    
      ssl_certificate /etc/nginx/cert/yourdomain.pem;
      ssl_certificate_key /etc/nginx/cert/yourdomain.key;
    
      location / {
          proxy_pass http://localhost:8080;
          proxy_set_header Host $host;
      }
    }

✅ 微信小程序要求所有网络请求必须使用 HTTPS 协议!


第二步:配置微信小程序

1. 修改小程序 request 请求地址

确保 app.js 或 API 配置中使用 HTTPS 地址:

wx.request({
  url: 'https://yourdomain.com/api/user/info',
  // ...
})
2. 在微信公众平台配置合法域名

进入 微信公众平台 → 开发管理 → 开发设置 → 服务器域名

  • 添加 request 合法域名:https://yourdomain.com

❗ 不支持 IP 地址,必须是备案域名 + HTTPS

3. 用户登录逻辑调整(可选)

若使用微信登录,确保后端实现了:

  • 调用微信 code2Session 接口(在后端完成,不可在小程序前端直接调)
  • 生成自定义登录态(token),返回给小程序

第三步:启动与测试

  1. 启动后端服务(检查日志是否正常)
  2. 使用 Postman 测试 API 是否可访问(如 https://yourdomain.com/api/login
  3. 运行微信小程序开发者工具,测试功能是否正常
  4. 提交审核并发布小程序

四、优化建议

项目 建议
服务器 使用阿里云 ECS + RDS + Redis(缓存)
安全 配置安全组(只开放 80/443/22 端口),避免暴露 8080
监控 使用阿里云云监控或宝塔面板
自动化部署 可结合 Jenkins / GitHub Actions / Docker
备份 定期备份数据库和代码

五、常见问题排查

问题 解决方案
小程序提示 “request:fail” 检查域名是否 HTTPS、是否在合法域名列表
后端无法连接数据库 检查 RDS 白名单是否包含 ECS IP
接口返回 404 检查 Nginx 配置或 Spring Boot 上下文路径
登录失败 检查后端是否正确处理 wx.login 的 code

六、可选:使用 Docker 部署(更高效)

# 示例 docker-compose.yml
version: '3'
services:
  ruoyi:
    image: openjdk:8-jre
    ports:
      - "8080:8080"
    volumes:
      - ./ruoyi-admin.jar:/app.jar
    command: java -jar /app.jar
    depends_on:
      - mysql

  mysql:
    image: mysql:5.7
    environment:
      MYSQL_ROOT_PASSWORD: yourpassword

总结

部署流程总结如下:

  1. 准备阿里云 ECS + RDS + 域名 + SSL
  2. 部署若依后端(Java + MySQL)
  3. 配置 Nginx + HTTPS
  4. 修改小程序请求地址为 HTTPS 域名
  5. 在微信后台配置合法域名
  6. 测试并上线

如果你使用的是 若依前后端分离版本(Vue + Spring Boot),上述流程依然适用,只是前端部署在 Nginx 静态服务或 CDN,而小程序是独立发布的。

如有具体技术栈(如是否使用 Redis、OSS、Nacos 等),可进一步细化部署方案。欢迎补充细节继续提问!