小程序后端部署美国服务器教程

小程序后端部署美国服务器教程

本教程从零开始完成小程序后端在美国服务器上的部署,包括云主机准备、Node.js 环境安装、Nginx 反向代理、HTTPS 证书配置、域名解析、小程序合法域名设置以及后续更新维护。准备美国云服务器在 AWS、阿里云、腾讯云或 Vultr 等平台购买一台位...

优惠价格:¥ 0.00
当前位置:首页 > 美国高防服务器 > 小程序后端部署美国服务器教程
详情介绍

本教程从零开始完成小程序后端在美国服务器上的部署,包括云主机准备、Node.js 环境安装、Nginx 反向代理、HTTPS 证书配置、域名解析、小程序合法域名设置以及后续更新维护。

准备美国云服务器

在 AWS、阿里云、腾讯云或 Vultr 等平台购买一台位于美国地域的云服务器,操作系统选择 Ubuntu 22.04 LTS 64 位,最低配置建议 1 核 CPU、1 GB 内存,创建实例后,在安全组或防火墙规则中放行以下端口:

  • 22:SSH 远程登录

  • 80:HTTP 访问

    小程序后端部署美国服务器教程  第1张

  • 443:HTTPS 访问

  • 3000:后端服务临时调试端口,正式配置完成后可移除

获取服务器公网 IP,0.113.10

登录服务器并更新系统

使用 SSH 工具连接服务器:

sshroot@203.0.113.10

首次连接输入 yes 确认指纹,然后输入密码,登录后执行系统更新:

aptupdate
aptupgrade-y

创建普通用户并授予 sudo 权限:

adduserdeploy
usermod-aGsudodeploy

切换到普通用户:

su-deploy

安装 Node.js 运行环境

小程序后端通常使用 Node.js,安装 Node.js 20.x:

curl-fsSLhttps://deb.nodesource.com/setup_20.x|sudo-Ebash-
sudoaptinstall-ynodejs

验证安装:

node-v
npm-v

安装 Git:

sudoaptinstall-ygit

安装 PM2 进程管理工具:

sudonpminstall-gpm2

上传后端项目代码

将小程序后端代码上传到服务器,可以使用 Git 拉取代码:

cd/home/deploy
gitclonehttps://github.com/your-account/miniapp-backend.git
cdminiapp-backend

如果没有 Git 仓库,也可以使用 scp 命令上传本地项目:

scp-r./miniapp-backenddeploy@203.0.113.10:/home/deploy/

进入项目目录并安装依赖:

npminstall

在项目根目录创建 .env 环境变量文件:

nano.env
PORT=3000
WX_APPID=wx1234567890abcdef
WX_SECRET=your_secret_key
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USER=miniapp
DB_PASSWORD=strong_password
DB_NAME=miniapp

保存后启动后端服务:

pm2startapp.js--nameminiapp-backend
pm2save
pm2startup

检查服务状态:

pm2status

本地测试接口:

curlhttp://127.0.0.1:3000/api/health

如果返回正常 JSON,说明后端已运行。

安装并配置 Nginx 反向代理

安装 Nginx:

sudoaptinstall-ynginx
sudosystemctlenablenginx
sudosystemctlstartnginx

创建站点配置文件:

sudonano/etc/nginx/sites-available/miniapp
server{
listen80;
server_nameapi.example.com;
location/{
proxy_passhttp://127.0.0.1:3000;
proxy_http_version1.1;
proxy_set_headerHost$host;
proxy_set_headerX-Real-IP$remote_addr;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
proxy_set_headerX-Forwarded-Proto$scheme;
}
}

api.example.com 替换为实际域名,启用配置:

sudoln-s/etc/nginx/sites-available/miniapp/etc/nginx/sites-enabled/
sudonginx-t
sudosystemctlreloadnginx

配置 HTTPS 证书

安装 Certbot:

sudoaptinstall-ycertbotpython3-certbot-nginx

执行证书签发:

sudocertbot--nginx-dapi.example.com

根据提示输入邮箱并同意协议,Certbot 会自动修改 Nginx 配置并启用 HTTPS。

验证自动续期:

sudocertbotrenew--dry-run

域名解析到美国服务器

在域名 DNS 管理后台添加解析记录:

主机记录记录类型记录值TTL
apiA0.113.10600
apiAAAA如果使用 IPv6 地址600

保存后等待解析生效,可以使用以下命令测试:

pingapi.example.com

或使用 dig 命令:

digapi.example.comA

配置小程序合法域名

登录微信公众平台,进入「开发」-「开发管理」-「开发设置」-「服务器域名」。

request 合法域名 中添加:

https://api.example.com

如果后端提供文件上传、下载或 WebSocket 服务,还需要添加:

  • uploadFile 合法域名https://api.example.com

  • downloadFile 合法域名https://api.example.com

  • socket 合法域名wss://api.example.com

保存后,打开微信开发者工具,在「详情」-「域名信息」中刷新配置。

小程序端调用验证

在小程序项目中使用 wx.request 调用后端接口:

wx.request({
url:'https://api.example.com/api/health',
method:'GET',
success(res){
console.log('后端返回:',res.data);
},
fail(err){
console.error('请求失败:',err);
}
});

运行真机预览,关闭“不校验合法域名”选项,确认请求成功。

安装并配置 MySQL 数据库

如果后端需要数据库,安装 MySQL:

sudoaptinstall-ymysql-server
sudomysql_secure_installation

进入 MySQL:

sudomysql

创建数据库和用户:

CREATEDATABASEminiappCHARACTERSETutf8mb4COLLATEutf8mb4_unicode_ci;
CREATEUSER'miniapp'@'localhost'IDENTIFIEDBY'strong_password';
GRANTALLPRIVILEGESONminiapp.*TO'miniapp'@'localhost';
FLUSHPRIVILEGES;
EXIT;

在后端 .env 中填写对应数据库信息,然后重启服务:

pm2restartminiapp-backend

如果项目包含数据库迁移或初始化脚本,执行:

npmrunmigrate

十一、安全加固与防火墙

启用 UFW 防火墙:

sudoufwallowOpenSSH
sudoufwallow'NginxFull'
sudoufwenable

查看防火墙状态:

sudoufwstatus

建议禁用 root 密码登录并启用 SSH 密钥登录,编辑 SSH 配置:

sudonano/etc/ssh/sshd_config

修改:

PermitRootLoginno
PasswordAuthenticationno

重启 SSH:

sudosystemctlrestartssh

十二、后续更新与维护

后端代码更新后,执行:

cd/home/deploy/miniapp-backend
gitpulloriginmain
npminstall--production
pm2restartminiapp-backend

查看运行日志:

pm2logsminiapp-backend

查看 Nginx 访问日志:

sudotail-f/var/log/nginx/access.log

通过 PM2 设置开机自启:

pm2startup
pm2save

0