售前咨询400-838-0503

Linux云服务器如何部署Django应用?

发布:2025-04-23 18:01

从零开始:在Linux云服务器上部署Django应用的完整指南

在当今数字化时代,Django作为Python最流行的Web框架之一,因其"开箱即用"的特性和强大的功能而广受欢迎。本文将详细介绍如何在Linux云服务器上部署Django应用,帮助开发者将项目从本地环境顺利迁移到生产环境。

一、准备工作

在开始部署前,确保您已完成以下准备工作:

  1. 购买并配置好Linux云服务器(推荐Ubuntu/CentOS)
  2. 拥有SSH访问权限
  3. 准备好Django项目代码(建议使用Git管理)
  4. 注册域名并配置DNS解析(可选)

提示:对于初学者,阿里云、腾讯云等平台提供的新用户优惠是很好的选择。

二、服务器基础环境配置

1. 更新系统软件包

sudo apt update && sudo apt upgrade -y  # Ubuntu/Debian
sudo yum update -y  # CentOS/RHEL

2. 安装必要工具

sudo apt install -y python3-pip python3-dev libpq-dev nginx curl  # Ubuntu
sudo yum install -y python3-pip python3-devel postgresql-devel nginx curl  # CentOS

3. 创建虚拟环境

python3 -m venv myenv
source myenv/bin/activate

三、Django项目部署

1. 安装项目依赖

pip install -r requirements.txt

2. 配置生产环境设置

创建production.py设置文件:

DEBUG = False
ALLOWED_HOSTS = ['yourdomain.com', 'server_ip']
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

3. 收集静态文件

python manage.py collectstatic

四、配置Gunicorn和Nginx

1. 安装并配置Gunicorn

pip install gunicorn
gunicorn --bind 0.0.0.0:8000 myproject.wsgi

2. 创建系统服务

创建/etc/systemd/system/gunicorn.service文件:

[Unit]
Description=gunicorn daemon
After=network.target

[Service]
User=username
Group=www-data
WorkingDirectory=/path/to/your/project
ExecStart=/path/to/venv/bin/gunicorn --workers 3 --bind unix:/path/to/your/project.sock myproject.wsgi:application

[Install]
WantedBy=multi-user.target

3. 配置Nginx

创建/etc/nginx/sites-available/myproject文件:

server {
    listen 80;
    server_name yourdomain.com;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /path/to/your/project;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/path/to/your/project.sock;
    }
}

五、安全加固与优化

1. 防火墙配置

sudo ufw allow 'Nginx Full'
sudo ufw allow ssh
sudo ufw enable

2. 配置SSL证书(可选但推荐)

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com

3. 定期自动更新证书

sudo certbot renew --dry-run

通过以上步骤,您的Django应用已经成功部署到Linux云服务器上。部署过程中可能会遇到各种问题,建议:

  • 查看Nginx错误日志:/var/log/nginx/error.log
  • 检查Gunicorn状态:sudo systemctl status gunicorn
  • 确保所有文件权限设置正确

部署只是开始,后续还需要关注服务器监控、定期备份、性能优化等工作,才能确保应用长期稳定运行。

按文档操作后还是不行,把机器编号、出问题的时间点和现象截图一起提工单,能少来回一轮。

提交工单