当前位置 主页 > 服务器问题 > nginx问题汇总 >

    详解通过Nginx部署Django(基于ubuntu)

    栏目:nginx问题汇总 时间:2018-09-18 16:23

    这篇文章主要介绍了详解通过Nginx部署Django(基于ubuntu),Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式,有兴趣的可以了解一下。

    Django的部署可以有很多方式,采用nginx+uwsgi的方式是其中比较常见的一种方式。

    在这种方式中,我们的通常做法是,将nginx作为服务器最前端,它将接收WEB的所有请求,统一管理请求。nginx把所有静态请求自己来处理(这是NGINX的强项)。然后,NGINX将所有非静态请求通过uwsgi传递给Django,由Django来进行处理,从而完成一次WEB请求。

    可见,uwsgi的作用就类似一个桥接器。起到桥梁的作用。

    Linux的强项是用来做服务器,所以,下面的整个部署过程我们选择在Ubuntu下完成。

    一、安装Nginx                                                                       

    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。

    Nginx同样为当前非常流行的web服务器。利用其部署Django,我们在此也做简单的介绍。

    Nginx官网:http://nginx.org/

    打开ubuntu控制台(ctrl+alt+t)利用Ubuntu的仓库安装。

    fnngj@ubuntu:~$ sudo apt-get install nginx #安装

    启动Nginx:

    fnngj@ubuntu:~$ /etc/init.d/nginx start #启动fnngj@ubuntu:~$ /etc/init.d/nginx stop #关闭fnngj@ubuntu:~$ /etc/init.d/nginx restart #重启

    修改Nginx默认端口号,打开/etc/nginx/nginx.conf 文件,修改端口号。

     server {  listen    8088;  # 修改端口号  server_name localhost;  #charset koi8-r;   #access_log logs/host.access.log main;  location / {    root  html;    index index.html index.htm;  }

    大概在文件36行的位置,将默认的80端口号改成其它端口号,如 8088。因为默认的80端口号很容易被其它应用程序占用。

    然后,通过上面命令重启nginx。访问:http://127.0.0.1:8088/

      

    如果出现如上图,说明Nginx启动成功。 

    二、安装uwsgi                                                           

     通过pip安装uwsgi。

    root@ubuntu:/etc# python3 -m pip install uwsgi

    测试uwsgi,创建test.py文件:

    def application(env, start_response):  start_response('200 OK', [('Content-Type','text/html')])  return [b"Hello World"]