轻量应用服务器安装MySQL和Nginx支持微信小程序开发

在轻量应用服务器(如阿里云、腾讯云等)上搭建 MySQL + Nginx 环境以支持微信小程序开发,是一个标准且高效的方案。微信小程序后端通常采用 Node.js、Java、Go 或 Python 等语言编写,Nginx 作为反向X_X处理静态资源和请求转发,MySQL 负责数据存储。

以下是基于 Ubuntu 20.04/22.04 系统的完整部署指南。如果你使用的是 CentOS,部分命令会有所不同(主要是包管理器从 apt 变为 yum/dnf)。

第一步:登录与基础准备

  1. 连接服务器:使用 SSH 工具(如 Terminal, Xshell, PuTTY)登录你的轻量应用服务器。
  2. 更新系统软件源
    sudo apt update && sudo apt upgrade -y
    # CentOS 用户请使用: sudo yum update -y
  3. 安装必要工具
    sudo apt install -y curl git vim net-tools

第二步:安装 MySQL (数据库)

微信小程序需要存储用户信息、订单数据等,MySQL 是首选。

  1. 安装 MySQL Server
    sudo apt install -y mysql-server
  2. 安全初始化(设置 root 密码,移除匿名用户等):
    sudo mysql_secure_installation
    • 按提示操作,输入新密码,选择 Y 确认所有选项(移除 test database, 远程 root 登录等)。
  3. 创建业务数据库和用户(假设项目名为 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 请求。

  1. 安装 Nginx
    sudo apt install -y nginx
  2. 启动并设置开机自启
    sudo systemctl start nginx
    sudo systemctl enable nginx
  3. 检查状态
    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 端口。

  1. 允许 Nginx 流量
    sudo ufw allow 'Nginx Full'
  2. 如果之前没开 UFW,先启用它
    sudo ufw enable
  3. 查看状态
    sudo ufw status

    确保 80 和 443 端口显示为 ALLOW

重要提示:除了服务器内部防火墙,请务必登录云厂商控制台(如阿里云/腾讯云),在安全组中添加入站规则,放行 TCP 协议的 80443 端口,否则外部无法访问。


第六步:微信小程序端配置

完成上述服务器部署后,回到微信公众平台进行配置:

  1. 开发环境配置

    • 登录 微信公众平台。
    • 进入 开发 -> 开发管理 -> 开发设置
    • 填写 服务器域名
      • request 合法域名:https://your-domain.com
      • socket 合法域名:wss://your-domain.com (如果有 WebSocket 需求)
    • 点击“修改”并保存。
  2. 本地调试注意事项

    • 在微信开发者工具中开启 “不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书” 开关,可以在未备案或未正式提交审核前进行本地联调。
    • 一旦发布,必须严格匹配服务器配置的域名。

总结与后续建议

至此,你的轻量应用服务器已经具备了完整的 Nginx + MySQL 环境,并配置了 HTTPS 支持,可以开始部署后端代码(如使用 PM2 管理 Node.js 进程)了。

后续优化建议:

  • 进程管理:如果使用 Node.js/Python,建议使用 pm2systemd 管理后端进程,防止服务崩溃重启。
  • 备份策略:定期使用 mysqldump 备份数据库到本地或对象存储(OSS/COS)。
  • 性能监控:安装 htopnetdata 监控 CPU 和内存使用情况,轻量应用服务器配置较低时需留意资源瓶颈。
未经允许不得转载:CLOUD云枢 » 轻量应用服务器安装MySQL和Nginx支持微信小程序开发