如何在生产服务器上自动运行我的Django应用程序

时间:2015-11-26 04:30:51

标签: python django gunicorn

我使用Python和Django在本地计算机上构建了一个应用程序。它的工作正常。现在,我想自动化在生产服务器上启动Django应用程序的过程。

我必须做些什么来实现这个目标?

1 个答案:

答案 0 :(得分:6)

Django文档建议不要在生产中使用Django内置服务器。

  

请勿在生产设置中使用此服务器。它还没有消失   通过安全审核或性能测试。 (这就是它的方式   要留下来我们的业务是制作Web框架,而不是Web   服务器,因此改进此服务器以便能够处理生产   环境超出了Django的范围。)

建议使用gunicornuWSGI启动您的WSGI应用程序:
- How to use Django with gunicorn
- How to use Django with uWSGI

另一个好的做法是,使用supervisord开始你的过程,然后如果它因某种原因死亡或被杀,那么supervisord将重启这个过程

要完成,请使用 nginx apache 作为代理服务器,这是可以处理费用的强大服务器。大多数教程或文档,建议使用nginx,因为它是一个高性能的HTTP服务器。

  

NGINX是一个免费的,开源的,高性能的HTTP服务器并且是反向的   代理,以及IMAP / POP3代理服务器。 NGINX以其着名而闻名   高性能,稳定性,丰富的功能集,简单的配置,   和低资源消耗。

选中此项以了解如何配置它们:
- Deploying Gunicorn with nginx
- Deploying uWSGI with nginx

在部署您的Django应用程序之前,请阅读此清单,以确保一切配置良好:Django - Deployment checklist

使用此体系结构和工具,您将能够使用简单的supervisord命令启动gunicorn进程。这就是全部。然后gunicorn将启动您的WSGI应用程序。