HCRM博客

如何在CentOS上安装和配置Django?

CentOS 上部署 Django 的详细指南

Django 是一个高级 Python Web 框架,它鼓励快速开发和清晰、实用的设计,CentOS(Community Enterprise Operating System)是一种流行的 Linux 发行版,广泛用于服务器环境,本文将详细介绍如何在 CentOS 上部署 Django 项目。

如何在CentOS上安装和配置Django?-图1
(图片来源网络,侵权删除)

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

如何在CentOS上安装和配置Django?-图2
(图片来源网络,侵权删除)
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 数据库:

如何在CentOS上安装和配置Django?-图3
(图片来源网络,侵权删除)
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'
分享:
扫描分享到社交APP
上一篇
下一篇