如何在生产环境中部署 Django 项目

更新日期: 2015-12-12 阅读次数: 10835 分类: Django

在 ~/.bashrc 中设置环境变量

以标明这是生产环境,而非本地开发环境。

export DEBUG=False

使用 gunicorn & Nginx

  1. 使用 gunicorn 启动 django
cd <YOUR-PROJECT-PATH> 
gunicorn <PROJECT-NAME>.wsgi -D -b 127.0.0.1:<PORT>
  1. Nginx 对应的配置
server {
	listen 80;
        server_name <YOUR-DOMAIN>;

	location / {
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header Host $http_host;
		proxy_redirect off;
	 
		if (!-f $request_filename) {
		    proxy_pass http://127.0.0.1:<PORT>;
		    break;
		}
	}
}

如何将部署流程自动化

思路:

  • 根据项目名和端口号生成启动脚本, 并包含环境变量的配置, 和生效
  • 生成独立的 Nginx 配置文件,以便部署到 site-available 目录下

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式