如何在cPanel同域名部署React前端+Python后端的Node.js应用
在cPanel部署React+Python前后端应用的完整步骤
一、安装Python pip依赖
cPanel自带Python应用管理器,可通过虚拟环境管理依赖:
- 登录cPanel,找到**Python应用(Setup Python App)**工具
- 点击「Create Application」,选择与本地开发一致的Python版本,设置:
- 应用根目录:比如
public_html/backend(提前在文件管理器创建该目录) - 启动文件:比如
app.py(你的后端入口文件名) - 应用URL路径:比如
/api(后端接口的根路径)
- 应用根目录:比如
- 创建完成后,复制页面给出的虚拟环境激活命令(类似
source /home/你的用户名/virtualenv/backend/3.9/bin/activate) - 打开cPanel的终端,粘贴激活命令进入虚拟环境
- 将本地生成的
requirements.txt上传到后端根目录,执行pip install -r requirements.txt安装所有依赖
二、部署Python后端
cPanel通过WSGI协议运行Python后端,需确保代码符合要求:
- 调整后端入口代码(以Flask为例),添加WSGI入口变量:
from flask import Flask app = Flask(__name__) # 你的后端路由逻辑... if __name__ == "__main__": app.run() else: application = app # cPanel要求WSGI入口必须命名为application
- 将所有后端代码文件上传到之前设置的应用根目录(
public_html/backend) - 返回Python应用管理器,点击「Restart」重启后端应用
- 测试访问:打开浏览器访问
你的域名/api,若能看到后端返回的内容(如默认的Flask页面),说明部署成功
三、前后端连接配置
- 修改React前端的API请求地址:
在前端的API配置文件中,将本地测试地址替换为cPanel后端的URL:
const API_BASE_URL = 'https://你的域名/api';
- 解决跨域问题:
若前端请求后端出现跨域错误,在Python后端添加CORS支持(以Flask为例):
- 先在虚拟环境执行
pip install flask-cors - 后端代码中配置CORS:
from flask_cors import CORS app = Flask(__name__) CORS(app) # 生产环境可指定允许的域名,如CORS(app, origins=["https://你的域名"])
- 重新部署前端:
将React打包后的build文件夹内容,上传到cPanel的public_html目录,确保前端页面能通过域名正常访问
注意事项
- 确保Python版本与本地开发环境一致,避免依赖兼容性问题
- 后端无需手动设置端口,cPanel会通过你配置的URL路径自动映射
- 若pip安装依赖失败,检查虚拟环境是否正确激活,或依赖包是否支持当前Python版本
内容的提问来源于stack exchange,提问作者Sheikh Ali Raza
相关产品推荐
相关产品推荐

