部署 Django、Nginx 和 Gunicorn 是构建高效、稳定的 Web 应用程序的重要步骤。在本篇文章中,我们将从前期准备、Django 项目配置、Nginx 安装配置和 Gunicorn 安装配置等方面进行详细介绍。
一、前期准备
在开始部署之前,我们需要进行一些准备工作。首先,确保您的服务器使用的是 Ubuntu 18.04 版本,因为本文中的示例代码是基于这个版本的。此外,您还需要安装 Python 3.6.5 和 Django 1.11.12。
安装 Nginx 和 Gunicorn 的命令如下:
- 安装 Nginx
sudo apt-get install nginx - 安装 Python3(如果已安装可忽略)
sudo apt-get update
sudo apt-get install python3.6 - 安装 pip(如果已安装可忽略)
sudo apt-get install python3-pip - 安装 virtualenv(如果已安装可忽略)
sudo pip install virtualenv
二、Django 项目配置
在部署 Django 项目之前,我们需要进行一些配置。首先,关闭 debug,修改 hosts 文件。然后,创建一个新的虚拟环境,并激活它。在虚拟环境中安装所需的依赖项,并运行 Django 项目。
三、Nginx 安装配置
接下来,我们需要安装和配置 Nginx。首先,使用以下命令安装 Nginx:
sudo apt-get install nginx
然后,编辑 /etc/nginx/sites-available 目录下的 default 文件,修改配置如下:
server {
listen 80;
server_name 127.0.0.1;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
保存并关闭文件后,使用以下命令测试配置是否正确:
nnginx -t
如果配置正确,使用以下命令重新加载 Nginx 配置:
nnginx -s reload
四、Gunicorn 安装配置
最后,我们需要安装和配置 Gunicorn。首先,使用以下命令安装 Gunicorn:
sudo pip install gunicorn
然后,在 Django 项目根目录下创建一个名为 gunicorn_start 的文件,并将以下代码复制到该文件中:!/bin/bash
gunicorn myproject.wsgi:application -w 4 -b :8000 —access-logfile - —error-logfile -
在上述代码中,myproject 是您的 Django 项目名称,application 是您的 Django 项目 WSGI 应用程序对象。该脚本将启动 Gunicorn,并指定应用程序监听端口为 8000,工作进程数为 4。您可以将这些值根据您的需要进行更改。保存文件后,使用以下命令使其可执行:
nchmod +x gunicorn_start
现在,您可以使用以下命令启动 Gunicorn:
sudo ./gunicorn_start
总结:通过以上步骤,您已经成功部署了 Django、Nginx 和 Gunicorn。Nginx 将接收来自客户端的请求,并将其转发给 Gunicorn 进行处理。Gunicorn 将运行 Django 项目并提供 Web 服务。请确保在部署之前进行充分测试和验证配置的正确性,以确保应用程序的稳定性和安全性。