📅  最后修改于: 2023-12-03 15:07:38.042000             🧑  作者: Mango
如果你想在自己的 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-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',
}
}
# ...
在你设置 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
在你完成配置 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 模式关闭,并配置服务器防火墙以阻止未经授权的访问。