标签:并发 img work bsp 区别 pass requests default 通信协议
在之前的几篇博客中对Django的功能做了初步总结,这里链接贴一下:
Django之--通过MVC架构的html模板展示Hello World!
到这里基本的测试暂时告一段落,但是在实际开发中是不可能用python manage.py runserver这种方式启动web server的,因此接下来测试如何使用uwsgi+nginx的方式启动Django。
一、安装uWSGI和Nginx
pip3.6 install uwsgi
yum -y install nginx
WSGI / uwsgi / uWSGI 这三个概念的区别:(引用自:http://www.cnblogs.com/alex3714/p/6538374.html)
二、为uWSGI编写配置文件
vi /etc/uwsgi.ini
[uwsgi]
chdir=/root/Django/mysite/ --即网站根目录。
module=mysite.wsgi:application --标识app位置。
static-map=/static=/root/Django/mysite/static --表示模板引用的静态文件的目录,使用图片时必须设置。
socket=192.168.1.193:8000 --用于接收nginx请求的socket,可以是文件,而且建议是文件,这里懒的改了。
master = true
vhost = true
no-site = true
workers = 2
reload-mercy = 10
vacuum = true
max-requests = 1000
limit-as = 512
buffer-size = 30000
pidfile = /var/run/uwsgi.pid
daemonize = /tmp/uwsgi.log --uWSGI日志,安装uwsgi调试时有用。
三、修改Nginx配置文件
upstream部分一般用于配置负载均衡,这里就不写了。
server { listen 80 default_server; --表示监听80端口,我们最后也通过访问此端口来访问网站的。 listen [::]:80 default_server; server_name 192.168.1.193; #定义server访问名,表示只处理此访问名的请求,如果不设置会默认当前第一个server域,因此不设置也行。 access_log /etc/nginx/access.log main; #nginx日志 root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { #默认请求访问 include /etc/nginx/uwsgi_params; uwsgi_pass 192.168.1.193:8000; #请求自动转发给192.168.1.193:8000的uWSGI socket,与上面uWSGI的socket参数要一致。 index index.html index.htm; client_max_body_size 35m; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
四、运行uWSGI和nginx
启动uwsgi和nginx:
uwsgi --ini=/etc/uwsgi.ini
service nginx start
此时你就可以通过你在urls.py定义的网址来访问页面了。但是需要注意的nginx上边我监听的是80端口,因此你只需要访问80端口就好,他会把请求全部转发到8000端口的uwsgi处理。
显示的页面如下图所示(默认的80端口):
最后:
必须要说的是不使用nginx只用uwsgi也可以实现以上的功能,但是此时你需要为uwsgi.ini配置http参数,socket参数可以省略,如果只使用uwsgi那么你可以通过http参数定义的端口访问以上页面。使用nginx的最大好处之一是实现对后端uwsgi的负载均衡,这样可以提升并发量,此外nginx对静态请求的处理能力要强过uwsgi,因此如果静态请求较多,那么可以将这部分内容用nginx处理。
标签:并发 img work bsp 区别 pass requests default 通信协议
原文地址:https://www.cnblogs.com/leohahah/p/9081541.html