avatar👋
fighting27fighting27的博客 | 壹人小站

今人不见古时月,今月曾经照古人

总是畏惧海洋的人,是无法离开岸边的

宝塔部署前后端项目踩坑全记录(Node + Python + Nginx)

宝塔部署前后端项目踩坑全记录

本文记录了我在宝塔面板部署「前端服务 + 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 -v

2. 进入项目目录,删除旧的依赖,重新安装

bash
rm -rf node_modules package-lock.json
npm install

就会构建 node_modules 目录,安装依赖。

四、前端部署:无法获取后端数据(跨域 / 代理问题)

解决方案

1. 在宝塔面板中,找到你的前端站点,点击「设置」→「配置文件」,修改 Nginx 配置。

  • 添加API 代理到 Node.js 后端 Nginx配置

2. 反向代理

  • 代理到后端服务器上,前提是后端已经配置了提供前端静态文件 Nginx配置

五、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

Nginx配置

六、SSL证书

  • 创建并添加SSL证书

提示

默认的标准端口号443 作为 HTTPS 协议的端口,如果要使用自定义端口,请修改 Nginx 配置文件。

其他端口想通过https 需手动在配置文件中 listen 端口 ssl http2 Nginx配置

项目地址

地址: 简易记账

Hello, Valaxy!!!!