Python 之 Django框架 - 项目部署篇(宝塔)

在宝塔面板中部署Django项目,你需要执行以下步骤:

  1. 安装Python和pip。
  2. 创建虚拟环境。
  3. 安装Django。
  4. 收集静态文件(可选)。
  5. 数据库迁移。
  6. 配置Gunicorn或uWSGI。
  7. 配置Nginx。
  8. 在宝塔面板中设置定时任务(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_nameyour_domain_name为你的项目和域名信息。这些命令和配置假设你已经在宝塔面板中设置好了对应的域名和DNS解析。

评论已关闭

推荐阅读

DDPG 模型解析,附Pytorch完整代码
2024年11月24日
DQN 模型解析,附Pytorch完整代码
2024年11月24日
AIGC实战——Transformer模型
2024年12月01日
Socket TCP 和 UDP 编程基础(Python)
2024年11月30日
python , tcp , udp
如何使用 ChatGPT 进行学术润色?你需要这些指令
2024年12月01日
AI
最新 Python 调用 OpenAi 详细教程实现问答、图像合成、图像理解、语音合成、语音识别(详细教程)
2024年11月24日
ChatGPT 和 DALL·E 2 配合生成故事绘本
2024年12月01日
omegaconf,一个超强的 Python 库!
2024年11月24日
【视觉AIGC识别】误差特征、人脸伪造检测、其他类型假图检测
2024年12月01日
[超级详细]如何在深度学习训练模型过程中使用 GPU 加速
2024年11月29日
Python 物理引擎pymunk最完整教程
2024年11月27日
MediaPipe 人体姿态与手指关键点检测教程
2024年11月27日
深入了解 Taipy:Python 打造 Web 应用的全面教程
2024年11月26日
基于Transformer的时间序列预测模型
2024年11月25日
Python在金融大数据分析中的AI应用(股价分析、量化交易)实战
2024年11月25日
AIGC Gradio系列学习教程之Components
2024年12月01日
Python3 `asyncio` — 异步 I/O,事件循环和并发工具
2024年11月30日
llama-factory SFT系列教程:大模型在自定义数据集 LoRA 训练与部署
2024年12月01日
Python 多线程和多进程用法
2024年11月24日
Python socket详解,全网最全教程
2024年11月27日