奋斗
努力

若依微信小程序部署到阿里云服务器?

云计算

将“若依”(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 合法域名(如有)
  • 注意:必须使用 HTTPS,且域名已备案

四、测试与验证

  1. 启动后端服务,访问 https://yourdomain.com/prod-api/user/login 测试接口是否正常
  2. 编译并预览微信小程序,测试登录、数据请求等功能
  3. 查看控制台是否有跨域或 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 部署方案或自动化脚本。欢迎继续提问!

未经允许不得转载:云服务器 » 若依微信小程序部署到阿里云服务器?