Save 15% on All Hosting Services

测试技能,享折扣

使用代码: Skills 开始使用
China
Linux 管理

如何在托管服务器上安装Django:完整分步指南

Django 是一个高级 Python Web 框架,旨在鼓励快速开发和简洁、务实的设计。它仍然是构建可扩展、安全和可维护 Web 应用程序的最受欢迎的选择之一——从简单的博客到复杂的企业平台。在本综合指南中,我们将引导您完成在托管服务器上安装 Django 所需的每一步,从准备 Linux 环境到运行您的第一个项目并为生产做准备。

为什么为您的 Web 应用程序选择 Django?

在深入安装过程之前,值得了解为什么 Django 继续主导 Python Web 开发领域:

  • 开箱即用: Django 附带内置身份验证、管理面板、ORM、表单处理和安全功能。
  • 可扩展性: Django 为 Instagram 和 Pinterest 等高流量平台提供支持。
  • 安全优先设计: Django 默认防止常见漏洞,包括 SQL 注入、XSS、CSRF 和点击劫持。
  • 快速开发: 其约定优于配置的理念让开发人员能够更快地交付功能。
  • 庞大的生态系统: 数千个可重用的包和庞大的社区意味着几乎任何问题的解决方案都已存在。

要充分利用 Django,您需要一个可靠的服务器环境。VPS 托管计划为您提供 Django 应用程序所需的 root 访问权限、专用资源和灵活性。

先决条件

在开始安装过程之前,请确保您已准备好以下内容:

  • 运行 Linux 发行版的托管服务器(推荐 Ubuntu 20.04/22.04 或 Debian)
  • 具有 sudo 权限的服务器 SSH 访问权限
  • Python 3.8 或更高版本(推荐 Python 3.10+)
  • pip(Python 的包管理器)已安装
  • 对 Linux 命令行的基本熟悉

> 专业提示:如果您运行生产 Django 应用程序,请避免使用共享托管环境。VPS 托管计划或专用服务器将为您的应用程序提供所需的控制和性能。

第 1 步:通过 SSH 连接到您的服务器

打开您的终端并建立与托管服务器的 SSH 连接:

ssh username@server_ip

username 替换为您的实际系统用户名,将 server_ip 替换为您的服务器的公共 IP 地址。如果您使用自定义 SSH 端口或基于密钥的身份验证文件,请相应地调整命令:

ssh -i /path/to/your/key.pem username@server_ip

连接后,您将拥有服务器的命令行界面,可以开始设置过程。

第 2 步:更新您的系统并安装 Python 和 pip

保持系统包最新是安全性和兼容性的关键第一步。

更新包索引

sudo apt update && sudo apt upgrade -y

安装 Python 3 和 pip

大多数现代 Ubuntu 和 Debian 发行版都预装了 Python 3。首先验证您的 Python 版本:

python3 --version

如果未安装 Python 3 或您需要 pip,请使用以下命令安装:

sudo apt install python3 python3-pip -y

验证安装:

python3 --version
pip3 --version

您应该看到版本号,确认两个工具都可用。

第 3 步:设置 Python 虚拟环境

使用虚拟环境不仅是推荐的——它被认为是每个 Python 项目的最佳实践。虚拟环境将您的项目依赖项与系统范围的 Python 安装以及同一服务器上的其他项目隔离开来,防止版本冲突并保持您的环境整洁。

安装 virtualenv

sudo pip3 install virtualenv

或者,您可以使用 Python 的内置 venv 模块(在 Python 3.3+ 中可用):

sudo apt install python3-venv -y

创建您的项目目录和虚拟环境

导航到您想要托管项目的目录,或创建一个新目录:

mkdir myproject
cd myproject

现在在您的项目目录中创建虚拟环境:

virtualenv venv

或者,使用内置的 venv 模块:

python3 -m venv venv

激活虚拟环境

source venv/bin/activate

激活后,您的命令提示符将更改以显示虚拟环境名称,例如:

(venv) username@server:~/myproject$

虚拟环境处于活动状态时执行的所有 pip install 命令将仅在此隔离环境中安装包。要随时停用它,只需运行:

deactivate

第 4 步:安装 Django

激活虚拟环境后,使用 pip 安装 Django:

pip install django

要安装特定版本的 Django(推荐用于生产以确保兼容性):

pip install django==4.2

验证安装:

django-admin --version

您应该看到打印到终端的已安装 Django 版本号。

第 5 步:创建新的 Django 项目

使用 Django 的内置 django-admin 命令行工具来搭建新项目:

django-admin startproject myproject .

> 注意:末尾的点 (.) 告诉 Django 在当前目录中创建项目文件,而不是创建嵌套子目录。这对于大多数部署来说是一个更简洁的结构。

您的项目目录现在将包含以下结构:

myproject/
├── manage.py
└── myproject/
    ├── __init__.py
    ├── asgi.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py
  • manage.py — 用于与 Django 项目交互的命令行实用程序。
  • settings.py — 项目的中央配置文件。
  • urls.py — URL 路由配置。
  • wsgi.py / asgi.py — WSGI 和 ASGI 兼容 Web 服务器的入口点。

第 6 步:配置数据库设置

打开 settings.py 文件以配置您的数据库连接:

nano myproject/settings.py

默认:SQLite(仅限开发)

默认情况下,Django 配置为使用 SQLite,适合开发和测试,但不推荐用于生产

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

生产选项:PostgreSQL

PostgreSQL 是 Django 在生产中最常推荐的数据库。首先,安装所需的包:

sudo apt install postgresql postgresql-contrib libpq-dev -y
pip install psycopg2-binary

然后更新 DATABASES 中的 settings.py 设置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'mydatabase',
        'USER': 'myuser',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

生产选项:MySQL / MariaDB

如果您更喜欢 MySQL 或 MariaDB,请安装所需的适配器:

sudo apt install default-libmysqlclient-dev -y
pip install mysqlclient

然后配置 DATABASES 设置:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydatabase',
        'USER': 'myuser',
        'PASSWORD': 'mypassword',
        'HOST': 'localhost',
        'PORT': '3306',
    }
}

配置 ALLOWED_HOSTS

settings.py 中,还要更新 ALLOWED_HOSTS 设置以包含您的服务器的 IP 地址或域名。这是 Django 在非调试模式下提供请求所必需的:

ALLOWED_HOSTS = ['your_server_ip', 'yourdomain.com', 'www.yourdomain.com']

第 7 步:应用数据库迁移

Django 使用迁移系统来管理数据库架构更改。运行初始迁移以创建所有必要的数据库表:

python manage.py migrate

您将看到列出每个正在应用的迁移的输出。成功的迁移如下所示:

Operations to perform:
  Apply all migrations: admin, auth, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  ...

创建超级用户(可选但推荐)

创建管理员帐户以访问 Django 的内置管理界面:

python manage.py createsuperuser

系统将提示您输入用户名、电子邮件地址和密码。

第 8 步:运行 Django 开发服务器

您现在可以启动 Django 的内置开发服务器来验证您的安装:

python manage.py runserver 0.0.0.0:8000

此命令将开发服务器绑定到端口 8000 上的所有可用网络接口。打开您的 Web 浏览器并导航到:

http://your_server_ip:8000

您应该看到 Django 欢迎页面——一个火箭船,带有”安装成功!恭喜!”的消息

要访问管理面板,请导航到:

http://your_server_ip:8000/admin

> 重要: Django 的内置开发服务器不适合生产。它是单线程的,性能不优化,缺乏安全加固。始终为实时部署使用生产级 Web 服务器。

第 9 步:为生产准备 Django(推荐)

对于生产部署,您需要配置适当的 Web 服务器堆栈。最常见和推荐的设置是 Nginx + Gunicorn

安装 Gunicorn

激活虚拟环境后:

pip install gunicorn

测试 Gunicorn 是否可以提供您的应用程序:

gunicorn --bind 0.0.0.0:8000 myproject.wsgi

安装和配置 Nginx

sudo apt install nginx -y

创建 Nginx 服务器块配置文件:

sudo nano /etc/nginx/sites-available/myproject

添加以下配置:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    location = /favicon.ico { access_log off; log_not_found off; }

    location /static/ {
        root /home/username/myproject;
    }

    location / {
        include proxy_params;
        proxy_pass http://unix:/run/gunicorn.sock;
    }
}

启用配置并重启 Nginx:

sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

收集静态文件

使用静态文件目录更新 settings.py

STATIC_ROOT = BASE_DIR / 'staticfiles'

然后收集所有静态文件:

python manage.py collectstatic

使用 SSL 保护您的应用程序

对于任何生产 Django 应用程序,HTTPS 是必不可少的。SSL 证书加密您的服务器和用户之间传输的数据,保护敏感信息,并且是现代浏览器信任指标所必需的。AlexHost 提供与您的托管环境无缝集成的 SSL 证书。

其他生产考虑因素

敏感设置的环境变量

永远不要在 SECRET_KEY、数据库密码或 API 密钥等敏感值硬编码在 settings.py 中。请改用环境变量:

pip install python-decouple

settings.py 中:

from decouple import config

SECRET_KEY = config('SECRET_KEY')
DEBUG = config('DEBUG', default=False, cast=bool)

在生产中将 DEBUG 设置为 False

DEBUG = False

在生产中使用 DEBUG = True 运行会向潜在攻击者公开详细的错误页面和敏感配置信息。

配置域名

如果您还没有为 Django 项目注册域名,通过 AlexHost 的域名注册可以轻松快速地将您的域名指向您的服务器,并包含完整的 DNS 管理。

为您的 Django 应用程序选择合适的托管

您选择的托管环境对您的 Django 应用程序的性能、可靠性和可扩展性有重大影响。以下是一个快速指南:

用例推荐托管
开发和测试共享 Web 托管
小型到中型生产应用VPS 托管
高流量或资源密集型应用专用服务器
机器学习 / AI 集成的 Django 应用GPU 托管

对于大多数进入生产的 Django 项目,VPS 托管计划提供了性能、控制和成本效益的理想平衡。您可以获得 root 访问权限、安装任何软件堆栈的能力以及共享托管无法提供的专用资源。

排查常见的 Django 安装问题

###PPT_

管理
域名 管理
LiteSpeed 主机 管理

Save 15% on All Hosting Services

测试技能,享折扣

使用代码: Skills 开始使用
快速获取信息
快速获取信息

节省您的时间,快速解答您的问题

自己解决问题
自己解决问题

知识库包含详细的教程,让您可以自己处理技术任务。

提高技能
提高技能

通过使用知识库,您可以扩展有关虚拟主机和相关主题的知识

插图和图表
插图和图表

许多文章都配有插图和图表,使复杂的过程和设置更容易理解。

实用技巧
实用技巧

你会找到有用的技巧和窍门,以提升你的网站或网络应用的性能。

给定主题的相关性
给定主题的相关性

知识库中的信息会定期更新,以反映 IT 基础设施和 AlexHost 服务领域的最新变化和趋势。

没有找到您要找的主题?有一个完美的解决方案

杰出的客人和客户!您的便利是我们的首要任务!如果您在安装任何特定软件或部署服务器时遇到困难,请随时联系我们。我们重视您的意见,并随时准备帮助您解决问题。

此外,我们还为您提供了积极参与创建知识库的机会。如果您有希望纳入我们数据库的主题或问题,请告诉我们!我们随时准备根据您的需求撰写详细的文章和指南。

我们努力使您在 AlexHost 的体验尽可能方便和高效,您对知识库的贡献有助于我们实现这一目标。联系我们 ->
info@alexhost.com 并让我们知道如何让您的住宿体验更加完美。

Solution Image