宝塔面板是一款强大的服务器管理工具,可以简化Python Web框架的部署过程。以下是使用宝塔面板部署Django和Flask应用的详细指南。
项目名/wsgi.py
创建Python虚拟环境:
python -m venv /path/to/venv
source /path/to/venv/bin/activate
pip install -r requirements.txt
配置uWSGI:
创建myproject_uwsgi.ini
文件:
[uwsgi]
socket = :8000
chdir = /path/to/your/project
module = project_name.wsgi
master = true
processes = 4
vacuum = true
在宝塔面板添加站点,并配置反向代理到uWSGI端口
app.py
或run.py
在Django的settings.py
中添加:
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
然后运行:
python manage.py collectstatic
在宝塔面板的站点配置中添加静态文件目录映射。
确保已安装数据库驱动:
pip install mysqlclient # MySQL
# 或
pip install psycopg2-binary # PostgreSQL
检查: 1. Python项目是否正常运行 2. 端口配置是否正确 3. 反向代理设置是否正确
尝试:
pip install --upgrade pip
pip install -r requirements.txt --no-cache-dir
location / {
proxy_pass http://127.0.0.1:你的Python应用端口;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
SECURE_PROXY_SSL_HEADER
(Django):
python
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
使用Gunicorn替代开发服务器:
pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:8000 project_name.wsgi:application
启用缓存:考虑使用Redis或Memcached
通过宝塔面板,Python Web应用的部署变得简单高效。按照上述步骤,您可以快速搭建生产环境的Django或Flask应用。