将“若依”(RuoYi)微信小程序部署到阿里云服务器,需要完成前后端分离架构的部署。通常,若依提供的是一个基于 Spring Boot 的后台管理系统,而微信小程序是前端部分。以下是完整的部署流程指南:
一、环境准备
1. 阿里云服务器(ECS)
- 购买一台阿里云 ECS 实例(推荐配置:2核4G,Ubuntu/CentOS 7+)
- 开放端口:
80(HTTP)443(HTTPS)8080(后端服务,可选)22(SSH)
2. 域名(可选但推荐)
- 注册一个域名,并完成 ICP 备案(国内服务器必须备案才能使用 80/443 端口)
- 在阿里云 DNS 解析中绑定域名到服务器 IP
3. SSL 证书(用于 HTTPS)
- 微信小程序要求所有请求必须使用 HTTPS
- 可在阿里云申请免费 SSL 证书(或使用 Let’s Encrypt)
二、后端部署(RuoYi 后端)
1. 安装必要环境
# 更新系统
sudo apt update && sudo apt upgrade -y
# 安装 Java 8/11(RuoYi 通常使用 Java 8)
sudo apt install openjdk-11-jdk -y
# 安装 Maven
sudo apt install maven -y
# 安装 MySQL 5.7+
sudo apt install mysql-server -y
sudo mysql_secure_installation
# 安装 Redis(若使用)
sudo apt install redis-server -y
2. 导入数据库
- 从 RuoYi 项目中找到
sql/ry_*.sql文件 - 登录 MySQL:
mysql -u root -p CREATE DATABASE ruoyi DEFAULT CHARSET utf8mb4; USE ruoyi; source /path/to/ry_2023xxxx.sql;
3. 修改配置文件
进入 RuoYi 项目中的 ruoyi-admin/src/main/resources/application.yml,修改数据库连接:
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/ruoyi?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
username: root
password: your_mysql_password
4. 打包并运行
# 在本地或服务器上打包
mvn clean package -Dmaven.test.skip=true
# 上传 jar 包到服务器,运行
nohup java -jar ruoyi-admin.jar > ruoyi.log 2>&1 &
5. 使用 Nginx 反向X_X(推荐)
安装 Nginx:
sudo apt install nginx -y
配置 Nginx(/etc/nginx/sites-available/ruoyi):
server {
listen 80;
server_name yourdomain.com;
location /prod-api/ {
proxy_pass http://localhost:8080/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
启用配置并重启 Nginx:
sudo ln -s /etc/nginx/sites-available/ruoyi /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl restart nginx
6. 配置 HTTPS(使用 SSL 证书)
- 在阿里云下载 SSL 证书(PEM 和 KEY 文件)
-
配置 Nginx 支持 HTTPS:
server { listen 443 ssl; server_name yourdomain.com; ssl_certificate /path/to/your_domain.pem; ssl_certificate_key /path/to/your_domain.key; location /prod-api/ { proxy_pass http://localhost:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }
HTTP 跳转 HTTPS
server {
listen 80;
server_name yourdomain.com;
return 301 https://$server_name$request_uri;
}
---
### 三、微信小程序前端部署
微信小程序前端不需要部署在服务器上,但需要配置合法域名。
#### 1. 修改小程序请求域名
在小程序项目中,修改 `utils/request.js` 或类似文件:
```js
baseURL: 'https://yourdomain.com/prod-api'
2. 配置小程序后台合法域名
登录 微信公众平台
- 进入「开发」->「开发管理」->「开发设置」
- 在「服务器域名」中添加:
- request 合法域名:
https://yourdomain.com - socket 合法域名(如有)
- request 合法域名:
- 注意:必须使用 HTTPS,且域名已备案
四、测试与验证
- 启动后端服务,访问
https://yourdomain.com/prod-api/user/login测试接口是否正常 - 编译并预览微信小程序,测试登录、数据请求等功能
- 查看控制台是否有跨域或 HTTPS 错误
五、常见问题
| 问题 | 解决方案 |
|---|---|
| 小程序提示“request:fail url not in domain list” | 检查域名是否备案,是否配置 HTTPS,是否添加到合法域名 |
| 后端接口 404 | 检查 Nginx 是否正确X_X /prod-api |
| 数据库连接失败 | 检查 MySQL 用户权限、密码、防火墙 |
| 接口返回 502 | 检查后端服务是否运行,端口是否开放 |
六、可选优化
- 使用 PM2 或 systemd 管理 Java 进程
- 使用 Docker 部署(更规范)
- 配置定时备份数据库
- 使用阿里云 RDS 和 Redis 服务替代本地安装
总结
部署流程:
阿里云 ECS → 安装 Java/MySQL/Redis/Nginx → 部署 RuoYi 后端 → Nginx 反向X_X + HTTPS → 微信小程序配置域名 → 测试上线
只要确保:
✅ 域名备案
✅ HTTPS 配置正确
✅ 后端接口可通过 Nginx 访问
✅ 小程序配置合法域名
即可成功部署。
如需,我可以提供 Docker 部署方案或自动化脚本。欢迎继续提问!
云服务器