在宝塔面板上部署 Python Flask 项目主要分为以下几个步骤:
1. **环境准备**:
- 确保你的开发环境中 Python 版本与宝塔面板中安装的 Python 版本一致。例如,如果你在开发环境中使用的是 Python 3.8.6 ,那么在宝塔面板中也应选择相应的 Python 版本。
- 使用`pip freeze > requirements.txt`命令导出项目依赖,并确保`requirements.txt`文件中只包含 Flask 及其基本依赖,避免不必要的依赖导致部署失败。
2. **项目上传**:
- 将你的 Flask 项目文件上传到服务器的相应目录中,通常推荐上传到`www/wwwroot`目录下,以便于后续配置。
3. **安装 Python 项目管理器**:
- 在宝塔面板的应用商店中搜索并安装“Python 项目管理器”插件。安装完成后,进入设置界面,选择“版本管理”并安装你项目所需的 Python 版本。
4. **添加项目**:
- 在 Python 项目管理器中点击“添加项目”,填写项目名称,选择对应的 Python 版本和 Flask 框架,并设置启动方式(如 uwsgi 或 gunicorn )。
- 指定项目路径为你上传的 Flask 项目路径,设置启动文件(如`
app.py`),并选择合适的端口(如 5000 或 8001 )。
5. **配置 UWSGI**:
- 根据你的项目需求配置 UWSGI ,设置`chdir`为你的项目目录,`wsgi-file`为你的启动文件,`callable`为`app`(如果你的启动文件名为`
app.py`)。
- 如果端口被占用,可以通过服务器终端使用`netstat -anp | grep 端口号`查看占用端口的进程,并使用`kill -s 9 进程号`来释放端口。
6. **安装并设置 Nginx**:
- 修改 Nginx 配置文件,设置`server_name`为你的服务器公网 IP ,`root`为你的项目目录。
- 添加`location`配置,使用`uwsgi_pass 127.0.0.1:端口号;`指向你的 Flask 应用,确保端口号与 UWSGI 配置中的端口号一致。
- 配置静态文件服务,例如`location /static/`,设置`alias`为你的项目中的静态文件目录。
7. **端口放行**:
- 在服务器的安全组设置中放行你设置的端口,确保外部访问不会受到限制。
- 在宝塔面板的“安全”或“防火墙”设置中放行相应的端口。
完成以上步骤后,你的 Flask 项目应该可以在通过服务器的公网 IP 地址访问了。如果在部署过程中遇到问题,可以参考宝塔面板的官方文档或者社区中的相关教程进行排查和解决。