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

在轻量应用服务器(如阿里云、腾讯云、华为云等)上搭建微信小程序开发环境,核心在于部署 Nginx(作为 Web 服务器和反向X_X)和 MySQL(数据库),同时需要确保服务器安全组开放了必要端口。

以下是基于 Linux (Ubuntu/Debian/CentOS) 系统的通用安装与配置指南。


第一步:基础环境准备

  1. 连接服务器
    使用 SSH 工具(如 Putty, Terminal, Xshell)登录您的轻量应用服务器。

    ssh root@<你的服务器IP>
  2. 更新软件源并安装基础工具

    • Ubuntu/Debian:
      apt update && apt upgrade -y
      apt install curl wget vim -y
    • CentOS/RHEL:
      yum update -y
      yum install curl wget vim -y
  3. 配置防火墙与安全组(关键)

    • 系统内部防火墙:允许 MySQL 和 Nginx 端口。
      • Ubuntu: ufw allow 80/tcp, ufw allow 3306/tcp
      • CentOS: firewall-cmd --permanent --add-service=http, firewall-cmd --permanent --add-service=mysql
    • 云平台控制台务必在云厂商的控制台“安全组”或“防火墙”规则中,添加入方向规则,开放 80 (HTTP), 443 (HTTPS), 3306 (MySQL) 端口。

      ⚠️ 注意:为了安全,生产环境建议将 3306 端口限制为仅允许本地回环(127.0.0.1)或通过特定 IP 访问,不要直接对全网开放,除非你使用了X_X或特定的白名单策略。


第二步:安装 MySQL 数据库

这里以 MySQL 8.0 为例(推荐使用最新版以获得更好的性能和安全性)。

1. 安装 MySQL

  • Ubuntu/Debian:
    apt install mysql-server -y
    # 启动并设置开机自启
    systemctl start mysql
    systemctl enable mysql
  • CentOS/RHEL:
    yum install mysql-server -y
    systemctl start mysqld
    systemctl enable mysqld

2. 初始化安全设置

运行安全脚本,设置 root 密码并移除匿名用户:

mysql_secure_installation

按提示操作:

  • 输入当前 root 密码(初次安装通常为空,直接回车)。
  • 设置新的 root 密码(建议复杂一点)。
  • 删除匿名用户 (Y)。
  • 禁止远程 root 登录 (Y)。
  • 删除测试数据库 (Y)。
  • 重新加载权限表 (Y)。

3. 创建业务数据库和用户

登录 MySQL 进行配置:

mysql -u root -p

进入后执行以下 SQL(请替换 <your_password> 为你的实际密码):

-- 创建数据库
CREATE DATABASE wxapp_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

-- 创建专用用户(避免直接用 root)
CREATE USER 'wxapp_user'@'localhost' IDENTIFIED BY '<your_password>';

-- 授权
GRANT ALL PRIVILEGES ON wxapp_db.* TO 'wxapp_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

第三步:安装 Nginx

Nginx 用于提供静态资源服务、反向X_X后端接口以及处理 HTTPS。

1. 安装 Nginx

  • Ubuntu/Debian:
    apt install nginx -y
    systemctl start nginx
    systemctl enable nginx
  • CentOS/RHEL:
    yum install nginx -y
    systemctl start nginx
    systemctl enable nginx

2. 验证安装

在浏览器访问 http://<你的服务器IP>,如果看到 "Welcome to nginx!" 页面,说明安装成功。

3. 配置微信小程序域名(关键)

微信小程序强制要求后端接口必须使用 HTTPS,且域名需经过备案并在微信后台配置。

假设你的域名是 api.yourdomain.com,你需要配置 Nginx 进行 HTTPS X_X。

步骤 A:申请 SSL 证书
推荐使用 Let’s Encrypt (免费) 的 Certbot 工具。

# 安装 certbot 插件
apt install certbot python3-certbot-nginx -y  # Ubuntu
yum install certbot python3-certbot-nginx -y  # CentOS

# 获取证书 (请将 api.yourdomain.com 替换为你的实际域名)
certbot --nginx -d api.yourdomain.com

Certbot 会自动修改 Nginx 配置并开启 HTTPS,同时自动续期。

步骤 B:配置 Nginx 反向X_X
编辑配置文件 /etc/nginx/sites-available/default (Ubuntu) 或 /etc/nginx/conf.d/default.conf (CentOS)。

server {
    listen 443 ssl http2;
    server_name api.yourdomain.com;

    # SSL 证书路径 (Certbot 自动生成)
    ssl_certificate /etc/letsencrypt/live/api.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/api.yourdomain.com/privkey.pem;

    # 推荐的安全配置
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    location / {
        # 反向X_X到你的 Node.js/Java/PHP 后端端口
        # 例如:假设你的后端运行在 localhost:3000
        proxy_pass http://127.0.0.1:3000; 

        # 传递真实 IP 给后端
        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";
    }
}

# 强制 HTTP 跳转 HTTPS
server {
    listen 80;
    server_name api.yourdomain.com;
    return 301 https://$server_name$request_uri;
}

保存后重启 Nginx:

systemctl reload nginx

第四步:微信小程序对接注意事项

  1. 域名备案
    在中国大陆地区,接入微信小程序的域名必须在工信部完成 ICP 备案。未备案的域名无法通过微信审核。

  2. 微信后台配置
    登录 微信公众平台 -> 开发管理 -> 开发设置 -> 服务器域名。
    添加你配置的域名(如 https://api.yourdomain.com)到 request合法域名 列表中。

  3. 数据源连接
    在后端代码(Node.js/Python/Java 等)中配置数据库连接信息:

    • Host: 127.0.0.1 (轻量应用服务器内网)
    • User: wxapp_user
    • Password: <your_password>
    • Database: wxapp_db
    • Port: 3306
  4. 安全加固建议

    • SSH 密钥登录:禁用密码登录,改用 SSH Key。
    • 非 root 用户:尽量使用普通用户运行应用,root 仅用于运维。
    • WAF/防火墙:在云服务器控制台开启 Web 应用防火墙(WAF)或配置 Fail2Ban 防止暴力破解。

总结流程清单

步骤 动作 关键点
1 系统更新 apt update / yum update
2 安装 MySQL 设置强密码,创建专用用户
3 安装 Nginx 配置 HTTPS (SSL 证书)
4 域名配置 购买域名、ICP 备案、DNS 解析
5 微信配置 后台添加 request 合法域名
6 联调测试 前端调用 https://... 接口

按照以上步骤操作,你的轻量应用服务器即可具备完整的小程序后端支撑能力。如果在具体某个环节遇到报错,可以提供错误日志以便进一步分析。

未经允许不得转载:CLOUD技术博 » 轻量应用服务器安装MySQL和Nginx支持微信小程序开发