将基于若依(RuoYi)开发的微信小程序部署到阿里云,需要完成后端服务部署、小程序云开发配置(如需)以及前端/小程序端发布三个核心环节。若依通常包含 Vue 前端、Spring Boot 后端和 MyBatis-Plus 数据库,而微信小程序则需要独立编译上传。
以下是详细的实施步骤:
第一阶段:准备阿里云资源与环境
在开始之前,你需要在阿里云控制台购买并配置以下基础资源:
-
云服务器 (ECS)
- 选择 CentOS 7.9 或 Ubuntu 20.04+ 系统。
- 配置建议:至少 2 核 CPU,4GB 内存(若依后端 + 数据库 + Nginx 需占用一定资源)。
- 安全组配置:放行必要端口(如
80,443用于 Web/Nginx,3306仅限内网访问,Java 端口如8080仅对特定 IP 开放或配合 Nginx 反向X_X)。
-
云数据库 (RDS MySQL)
- 强烈建议使用阿里云 RDS MySQL 而非本地安装,以获得更好的稳定性和备份能力。
- 创建实例后,获取连接地址、账号和密码。
- 在 RDS 控制台的“白名单”中,添加你 ECS 服务器的内网 IP(如果走内网连接)或公网 IP(如果走公网,不推荐)。
-
域名与 SSL 证书
- 购买一个域名并在阿里云备案(国内服务器必须备案才能开通 80/443 端口)。
- 申请免费或付费的 SSL 证书(Let’s Encrypt 或阿里云免费证书),用于 HTTPS 加密(微信强制要求 HTTPS)。
第二阶段:后端服务部署 (Spring Boot)
这是若依框架的核心部分。
-
环境安装
登录 ECS,安装 JDK、Maven、Git 等工具:# 示例:CentOS yum install -y java-1.8.0-openjdk-devel maven git -
代码迁移
- 将你的若依后端项目代码(
ruoyi-admin或ruoyi-common等模块)上传至服务器。 - 修改
application.yml配置文件:spring.datasource.url:改为阿里云 RDS 的连接地址。server.port:默认 8080,后续可通过 Nginx 转发。mybatis.mapper-locations:确保路径正确。- 关键:移除本地开发时的调试日志,开启生产模式。
- 将你的若依后端项目代码(
-
构建与启动
在服务器上执行 Maven 打包:mvn clean package -DskipTests生成
target/ruoyi-admin.jar后,使用 nohup 后台运行:nohup java -jar ruoyi-admin.jar > app.log 2>&1 &验证:通过
curl http://localhost:8080检查后端是否响应。
第三阶段:前端与 Nginx 反向X_X
若依的前端通常是 Vue 项目,需要编译为静态文件并通过 Nginx 托管。
-
编译前端
在本地开发环境(或 CI/CD 流水线)中,进入若依前端目录:npm run build:prod生成的
dist文件夹即为生产包。 -
上传并配置 Nginx
- 将
dist目录上传到 ECS 指定目录(如/usr/local/nginx/html/ruoyi)。 - 安装 Nginx (
yum install nginx) 并编写配置文件/etc/nginx/conf.d/ruoyi.conf:
server { listen 80; server_name your-domain.com; # 替换为你的域名 location / { root /usr/local/nginx/html/ruoyi; index index.html; try_files $uri $uri/ /index.html; # SPA 路由支持 } # 反向X_X后端 API location /app/ { proxy_pass http://127.0.0.1:8080/; # 指向 Spring Boot 端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 解决 WebSocket 问题(若依有实时通知功能) proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } # 强制 HTTPS (可选,需先配置 SSL) # return 301 https://$host$request_uri; } - 将
-
启动 Nginx
nginx -t && systemctl start nginx
第四阶段:微信小程序配置与发布
这一步是将小程序本身部署到微信生态,与阿里云服务器交互。
-
修改小程序配置
打开若依小程序项目中的project.config.json或manifest.json(视具体版本而定):- 确认
appid已填写。 - 重要:找到请求接口的根路径(通常在
utils/request.js或config/index.js中),将其从http://localhost:8080修改为https://your-domain.com/app。 - 校验域名:确保该域名已在微信公众平台 -> 开发管理 -> 开发设置 -> 服务器域名中配置。
- 请求合法域名:
https://your-domain.com - 上传合法域名:同上(如果是云开发则不需要)。
- 请求合法域名:
- 确认
-
SSL 证书配置
微信强制要求接口必须是 HTTPS。- 在阿里云 SSL 控制台下载证书(Nginx 格式
.crt和.key)。 - 将证书放入服务器,修改 Nginx 配置启用 HTTPS:
server { listen 443 ssl; server_name your-domain.com; ssl_certificate /path/to/cert.pem; ssl_certificate_key /path/to/key.key; # ... 其他配置同上 }注意:需在阿里云安全组放行 443 端口。
- 在阿里云 SSL 控制台下载证书(Nginx 格式
-
上传与发布
- 打开微信开发者工具,点击“上传”。
- 填写版本号、备注,提交审核。
- 在微信公众平台后台等待审核通过后,点击“发布”。
第五阶段:数据库初始化
- 登录阿里云 RDS 控制台,创建若依对应的数据库(如
ry-vue)。 - 导入若依提供的 SQL 脚本(通常在
sql/ry_*.sql文件中)。- 可以使用 DMS 数据库管理工具直接导入,或通过命令行
mysql -h <rds-ip> -u <user> -p < ry.sql。
- 可以使用 DMS 数据库管理工具直接导入,或通过命令行
- 若依默认管理员账号通常为
admin/admin123(具体见官方文档),请确保登录正常。
总结与注意事项
| 环节 | 关键点 | 常见坑 |
|---|---|---|
| 网络 | 安全组策略 | 忘记放行 443 导致小程序无法联网;忘记放行 8080 导致 Nginx 转发失败。 |
| HTTPS | 证书有效期 | 证书过期会导致小程序接口报错;本地测试时不要用自签名证书。 |
| 跨域 | Nginx 配置 | 若未配置反向X_X,前端直接请求后端会报 CORS 错误(虽然后台有注解,但最佳实践是 Nginx 统一处理)。 |
| WebSocket | 协议升级 | 若依涉及实时消息推送,Nginx 必须配置 Upgrade 头,否则连接会断开。 |
| 域名备案 | ICP 备案 | 国内服务器未备案会导致 80/443 端口被阻断,无法访问。 |
按照以上步骤操作,即可实现从本地开发到阿里云生产环境的完整部署。如果在过程中遇到具体的报错(如 Java 内存溢出、Nginx 502 错误),可以进一步提供日志进行排查。
云知识