从零到上线:我在宝塔面板部署小程序前后端的完整踩坑指南
大家好,我是33blog的技术博主。最近刚完成一个小程序项目的部署,用的是宝塔面板。说实话,整个过程踩了不少坑,今天就把完整的部署流程和注意事项整理出来,希望能帮到有同样需求的开发者。
前期准备工作
在开始部署前,我们需要准备以下内容:
- 已备案的域名(小程序必须使用已备案域名)
- 服务器(建议2核4G配置起步)
- 宝塔面板7.9.0+版本
- 小程序前后端代码包
这里有个小插曲:我第一次部署时用的1核2G服务器,结果小程序并发稍微高点就直接崩了,后来升级配置才解决。所以建议大家不要像我一样贪便宜,服务器配置还是要留点余量。
宝塔环境配置
登录宝塔面板后,我们需要安装必要的运行环境:
# Nginx 1.20+
# MySQL 5.7+
# PHP 7.4(如果后端是PHP)
# Node.js 16+(如果后端是Node)
我建议在软件商店直接安装这些组件,比手动安装省心多了。安装完成后,记得在”安全”页面放行小程序需要用到的端口,比如443(HTTPS)、80(HTTP)等。
前端部署实战
小程序前端部署相对简单:
- 在宝塔创建网站,选择纯静态
- 上传编译后的小程序前端代码(通常是dist目录)
- 配置SSL证书(小程序必须使用HTTPS)
这里有个坑要注意:小程序对TLS版本有要求。我第一次用的免费证书,结果小程序报错”证书不安全”,后来换成TrustAsia的证书才解决。建议直接用宝塔的Let’s Encrypt免费证书,或者购买商业证书。
后端服务部署
后端部署稍微复杂些,以Node.js为例:
// PM2管理Node应用
npm install pm2 -g
pm2 start app.js --name "my-miniapp-api"
部署完成后,需要在宝塔的”网站”设置中添加反向代理:
location /api/ {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
}
我遇到过跨域问题,解决方法是在Nginx配置中添加CORS头信息:
add_header 'Access-Control-Allow-Origin' 'https://你的小程序域名';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
数据库配置技巧
数据库配置有几个注意事项:
- 创建专用数据库用户,不要用root
- 设置远程连接权限(如果需要)
- 定期备份数据库
我吃过一次亏:直接用root账号连接,结果被注入攻击了。后来学乖了,创建了最小权限的数据库用户,安全多了。
最后的检查清单
部署完成后,建议检查以下内容:
- HTTPS是否正常工作
- API接口是否能正常访问
- 小程序后台配置的域名是否正确
- 服务器防火墙设置
第一次部署时我漏了检查防火墙,结果外网死活访问不了,排查了半天才发现是防火墙没放行端口,这种低级错误希望大家别犯。
总结
宝塔面板部署小程序其实并不复杂,但细节很多。我的经验是:多备份、注意安全、留足服务器资源。如果遇到问题,宝塔的日志功能很强大,好好利用能节省很多排查时间。
如果你在部署过程中遇到其他问题,欢迎在评论区留言交流。下次我可能会写一篇关于小程序性能优化的文章,敬请期待!
太实用了!刚好最近在研究小程序部署,这篇文章简直是及时雨 👍