手动部署是最基本的方式,需要手动将 Django 项目文件复制到服务器并配置 Web 服务器(如 Nginx 或 Apache)来处理 HTTP 请求。
以下是简要的步骤:
scp
命令或其他文件传输工具。python manage.py migrate
python manage.py collectstatic
Docker 容器可以将应用及其依赖打包成一个独立的容器,使得部署更加一致和可移植。
以下是步骤:
在 Django 项目根目录创建一个 Dockerfile,定义 Docker 容器的构建过程。
例如:
# 使用官方的Python镜像作为基础镜像
FROM python:3.8
# 设置工作目录
WORKDIR /app
# 复制项目文件到容器中
COPY . /app
# 安装依赖
RUN pip install -r requirements.txt
# 运行Django应用
CMD python manage.py runserver 0.0.0.0:8000
构建 Docker 镜像:
docker build -t my-django-app .
运行 Docker 容器:
docker run -p 8000:8000 my-django-app
Docker Compose 可以管理多个容器之间的关系,并提供了一种方便的方式来定义和运行多个服务。
以下是步骤:
在项目根目录创建一个 docker-compose.yml
文件,定义项目中需要的服务和容器。
例如:
version: '3'
services:
web:
build: .
command: python manage.py runserver 0.0.0.0:8000
ports:
- "8000:8000"
使用 Docker Compose 启动服务:
docker-compose up
云平台可以极大简化部署流程,如 阿里云。以下是步骤:
安装 Heroku CLI 工具。 在项目目录中创建 Procfile
文件,指定应用的启动命令。
例如:
web: python manage.py runserver 0.0.0.0:$PORT
登录阿里云账号:
aliyun login
创建阿里云应用:
aliyun create my-django-app
将代码推送到阿里云仓库:
git push aliyun master
执行数据库迁移:
aliyun run python manage.py migrate
这些部署方式各有优劣,根据项目需求和你的技术偏好选择合适的方式。