作家
登录

如何在Linux上使用Nginx和Gunicorn托管Django应用

作者: 来源: 2017-04-20 09:40:38 阅读 我要评论

如安在Linux上应用Nginx和Gunicorn托管Django应用

托管 Django Web 应用法度榜样相当简单,固然它比标准的 PHP 应用法度榜样更复杂一些。 让 Web 办事器对接 Django 的办法有很多。 Gunicorn 就是个中最简单的一个。

Gunicorn(Green Unicorn 的缩写)在你的 Web 办事器 Django 之间作为中心办事器应用,在这里,Web 办事器就是 Nginx。 Gunicorn 办事于应用法度榜样,而 Nginx 处理静态内容。

Gunicorn

  1. $ pip install gunicorn 

设备

Gunicorn 最有吸引力的一个处所就是它的设备异常简单。处理设备最好的办法就是在 Django 项目标根目次下创建一个名叫 Gunicorn 的文件夹。然后在该文件夹内,创建一个设备文件。

在本篇教程中,设备文件名称是 gunicorn-conf.py。在该文件中,创建类似于下面的设备:

在上述设备的情况下,Gunicorn 会在 /tmp/ 目次下创建一个名为 gunicorn1.sock 的 Unix 套接字。 还会启动一些工作过程,过程数量相当于 CPU 内核数量的 2 倍。 它还会主动从新加载并作为守护过程运行。

运行

Gunicorn 的运行敕令有点长,指定了一些附加的设备项。 最重要的部分是将 Gunicorn 指向你项目标 .wsgi 文件。

  1. import multiprocessing 
  2. bind = 'unix:///tmp/gunicorn1.sock' 
  3. workers = multiprocessing.cpu_count() * 2 + 1 
  4. reload = True 
  5. daemon = True 

介绍

  1. gunicorn -c gunicorn/gunicorn-conf.py -D --error-logfile gunicorn/error.log yourproject.wsgi 

安装

应用 Pip 安装 Gunicorn 是超等简单的。 如不雅你已经应用 virtualenv 搭建好了你的 Django 项目,那么你就有了 Pip,并且应当熟悉 Pip 的工作方法。 所以,在你的 virtualenv 中安装 Gunicorn。

膳绫擎的敕令应当大年夜项目标根目次运行。 -c 选项告诉 Gunicorn 应用你创建的设备文件。 -D 再次指定 gunicorn 为守护过程。 最后一部分指定 Gunicorn 的缺点日记文件在你创建 Gunicorn 文件夹中的地位。 敕令停止部分就是为 Gunicorn 指定 .wsgi 文件的地位。

Nginx

如今 Gunicorn 设备好了并且已经开端运行了,你可以设置 Nginx 连接它,为你的静态文件供给办事。 本指南假定你已经设备好了 Nginx,并且你经由过程它托管的┞肪点应用了零丁的 server 块。 它还将包含一些 SSL 信息。

如不雅你想知道若何让你的网站获得免费的 SSL 证书,请查看我们的 Let'sEncrypt 指南。

  1. # 连接到 Gunicorn 
  2. upstream yourproject-gunicorn { 
  3.     server unix:/tmp/gunicorn1.sock fail_timeout=0; 
  4. # 将未加密的流量重定向到加密的网站 
  5. server { 
  6.     listen       80; 
  7.     server_name  yourwebsite.com; 
  8.     return       301 https://yourwebsite.com$request_uri; 
  9. # 主办事块 
  10. server { 
  11.     # 设置监听的端口,指定监听的域名 
  12.     listen 443 default ssl; 
  13.     client_max_body_size 4G; 
  14.     server_name yourwebsite.com; 
  15.     # 指定日记地位 
  16.     access_log /var/log/nginx/yourwebsite.access_log main; 
  17.     error_log /var/log/nginx/yourwebsite.error_log info; 
  18.     # 告诉 nginx 你的 ssl 证书 
  19.     ssl on

      推荐阅读

      如何在Ubuntu和Linux Mint上启用桌面共享

    桌面共享是指经由过程图形终端仿真谱钥淦算机桌面上实现远查拜访和长途协作的技巧。桌面共享许可两个或多个连接到收集的计算机用户在不合地位对同一个文件进行操作。在 Ubuntu 和 Linux M>>>详细阅读


    本文标题:如何在Linux上使用Nginx和Gunicorn托管Django应用

    地址:http://www.17bianji.com/lsqh/34866.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)