本文介绍: django+nginx+gunicornn能解决的问题django 是一个web框架,而非web server,直接用django拉起的web服务仅限于开发环境使用,生产环境不够稳定,也无法承受大量请求的并发,在生茶环境下需要使用服务器软件来处理各种请求,如Gunicorn、 Nginx或Apache,而Gunicorn+Nginx的搭配,好处多多,一方面基于Nginx转发Gunicorn服务,在生产环境下能补充Gunicorn服务在某些情况下的不足,另一方面,如果做一个Web网站,除了服务外,还有很多
django+nginx+gunicornn能解决的问题
django 是一个web框架,而非web server,直接用django拉起的web服务仅限于开发环境使用,生产环境不够稳定,也无法承受大量请求的并发,在生产环境下需要使用服务器软件来处理各种请求,如Gunicorn、 Nginx或Apache,而Gunicorn+Nginx的搭配,好处多多,一方面基于Nginx转发Gunicorn服务,在生产环境下能补充Gunicorn服务在某些情况下的不足,另一方面,如果做一个Web网站,除了服务外,还有很多静态文件需要被托管,这是Nginx的强项,也是Gunicorn不适合做的事情。所以,基于django开发的网站,部署时用Gunicorn和Nginx,是一个很好的选择。
https://blog.igevin.info/posts/how–to–deploy–flask–apps/
gunicorn_config.py 放到文件根目录
import logging
import logging.handlers
from logging.handlers import WatchedFileHandler
import os
import multiprocessing
bind = '0.0.0.0:8000' #绑定ip和端口号
backlog = 512 #监听队列
chdir = '/ai-course' #gunicorn要切换到的目的工作目录
timeout = 30 #超时
worker_class = 'gevent' #使用gevent模式,还可以使用sync 模式,默认的是sync模式
# workers = multiprocessing.cpu_count() * 2 + 1 #进程数
workers = 2 #进程数
threads = 2 #指定每个进程开启的线程数
loglevel = 'info' #日志级别,这个日志级别指的是错误日志的级别,而访问日志的级别无法设置
access_log_format = '%(t)s %(p)s %(h)s "%(r)s" %(s)s %(L)s %(b)s %(f)s" "%(a)s"'
accesslog = "/xxx/log/gunicorn_access.log" #访问日志文件
errorlog = "/xxx/log/gunicorn_error.log" #错误日志文件
启动命令
gunicorn xxx(项目名).wsgi:application -c gunicorn_config.py
欢迎大家交流学习,任何问题都可以留言
原文地址:https://blog.csdn.net/weixin_41194171/article/details/122858923
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_46026.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。