是的,微信小程序可以部署到腾讯云轻量应用服务器(Lighthouse)。以下是详细的部署步骤:
1. 准备工作
购买轻量应用服务器
- 在腾讯云控制台购买Lighthouse实例
- 推荐配置:2核2G/4G内存(根据小程序后端复杂度选择)
- 系统选择:Ubuntu 20.04/22.04 或 CentOS 7/8
域名备案
- 如果需要使用自定义域名,必须完成ICP备案
- 轻量服务器支持一键配置SSL证书
2. 服务器环境配置
安装基础环境
# Ubuntu系统
sudo apt update
sudo apt install nginx nodejs npm pm2 git -y
# CentOS系统
sudo yum update
sudo yum install nginx nodejs npm pm2 git -y
配置Nginx反向
server {
listen 80;
server_name your-domain.com;
# 微信小程序需要HTTPS
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /etc/nginx/ssl/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/privkey.pem;
location / {
proxy_pass http://localhost:3000; # 后端服务端口
proxy_set_header Host $host;
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 ~* .(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires 1y;
add_header Cache-Control "public, immutable";
}
}
3. 部署小程序后端
上传代码
# 方法1:直接上传
scp -r /local/path/to/your/project root@your-server-ip:/var/www/
# 方法2:使用Git
cd /var/www/
git clone https://github.com/your-username/your-project.git
安装依赖并启动
cd /var/www/your-project
npm install
# 使用PM2守护进程启动
pm2 start app.js --name "weapp-backend"
pm2 startup
pm2 save
4. 数据库配置(如需要)
安装MySQL/MongoDB
# MySQL
sudo apt install mysql-server
sudo mysql_secure_installation
# MongoDB
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt update
sudo apt install mongodb-org
创建数据库用户
CREATE DATABASE weapp_db;
CREATE USER 'weapp_user'@'localhost' IDENTIFIED BY 'your-password';
GRANT ALL PRIVILEGES ON weapp_db.* TO 'weapp_user'@'localhost';
FLUSH PRIVILEGES;
5. 微信小程序配置
在小程序管理后台配置
- 登录微信公众平台
- 进入「开发」→「开发管理」→「开发设置」
- 在「服务器域名」中添加:
- request合法域名:
https://your-domain.com - socket合法域名(如使用WebSocket)
- uploadFile合法域名
- downloadFile合法域名
- request合法域名:
小程序代码中调用API
// 示例:调用后端API
wx.request({
url: 'https://your-domain.com/api/user/info',
method: 'GET',
success(res) {
console.log(res.data)
}
})
6. 安全配置
防火墙设置
# Ubuntu UFW
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 22/tcp
sudo ufw enable
# CentOS firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
定期备份
# 创建备份脚本
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="/backup"
mkdir -p $BACKUP_DIR
# 备份数据库
mysqldump -u weapp_user -p weapp_db > $BACKUP_DIR/db_$DATE.sql
# 备份代码
tar -czf $BACKUP_DIR/code_$DATE.tar.gz /var/www/your-project
# 删除7天前的备份
find $BACKUP_DIR -name "*.sql" -mtime +7 -delete
find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete
7. 监控和维护
PM2监控
# 查看进程状态
pm2 list
# 查看日志
pm2 logs
# 重启服务
pm2 restart weapp-backend
服务器监控
# 安装htop查看系统资源
sudo apt install htop
htop
# 查看磁盘使用
df -h
# 查看内存使用
free -h
注意事项
- HTTPS必须:微信小程序强制要求HTTPS协议
- 端口开放:确保80、443端口在安全组中开放
- 域名备案:国内服务器必须完成域名备案
- 性能优化:根据访问量选择合适的服务器配置
- 定期更新:及时更新系统和软件包安全补丁
这样就可以成功将微信小程序部署到腾讯云轻量应用服务器了!
ECLOUD博客