- 博客(15)
- 资源 (31)
- 收藏
- 关注
转载 Django运行方式及处理流程总结
之前在网上看过一些介绍Django处理请求的流程和Django源码结构的文章,觉得了解一下这些内容对开发Django项目还是很有帮助的。所以,我按照自己的逻辑总结了一下Django项目的运行方式和对Request的基本处理流程。一、Django的运行方式运行Django项目的方法很多,这里主要介绍一下常用的方法。一种是在开发和调试中经常用到runserver方法,使用D
2015-10-30 16:23:15 1689
转载 Django 源码小剖: 应用程序入口 WSGIHandler
WSGI 有三个部分, 分别为服务器(server), 应用程序(application) 和中间件(middleware). 已经知道, 服务器方面会调用应用程序来处理请求, 在应用程序中有真正的处理逻辑, 在这里面几乎可以做任何事情, 其中的中间件就会在里面展开.Django 中的应用程序任何的 WSGI 应用程序, 都必须是一个 start_response(status,
2015-10-30 14:18:49 665
转载 Django 源码小剖: Django 中的 WSGI
Django 其内部已经自带了一个方便本地测试的小服务器, 所以在刚开始学习 Django 的时候并不需搭建 apache 或者 nginx 服务器. Django 自带的服务器基于 python wsgiref 模块实现的, 其百分之七八十的代码都是 wsgiref 中的代码, 只重写了一部分, 所以 Django 自带的服务器测试写个 helloworld 就好了.Django 内置服
2015-10-30 14:15:48 644
转载 Django 源码小剖: 初探 WSGI
python 作为一种脚本语言, 已经逐渐大量用于 web 后台开发中, 而基于 python 的 web 应用程序框架也越来越多, Bottle, Django, Flask 等等.在一个 HTTP 请求到达服务器时, 服务器接收并调用 web 应用程序解析请求, 产生响应数据并返回给服务器. 这里涉及了两个方面的东西: 服务器(server)和应用程序(application). 势必
2015-10-30 14:09:53 493
原创 django log问题(续)
django log问题详细描述见上篇博客, 采用mlogging后发现切割后生成的文件名为当天的日期,比如28号的log,文件名却是29号的。 后来仔细看了下mlogging的源码发现,切割后生成文件名时取的是当前的日期,把源码修改后一切正常了。
2015-10-30 10:03:16 393
转载 Python多进程记录日志
用gevent(或封装了gevent的gunicore)启动python进程,会出现多个独立进程同时写一个日志文件,可以观察到有日志部分丢失:一个进程日志没写完,另一个进程把日志覆盖在同一行的后面;有些日志甚至完全丢失。用mlogging包可以解决多进程写日志的问题,没有发现不完整的日志,是否丢失日志有待进一步检测。下面是一个在python程序中记录重要信息,以便以后解析统
2015-10-28 18:23:04 3995
原创 django log问题
服务器端采用nginx + uwsgi + django 部署,log采用按天切割的方式,'when': 'MIDNIGHT'。之前一直没有在意,最近要分析log,发现log总是两个文件一起写(1、elapse.log ;2、elapse.log.日期),而且之前的旧文件内容会被覆盖。这个问题困扰了一天多,后来在网上发现一段描述:Although logging is thread-saf
2015-10-28 18:22:35 982
转载 Python 的那些坑
其实各个语言都有坑,用得少了,便远在天边,用得久了,便近在眼前。这不,Python的坑们也纷纷拱手相认,互道珍重了。LoggingPython的标准库提供了非常强大的Logging功能,Django于是借了东风,直接拿标准库的来用了。可是以前只是略知皮毛,忘记RTFM,结果惨象横生,差点尸横遍野了。Django+uwsig那是标配(当然还有Gunicorn与之竞争),所以每
2015-10-28 14:53:11 766
转载 对Django框架架构和Request/Response处理流程的分析
一、 处理过程的核心概念如下图所示django的总览图,整体上把握以下django的组成:核心在于中间件middleware,django所有的请求、返回都由中间件来完成。中间件,就是处理HTTP的request和response的,类似插件,比如有Request中间件、view中间件、response中间件、exception中间件等,Middleware
2015-10-28 13:47:36 629
转载 ubuntu下部署Django Web的两种方法
一、利用 django 自带服务器框架发布 web系统管理员经常需要 SSH 或者 telent 远程登录到 Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、 ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开连接,否则这个任务就会被杀掉,一切半途而废了。
2015-10-28 10:53:20 510
转载 uWSGI, Gunincorn, 啥玩意儿?
因为nginx等优秀的开源项目,有不少本来不是做服务器的同学也可以写很多服务器端的程序了。但是在聊天中会发现,大家虽然写了不少代码,但是对wsgi是什么,gunicorn是什么,反向代理又是什么并不了解,也就是说对基本概念并没有一个全局的了解。服务器到了服务器组你会发现原来有各种各样的服务器,那些叫法很多是有历史沉淀的,不需要太深究能对上号就行,因为本来也是乱七八糟的。
2015-10-28 10:39:07 1379
转载 一个由Django的save方法引发的bug
bug的产生我已经很久没碰到让人比较头疼的bug了,前两天的时候碰到了一个。写个文章记录下来。 希望看过文章的同学下次碰到类似bug就不用被烦恼到。出现问题的这段代码简化过的逻辑大概是这个样子的:from app.models import Userfrom celery.task import task... ...# 假设我们取到的user的age和name都是N
2015-10-13 11:16:25 3373 2
转载 Django开发支持多帐号登录
之前曾经写过一篇文章,讲在Django开发中如何整合新浪微博API。当时,新浪微博只支持OAuth1.0,现在已经支持2.0版本,OAuth2.0协议进行了简化,且access token将不能永久使用,它存在一个过期时间。本文讲解了如何在你的django站点中支持多帐号登录,主要包括Google、新浪微博、人人和腾讯微博帐号,其实就是这个博客目前所支持的第三方帐号登录。在这些第三方帐
2015-10-13 11:05:09 1446
转载 lvs & keepalived的tcp 长连接的问题解决办法
虽然应用keepalived搞定了后端服务负载均衡和高可用性问题,但是在具体应用的时候,还是要注意很多问题。很多应用都用tcp或者http的长连接,因为建立tcp连接或者http连接开销比较大,而应用端其实是需要频繁跟server端通讯的,这时候保持长连接无疑是非常合适的。经过摸索, lvs & keepalived 长连接的配置主要在三个地方:client端的SoTimeout,
2015-10-09 12:25:23 9596
转载 Nginx/LVS/HAProxy负载均衡软件的优缺点详解
PS:Nginx/LVS/HAProxy是目前使用最广泛的三种负载均衡软件,本人都在多个项目中实施过,参考了一些资料,结合自己的一些使用经验,总结一下。一般对负载均衡的使用是随着网站规模的提升根据不同的阶段来使用不同的技术。具体的应用需求还得具体分析,如果是中小型的Web应用,比如日PV小于1000万,用Nginx就完全可以了;如果机器不少,可以用DNS轮询,LVS所耗费的机器还是比较多的
2015-10-09 10:55:28 515
2022年最新新疆维吾尔自治区五级行政区划代码
2022-08-05
2022年最新宁夏回族自治区五级行政区划代码
2022-08-05
2022年最新青海省五级行政区划代码
2022-08-05
2022年最新甘肃省五级行政区划代码
2022-08-05
2022年最新陕西省五级行政区划代码
2022-08-05
2022年最新西藏自治区五级行政区划代码
2022-08-05
2022年最新云南省五级行政区划代码
2022-08-05
2022年最新贵州省五级行政区划代码
2022-08-05
2022年最新四川省五级行政区划代码
2022-08-05
2022年最新重庆市五级行政区划代码
2022-08-05
2022年最新海南省五级行政区划代码
2022-08-05
2022年最新广西壮族自治区五级行政区划代码
2022-08-05
2022年最新广东省五级行政区划代码
2022-08-05
2022年最新湖南省五级行政区划代码
2022-08-05
2022年最新湖北省五级行政区划代码
2022-08-05
2022年最新河南省五级行政区划代码
2022-08-04
2022年最新山东省五级行政区划代码
2022-08-04
2022年最新江西省五级行政区划代码
2022-08-04
2022年最新福建省五级行政区划代码
2022-08-04
2022年最新安徽省五级行政区划代码
2022-08-04
2022年最新浙江省五级行政区划代码
2022-08-04
2022年最新江苏省五级行政区划代码
2022-08-03
2022年最新上海市五级行政区划代码
2022-08-03
2022年最新黑龙江省五级行政区划代码
2022-08-03
2022年最新吉林省五级行政区划代码
2022-08-03
2022年最新辽宁省五级行政区划代码
2022-08-03
2022年最新内蒙古自治区五级行政区划代码
2022-08-02
2022年最新山西省五级行政区划代码
2022-08-02
2022年最新河北省五级行政区划代码
2022-08-02
2022年最新天津市五级行政区划代码
2022-08-02
2022年最新北京市五级行政区划代码
2022-08-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人