在轻量应用服务器(如阿里云、腾讯云等)上搭建 MySQL + Nginx 环境以支持微信小程序开发,是一个标准且高效的方案。微信小程序后端通常采用 Node.js、Java、Go 或 Python 等语言编写,Nginx 作为反向X_X处理静态资源和请求转发,MySQL 负责数据存储。
以下是基于 Ubuntu 20.04/22.04 系统的完整部署指南。如果你使用的是 CentOS,部分命令会有所不同(主要是包管理器从 apt 变为 yum/dnf)。
第一步:登录与基础准备
- 连接服务器:使用 SSH 工具(如 Terminal, Xshell, PuTTY)登录你的轻量应用服务器。
- 更新系统软件源:
sudo apt update && sudo apt upgrade -y # CentOS 用户请使用: sudo yum update -y - 安装必要工具:
sudo apt install -y curl git vim net-tools
第二步:安装 MySQL (数据库)
微信小程序需要存储用户信息、订单数据等,MySQL 是首选。
- 安装 MySQL Server:
sudo apt install -y mysql-server - 安全初始化(设置 root 密码,移除匿名用户等):
sudo mysql_secure_installation- 按提示操作,输入新密码,选择
Y确认所有选项(移除 test database, 远程 root 登录等)。
- 按提示操作,输入新密码,选择
- 创建业务数据库和用户(假设项目名为
wechat_app):sudo mysql -u root -p进入命令行后执行以下 SQL:
CREATE DATABASE wechat_app CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; CREATE USER 'app_user'@'%' IDENTIFIED BY 'YourStrongPassword123!'; GRANT ALL PRIVILEGES ON wechat_app.* TO 'app_user'@'%'; FLUSH PRIVILEGES; EXIT;注意:微信小程序后端代码连接数据库时,需使用
app_user账号和对应的密码。
第三步:安装 Nginx (Web 服务器)
Nginx 将用于托管前端静态文件(如 H5 页面、小程序云开发的静态资源)并反向X_X后端 API 请求。
- 安装 Nginx:
sudo apt install -y nginx - 启动并设置开机自启:
sudo systemctl start nginx sudo systemctl enable nginx - 检查状态:
sudo systemctl status nginx如果看到
active (running),说明安装成功。
第四步:配置 Nginx 反向X_X与域名解析
这是最关键的一步。你需要配置 Nginx 将域名请求转发给后端服务(例如运行在端口 3000 的 Node.js 服务),同时允许 HTTPS。
1. 获取 SSL 证书(推荐 Let’s Encrypt)
为了符合微信接口要求(必须 HTTPS),建议申请免费证书。
sudo apt install -y certbot python3-certbot-nginx
# 替换 your-domain.com 为你的真实域名
sudo certbot --nginx -d your-domain.com
系统会引导你输入邮箱并同意协议,完成后会自动修改 Nginx 配置并开启 HTTPS。
2. 配置 Nginx 站点
编辑配置文件(通常在 /etc/nginx/sites-available/default 或新建一个文件):
sudo nano /etc/nginx/sites-available/wechat-app
添加以下配置示例(根据你的实际后端端口调整):
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name your-domain.com www.your-domain.com;
# SSL 证书路径 (Certbot 自动配置的路径)
ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
# 优化 SSL 配置
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_prefer_server_ciphers on;
# 根目录(可选:如果有静态 HTML 放在这里)
root /var/www/html;
index index.html;
# 反向X_X后端 API (例如 Node.js 运行在 3000 端口)
location /api/ {
proxy_pass http://localhost:3000; # 修改为你后端服务的实际端口
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
# 关键:传递客户端真实 IP,否则后端无法记录用户来源
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# 其他静态资源配置
location / {
try_files $uri $uri/ =404;
}
}
# 强制 HTTP 跳转 HTTPS
server {
listen 80;
listen [::]:80;
server_name your-domain.com www.your-domain.com;
return 301 https://$server_name$request_uri;
}
保存退出 (Ctrl+O, Enter, Ctrl+X),然后测试配置并重载 Nginx:
sudo nginx -t
sudo systemctl reload nginx
第五步:开放防火墙端口
轻量应用服务器默认可能开启了防火墙(UFW),需要放行 Web 端口。
- 允许 Nginx 流量:
sudo ufw allow 'Nginx Full' - 如果之前没开 UFW,先启用它:
sudo ufw enable - 查看状态:
sudo ufw status确保 80 和 443 端口显示为
ALLOW。
重要提示:除了服务器内部防火墙,请务必登录云厂商控制台(如阿里云/腾讯云),在安全组中添加入站规则,放行 TCP 协议的 80 和 443 端口,否则外部无法访问。
第六步:微信小程序端配置
完成上述服务器部署后,回到微信公众平台进行配置:
-
开发环境配置:
- 登录 微信公众平台。
- 进入 开发 -> 开发管理 -> 开发设置。
- 填写 服务器域名:
- request 合法域名:
https://your-domain.com - socket 合法域名:
wss://your-domain.com(如果有 WebSocket 需求)
- request 合法域名:
- 点击“修改”并保存。
-
本地调试注意事项:
- 在微信开发者工具中开启 “不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书” 开关,可以在未备案或未正式提交审核前进行本地联调。
- 一旦发布,必须严格匹配服务器配置的域名。
总结与后续建议
至此,你的轻量应用服务器已经具备了完整的 Nginx + MySQL 环境,并配置了 HTTPS 支持,可以开始部署后端代码(如使用 PM2 管理 Node.js 进程)了。
后续优化建议:
- 进程管理:如果使用 Node.js/Python,建议使用
pm2或systemd管理后端进程,防止服务崩溃重启。 - 备份策略:定期使用
mysqldump备份数据库到本地或对象存储(OSS/COS)。 - 性能监控:安装
htop或netdata监控 CPU 和内存使用情况,轻量应用服务器配置较低时需留意资源瓶颈。
CLOUD云枢