CentOS 上部署 Django 的详细指南
Django 是一个高级 Python Web 框架,它鼓励快速开发和清晰、实用的设计,CentOS(Community Enterprise Operating System)是一种流行的 Linux 发行版,广泛用于服务器环境,本文将详细介绍如何在 CentOS 上部署 Django 项目。
1. 环境准备
1 安装 CentOS 系统
你需要一台运行 CentOS 的服务器,如果你还没有安装 CentOS,可以从 [CentOS 官方网站](https://www.centos.org/download/)下载并安装。
2 更新系统软件包
在开始之前,确保你的系统软件包是最新的,打开终端并运行以下命令:
sudo yum update y
3 安装 Python 和 Pip
Django 需要 Python 和 Pip,你可以通过以下命令安装它们:
sudo yum install y python3 python3pip
1.4 安装虚拟环境工具virtualenv
虚拟环境有助于隔离项目的依赖关系,你可以使用以下命令安装virtualenv
:
sudo pip3 install virtualenv
2. 创建 Django 项目
1 创建并激活虚拟环境
在项目目录下创建一个名为venv
的虚拟环境并激活它:
cd /path/to/your/project python3 m venv venv source venv/bin/activate
2 安装 Django
在激活的虚拟环境中安装 Django:
pip install django
3 创建 Django 项目
使用以下命令创建一个新的 Django 项目:
djangoadmin startproject myproject .
4 创建应用
进入项目目录并创建一个新的应用:
cd myproject python manage.py startapp myapp
5 配置数据库
编辑myproject/settings.py
,找到DATABASES
设置,将其修改为适合你的数据库配置,使用 SQLite 数据库:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }
如果使用其他数据库(如 PostgreSQL),请相应修改配置。
3. 配置 Nginx 和 Gunicorn
3.1 安装 Nginx 和 Gunicorn
Nginx 作为反向代理服务器,Gunicorn 作为 WSGI HTTP 服务器来运行 Django 应用:
sudo yum install y epelrelease sudo yum install y nginx pip install gunicorn
2 配置 Gunicorn
创建一个 Gunicorn 服务文件myproject.service
:
[Unit] Description=gunicorn daemon After=network.target [Service] User=your_username Group=nginx WorkingDirectory=/path/to/your/project ExecStart=/path/to/your/venv/bin/gunicorn accesslogfile workers 3 bind unix:/path/to/your/project.sock myproject.wsgi:application [Install] WantedBy=multiuser.target
将your_username
替换为实际的用户名,将路径替换为实际的项目路径和虚拟环境路径,然后启用并启动服务:
sudo systemctl enable myproject sudo systemctl start myproject
3 配置 Nginx
编辑 Nginx 配置文件/etc/nginx/conf.d/myproject.conf
:
server { listen 80; server_name your_domain_or_IP; location / { include proxy_params; proxy_pass http://unix:/path/to/your/project.sock; } location /static/ { alias /path/to/your/project/static/; } location /media/ { alias /path/to/your/project/media/; } }
将your_domain_or_IP
替换为实际的域名或 IP 地址,将路径替换为实际的项目路径,然后重启 Nginx:
sudo systemctl restart nginx
4. 迁移数据库并启动服务器
1 迁移数据库
运行以下命令以创建初始数据库表:
python manage.py migrate
2 收集静态文件
在生产环境中,将所有静态文件收集到一个目录中:
python manage.py collectstatic noinput
3 运行服务器
你的 Django 应用应该已经成功部署并在服务器上运行,你可以通过浏览器访问你的域名或 IP 地址来查看效果。
5. 相关问答 FAQs
Q1: 如何更改 Django 项目的调试模式?
A1: 在myproject/settings.py
文件中,找到DEBUG
设置并将其设置为False
:
DEBUG = False
这会在生产环境中禁用调试模式,提高安全性。
Q2: 如何更改 Django 项目的时区设置?
A2: 在myproject/settings.py
文件中,找到TIME_ZONE
设置并将其更改为你所在的时区,对于中国标准时间:
TIME_ZONE = 'Asia/Shanghai'