文件名称:
Django框架搭配uWSGI服务器.md.pdf
开发工具:
文件大小: 590kb
下载次数: 0
上传时间: 2019-08-23
详细说明:虽然uWSGI是一个完整的服务器,也就是可以自行处理http路由,但是它的路由能力 没有Nginx强,所以,我们使用Nginx的反向代理功能,让Nginx做http服务器,再通过 uwsgi(这里是协议的意思)与uWSGI服务器进行交互。WSg1 py
其中的 manage. py是提供的管理工具,比如可以启动项目
1 manage. py runserver
但是,采用这种方式启动的 Django项目,其Web服务器是一款 python自带的测试型服
务器,性能是非常垃圾的,无法适应商业场景。
如果要发布 Django项目,我们可以采用 uSG|+ Django的方案。
安装uWSG并测试
uWSGIl的官网上介绍了三种安装方法,他们本质上都是把源码下载下来,然后编译,
这时因为uwsG支持 python其实是釆用了插件模式,而支持 python的插件的编译,需
要 python的一些头文件。这个过程因为环境配置等问题,可能很麻烦。
所以,我们可以通过 apt-get安装uWSG|二进制包,省去了自己编译的过程。
通过以下命令可以查看 usga及对应的插件
1 sudo apt search usg
我们安装uwsg服务器及对应的 python3插件
1 sudo apt-get install uwsgi uwsgi-plugin-python3
之后我们可以通过以下命令启动 usgs
1uwsgi--pluginspython3,http--http-socket:9090--chdir
/home/yaochi/mywebapp/--wsgi-file mywebapp/wsgi. py --master
processes 4 --threads 2 --stats 127.0.0.1: 9191
其中- plugins是指定插件模块,Uwsg会根据名字到对应目录找so;
chdir表明服务器启动后要切换到的目录(我们的 Django目录)
wsgi-file定了WSG协议的入口文件;
其它的选项与多进程、多线程和统计信息有关
此外,为了降低命令行的复杂度,还可以将以上信息都配置程ini文件,供uwsg指定,
具体可以查看uwsg的帮助文档(htps:/uwsg-
docs. readthedocs. io/en/latest/WSGlquickstart html)
以上启动后,我们就可以通过P9090来访问我们的 Django项目
Nginx与 uWSGI配合
虽然uWSG是一个完整的服务器,也就是可以自行处理htp路由,但是它的路由能力
没有 Nginx强,所以,我们使用 Nginx的反向代理功能,让 Nginx做htt服务器,再通过
usg!(这里是协议的意思)与uwsG服务器进行交互。我们之所以可以这样做,是
因为 nginx已经有模块实现了这样的功能。
以下是安装及配置过程
首先,安装Nginⅸx,选用 ngInx-fu‖,这样包含了配置文件等信息。如果使用 ngInx-core
的最小安装,配置文件等会有一些问题。
1 sudo apt-get install nginx-full
接着,配置/ etc/nginx/nginx con文件,与uSG交互的核心是指令 usg pass
1 user www-data;
2 worker processes 4
3 pid /run/nginx pid
4
5 events i
6 use epoll;
7 worker connections 768
multi accept on,
11httpi
12
13##
14 Basic Settings
15##
16
17 server i
18
listen 8080,
19
server name localhost;
20
21
#location / t
22
root /usr/local/nginx/html;
3
indexindex. html index. htm;
24
#}
25 location/i
26
include uwsgi params
27
uwsgl_pass127.0.0.1:9090;#反向代理导向127,0.0.1:9090端
口,即uSGI服务器
28
29
30 sendfile on;
31 tcp_ nopush on;
32 tcp_nodelay on;
33 keepalive_timeout 65;
34 types hash max size 2048;
35
36 include/etc/nginx/mime types
37 default_ type application/octet-stream;
38
39 access_log /var/log/nginx/accesslog;
40 error_log /var/log/nginx/errorlog,
41
42#
43# Gzip Settings
44##
45
46 gzip on;
47 gzip disable "msie";
48
49 include /etc/nginx/conf.d/*.conf
50 include /etc/nginx/sites-enabled/*;
51}
然后,我们让uwSG动,不过它已经不需要自己处理htp路由,因此不用加载htt插
件,只需要启动一个 socke端囗(9090,与 ngInx con中的配置对应作为Wwsg的对接
端口
1 sudo uwsgi --plugins python3--socket 127.0.0.1: 9090--chdir
/home/yaochi/mywebapp/ --wsgi-file mywebapp/wsgi. py --master
rocesses 4 --threads 2 --stats 127.0.0.1: 9191
接着,就可以通过访问 nginx的8080端口,看到页面了
Cm☆1921682171438080
a136图, ubuntu nginx
食签为m3.10.1圆 Linux developm E Hooking the Lir w How Ot Signals. Qt Internals &R囫 Assembler User G叫-cha201 Wriing W/eb4p急失速入门-beg
X直线root
1个供共5个下一个上
django
View release rotes for Django 2.0
The install worked successfully! Congratulations!
You are seeing this page because DEBUG=True is in
your settings file and you have not configured any
RLs
Django Documentation
< Tutorial: A Polling App
DJango Community
Connect, get help, or contribute
这样,客户端、 Nginx、uWSG的关系为:
1客户端
<--http-->nginx
<--Uwsg1-->uWSG工
4
<--WSGI-->django
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.