南通网站建设外包,wordpress网站500,网站建设颜色搭配,wordpress里面主题文档怎么编辑首先#xff0c;Gunicorn是一个高效的Web服务器#xff0c;地位相当于Java中的Tomcat。简单来说gunicorn封装了HTTP的底层实现#xff0c;我们通过gunicorn启动服务#xff0c;用户请求与服务相应都经过gunicorn传输。下载gunicorn的方法也比较简单#xff0c;在django工程…首先Gunicorn是一个高效的Web服务器地位相当于Java中的Tomcat。简单来说gunicorn封装了HTTP的底层实现我们通过gunicorn启动服务用户请求与服务相应都经过gunicorn传输。下载gunicorn的方法也比较简单在django工程里一般都是直接写到requirements.txt文件中当然也可以手动下载执行pip install gunicorn 即可。接下来介绍如何使用gunicorn来启动django服务。其实这个过程到也简单就一个命令就可以了。python3 gunicorn application -c gunicorn_conf.py一步一步看python3是指python的解释器gunicorn是下载下来的python包 application是从wsgi中引出来的django服务信息上面有说到gunicorn就是一个web服务器所以gunicorn_conf.py就是它的配置文件了。看个实际中使用的命令sudo /build/mts/mydjango_app/run_gunicorn.sh -c /build/mts/service/mydjango_app/gunicorn_conf.py这样就可以直接启动django服务了。其中run_gunicorn.sh中的内容为#!/bin/bash
set -eenvdir/build/mts/mydjango_app/py38envexport PYTHONDONTWRITEBYTECODE1exec $envdir/bin/python3 $envdir/bin/gunicorn mydjango_app.wsgi:application $在看看gunicorn_conf.py中的内容user mts
group mtslogconfig /build/mts/service/webapps/log_config.ini
access_log_format %(r)s | %(h)s | %(b)s | %(s)s | %(D)s usbind 0.0.0.0:8001workers 16
timeout 90
max_requests 500
# pass the ssl values as being forwarded from nginx
secure_scheme_headers {}最后再看看所谓的wsgi.py是个啥内容import osfrom django.core.wsgi import get_wsgi_applicationos.environ.setdefault(DJANGO_SETTINGS_MODULE, settings)application get_wsgi_application()所以不难发现上面提到的实际使用的关于gunicorn的shell命令就是我上面写的命令python3 gunicorn application -c gunicorn_conf.py这个命令中只有application这个参数才是将gunicorn(web服务)与django工程勾连到一起的参数。上面提到的关于gunicorn的用法大体上算是生产环境上的用法之所以说大体上就是因为在gunicorn_conf.py中bind参数我选择监听的是本地的地址这显然是为了测试所做出的选择。生产环境往往bind参数会选择绑定nginx的一个地址。因为gunicorn 可以单独提供服务但生产环境一般不这样做。首先静态资源jscssimg会占用不少的请求资源而对于 gunicorn 来讲它本身更应该关注实际业务的请求与处理而不应该把资源浪费在静态资源请求上此外单独运行 gunicorn 是没有办法起多个进程多个端口来负载均衡的。nginx 的作用就是弥补以上问题首先作为前端服务器它可以处理一切静态文件请求此时 gunicorn 作为后端服务器nginx 将会把动态请求转发给后端服务器因此我们可以起多个 gunicorn 进程然后让 nginx 作均衡负载转发请求给多个 gunicorn 进程从而提升服务器处理效率与处理能力。最后nginx 还可以配置很多安全相关、认证相关等很多处理可以让你的网站更专注业务的编写把一些转发规则等其它业务无关的事情交给 nginx 做。大体上就是这些了。