Python 之 Django框架 - 项目部署篇(宝塔)
在宝塔面板中部署Django项目,你需要执行以下步骤:
- 安装Python和pip。
- 创建虚拟环境。
- 安装Django。
- 收集静态文件(可选)。
- 数据库迁移。
- 配置Gunicorn或uWSGI。
- 配置Nginx。
- 在宝塔面板中设置定时任务(cron)。
以下是对应的宝塔命令行和配置示例:
# 安装Python3和pip3
yum install -y python3 python3-pip
# 创建虚拟环境
python3 -m venv /www/wwwroot/your_project_name
# 激活虚拟环境
source /www/wwwroot/your_project_name/bin/activate
# 安装Django
pip install django
# 收集静态文件(如果你的项目使用了静态文件)
python manage.py collectstatic
# 数据库迁移
python manage.py migrate
# 安装Gunicorn
pip install gunicorn
# 安装uWSGI(如果你选择uWSGI作为服务器)
pip install uwsgi
# 安装Nginx插件
btnginx on
# 配置Gunicorn(gunicorn_start是一个脚本,你需要自己创建)
cat > /www/wwwroot/your_project_name/gunicorn_start <<-EOF
#!/bin/sh
cd /www/wwwroot/your_project_name
source /www/wwwroot/your_project_name/bin/activate
exec gunicorn your_project_name.wsgi:application \
--name your_project_name \
--workers 3 \
--bind unix:/www/wwwroot/your_project_name/your_project_name.sock \
--log-level debug
EOF
chmod +x /www/wwwroot/your_project_name/gunicorn_start
# 配置Nginx
btnginx /www/server/panel/vhost/nginx/your_domain_name.conf
cat > /www/server/panel/vhost/nginx/your_domain_name.conf <<-EOF
server {
listen 80;
server_name your_domain_name;
location /static/ {
alias /www/wwwroot/your_project_name/static/;
}
location / {
proxy_pass http://unix:/www/wwwroot/your_project_name/your_project_name.sock;
include proxy_params;
}
}
EOF
# 应用配置
btnginx reload
# 设置定时任务(cron)
crontab -e
# 添加以下内容,确保你的Gunicorn进程总是运行的
# @daily /bin/sh /www/wwwroot/your_project_name/gunicorn_start
# 保存退出
# 重新加载cron配置
btcron reload
确保替换以上脚本中的your_project_name
、your_domain_name
为你的项目和域名信息。这些命令和配置假设你已经在宝塔面板中设置好了对应的域名和DNS解析。
评论已关闭