宝塔部署前后端项目踩坑全记录
本文记录了我在宝塔面板部署「前端服务 + Node 后端 + Python 后端」项目时,遇到的常见问题和对应的解决方案。
一、了解整体项目结构
项目分为 3 个部分:
- 前端服务(静态页面/SPA 项目)
- Node.js 后端服务(API 接口)
- Python 后端服务(业务逻辑)

二、前端服务部署
创建php项目纯静态,选择项目目录,然后将在本地打包的dist目录上传到目录下,然后点击运行,即可访问前端服务。
三、Node.js 项目部署:依赖安装失败问题
问题现象
执行部署命令时提示 node_modules 目录不存在,依赖安装失败。
解决方案
1. 配置 Node.js 全局环境变量
宝塔安装的 Node.js 默认不会自动加入全局环境变量,需要手动配置:
bash
# 临时生效(仅当前终端会话有效)
export PATH=/www/server/nodejs/v20.20.2/bin:$PATH
# 永久生效(所有终端都生效)
echo 'export PATH=/www/server/nodejs/v20.20.2/bin:$PATH' >> /etc/profile
source /etc/profile配置完成验证
bash
node -v
npm -v2. 进入项目目录,删除旧的依赖,重新安装
bash
rm -rf node_modules package-lock.json
npm install就会构建 node_modules 目录,安装依赖。
四、前端部署:无法获取后端数据(跨域 / 代理问题)
解决方案
1. 在宝塔面板中,找到你的前端站点,点击「设置」→「配置文件」,修改 Nginx 配置。
- 添加API 代理到 Node.js 后端

2. 反向代理
- 代理到后端服务器上,前提是后端已经配置了提供前端静态文件

五、Python 项目部署:无法启动服务
- 先安装 Python 项目管理器
- 安装对应的python版本
- 创建虚拟环境
- 然后创建python项目,选择gunicorn 启动方式 ,等待安装依赖
- 激活虚拟环境
bash
# 激活我们刚创建的 money 虚拟环境
source /www/server/pyporject_evn/money/bin/activate
# 进入项目目录,安装依赖
cd /www/wwwroot/money-sys/python-ai
pip install -r requirements.txt
# 退出虚拟环境
deactivate- 启动服务
在宝塔面板中,找到你的前端站点,点击「设置」→「配置文件」,配置python

六、SSL证书
- 创建并添加SSL证书
提示
默认的标准端口号443 作为 HTTPS 协议的端口,如果要使用自定义端口,请修改 Nginx 配置文件。
其他端口想通过https 需手动在配置文件中 listen 端口 ssl http2 
项目地址
地址: 简易记账
