售前咨询400-838-0503

如何在Linux云服务器上安装Django?

发布:2025-03-31 11:23

搜索全部帮助分类的文档

Linux云服务器部署Django全攻略:从零开始搭建Python Web应用

在数字化浪潮中,Django作为Python最强大的Web框架之一,正被越来越多的开发者选用。本文将手把手教您如何在Linux云服务器上完成Django环境的完整部署,涵盖从系统准备到项目上线的全流程。

一、环境准备与Python安装

推荐使用Ubuntu 20.04 LTS或CentOS 8作为基础系统:

1. 更新系统软件包

sudo apt update && sudo apt upgrade -y  # Ubuntu
sudo yum update -y           # CentOS

2. Python环境安装(以Python 3.8为例)

  1. 安装编译依赖:
    sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev -y
  2. 源码编译安装Python:
    wget https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz
    tar -xzf Python-3.8.12.tgz
    cd Python-3.8.12
    ./configure --enable-optimizations
    make -j $(nproc)
    sudo make altinstall

二、虚拟环境与Django安装

⚠️ 强烈建议使用虚拟环境隔离项目依赖!

1. 创建虚拟环境

python3.8 -m venv django_env
source django_env/bin/activate

2. 安装Django及必要组件

pip install --upgrade pip
pip install django gunicorn psycopg2-binary

专家建议:

生产环境建议使用PostgreSQL数据库,安装命令:sudo apt install postgresql postgresql-contrib -y

三、项目部署实战

1. 创建Django项目

django-admin startproject myproject
cd myproject

2. 关键配置修改

编辑settings.py:

  • 设置DEBUG = False
  • 配置ALLOWED_HOSTS = ['your-server-ip', 'domain.com']
  • 数据库配置(示例使用PostgreSQL)

3. Gunicorn服务配置

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

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

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

[Install]
WantedBy=multi-user.target

四、Nginx反向代理配置

1. 安装Nginx

sudo apt install nginx -y

2. 创建站点配置文件

编辑/etc/nginx/sites-available/myproject:

server {
    listen 80;
    server_name your-domain.com;
    
    location /static/ {
        alias /path/to/your/static/files;
    }
    
    location / {
        include proxy_params;
        proxy_pass http://unix:/tmp/gunicorn.sock;
    }
}

常见问题解答

Q: 如何收集静态文件?

A: 执行python manage.py collectstatic,确保Nginx有读取权限。

Q: 出现502 Bad Gateway错误怎么办?

A: 检查Gunicorn服务状态systemctl status gunicorn,确认sock文件权限正确。

五、安全加固建议

  • 配置SSL证书(推荐使用Let's Encrypt)
  • 定期更新系统安全补丁
  • 使用Django的安全中间件
  • 配置防火墙规则(UFW或firewalld)

通过以上步骤,您已经成功在Linux云服务器上部署了Django应用。建议定期备份数据库和代码,并监控服务器性能指标。

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

提交工单