📜  在 CentOS VPS 上托管您的 Django 网站(1)

📅  最后修改于: 2023-12-03 15:07:38.042000             🧑  作者: Mango

在 CentOS VPS 上托管您的 Django 网站

如果你想在自己的 VPS 上托管 Django 网站,那么你可以选择 CentOS 作为你的操作系统。CentOS 是一种常见的 Linux 发行版,它适合用于托管 Web 应用程序和处理大量数据。它也是一种稳定、安全和高性能的操作系统。在本文中,我将向读者介绍如何在 CentOS VPS 上托管 Django 网站。

步骤一:安装必要的软件

在你开始编写 Django 代码之前,你需要在你的 CentOS VPS 上安装必要的软件。以下是你需要安装的软件以及它们的安装命令。

# 更新系统并安装 EPEL 仓库
sudo yum update
sudo yum install epel-release

# 安装 Python 和其它必要的软件包
sudo yum install python3 python3-devel python3-pip gcc nginx git

# 安装 MySQL 数据库和客户端库
sudo yum install mariadb mariadb-devel mariadb-libs mariadb-server
sudo pip3 install mysqlclient
步骤二:创建 Django 项目

在你安装必要的软件之后,你需要创建一个 Django 项目。你可以通过运行以下命令来创建一个 Django 项目。

# 创建 Django 项目
django-admin startproject myproject
cd myproject

# 创建 Django 应用程序
python3 manage.py startapp myapp

在这里,我们创建了一个名为 "myproject" 的 Django 项目和一个名为 "myapp" 的应用程序。

步骤三:修改设置文件

在你创建 Django 项目之后,你需要修改设置文件。以下是你需要修改的设置文件以及其实际内容。

# myproject/settings.py

# ...
ALLOWED_HOSTS = ['your_domain_name', 'your_VPS_IP_address']
# ...

DATABASES = {
   'default': {
       'ENGINE': 'django.db.backends.mysql',
       'NAME': 'your_database_name',
       'USER': 'your_database_user',
       'PASSWORD': 'your_database_password',
       'HOST': 'localhost',
       'PORT': '3306',
   }
}
# ...
步骤四:配置 Nginx 和 uWSGI

在你设置 Django 项目之后,你需要配置 Nginx 和 uWSGI。以下是你需要配置的 Nginx 和 uWSGI 配置文件以及其实际内容。

# 安装 uWSGI
sudo pip3 install uwsgi

# 创建并配置 uWSGI 配置文件
sudo mkdir -p /etc/uwsgi/sites/
sudo touch /etc/uwsgi/sites/myproject.ini
sudo echo "[uwsgi]
# uwsgi socket
socket = /run/uwsgi/myproject.sock
chmod-socket = 664

# Django 目录
chdir = /path/to/myproject

# Python 虚拟环境
home = /path/to/myproject/venv
module = myproject.wsgi:application

# 进程数
processes = 4

# 应用程序并发数
threads = 2

# 日志文件
logto = /var/log/uwsgi/myproject.log" > /etc/uwsgi/sites/myproject.ini

# 创建并配置 Nginx 文件
sudo touch /etc/nginx/sites-available/myproject
sudo echo "server {
   listen 80;
   server_name your_domain_name your_VPS_IP_address;

   location /static {
       alias /path/to/myproject/static;
   }

   location / {
       uwsgi_pass unix:///run/uwsgi/myproject.sock;
       include /etc/nginx/uwsgi_params;
   }
}" > /etc/nginx/sites-available/myproject

sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled/

# 测试并重启 Nginx 和 uWSGI
sudo nginx -t
sudo systemctl restart nginx
sudo systemctl start uwsgi
步骤五:部署 Django 项目

在你完成配置 Nginx 和 uWSGI 之后,你需要部署 Django 项目。以下是你需要部署 Django 项目的实际命令。

# 安装 Django
sudo pip3 install django

# 安装其它软件包(按照你的需要)
sudo pip3 install pillow django-crispy-forms django-debug-toolbar

# 运行 Django 数据迁移
python3 manage.py migrate

# 创建超级用户(按需)
python3 manage.py createsuperuser

# 测试 Django 项目
python3 manage.py runserver

到此,你已成功在 CentOS VPS 上托管 Django 网站。现在你可以从浏览器中访问你的 Django 应用程序。记得在最终部署前,将 Debug 模式关闭,并配置服务器防火墙以阻止未经授权的访问。