今天在部署python代码到预生产环境时,web站老是出现redis链接未初始化,无法连接到服务的提示,比对了一下开发环境与测试环境代码,完全一致,然后就是查看各种日志,排查了半天也没有查明是什么原因引起的. 没有办法的情况下,直接登录服务器,从uwsgi与nginx中卸载掉这个web服务,然后暴力的在命令操作符下输入python main.py,执行访问发现又正常了......狂吐血400CC...然后是各种怀疑uwsgi和nginx,查看配置与其他服务正常,排除完后只能回归到检查代码. 静下…
http1.1支持长链接,而http1.0不支持,所以,在切换http版本号或者升级服务端版本时候,尤其要注意这个造成的影响. 当客户端以http1.1长链接方式连接服务端时,服务端如果不支持1.1,客户端会进行协议降级,用1.0通信,即使用短连接,此时服务端可以正常提供服务: 一旦服务端http版本由于某种原因切换到1.1,则长链接就会生效,如果服务端不支持长链接,则就会造成频繁的502发生: 因为,短连接在服务端return后就会向客户端发一个reset消息,客户端就会切断链路,如果客户端认…
项目是一个数据同步项目,线下Android客户端把本地sqllite数据提交到云端队列,php做守护进程消费队列,以同步数据.初测没有问题,可是时不时出现诡异的崩溃,因为设置了错误邮件报警,发现错误代码如下: PHP Warning 'yii\base\ErrorException' with message 'Error while sending QUERY packet. PID=45905' in /home/muffycat_takeout/vendor/yiisoft/yii2/db…
mymysql.py class MyMysql2(object): def __init__(self, host = '', user = '', passwd = '', db = '', port = 3306, charset= 'utf8'): self.host = host self.user = user self.passwd = passwd self.db = db self.port = port self.charset= charset self.conn = No…
写了个脚本扫描apache日志,自动把恶意攻击者的ip交给iptables给封掉 谁知道一不小心把127.0.0.1也给封了... 直接导致redis无法链接. redis-server服务正常启动,端口也开着,日志全都正常,就是redis客户端(redis-cli和python api)连不上,报错timeout. 一查链接状态,发现客户端是SYN_SENT,也就是“客户端发出了连接请求,等待服务端响应”. iptabls把127.0.0.1给解封后,就恢复正常了.…
[Markdown阅读][1] 今天上班的时候收到一个需要短链接的需求,之前的做法都是使用了新浪的短链接API(https://api.weibo.com/2/short_url/shorten.json).但一是外网访问,二可能是新浪有所限制(毕竟是免费的),性能肯定不是太好.于是就想能不能自己实现一个,这样内网访问肯定快不少. 下班在班车上想了下,初步有些思路,记录一下,有什么说错的,欢迎指正.关于短链接的问题,我首先想到是两个问题: 1. 持久化的问题,是否有必要保证短链接永久有效? 2.…
Nginx+Python+uwsgi+Django的web开发环境安装及配置 nginx安装 nginx的安装这里就略过了... python安装 通常系统已经自带了,这里也略过 uwsgi安装 官网 http://uwsgi-docs.readthedocs.io/en/latest/ 安装步骤如下: yum -y install python-devel wget -c https://projects.unbit.it/downloads/uwsgi-2.0.14.tar.gz tar z…
本文章纯属个人经验总结,伪代码也是写文章的时候顺便白板编码的,可能有逻辑问题,请帮忙指正,谢谢. Internet(全球互联网)是无数台机器基于TCP/IP协议族相互通信产生的.TCP/IP协议族分了四层实现,链路层.网络层.传输层.应用层.     与我们应用开发者接触最多的应该是应用层了,例如web应用普遍使用HTTP协议,HTTP协议帮助我们开发者做了非常多的事情,通过HTTP足以完成大部分的通信工作了,但是有时候会有一些特殊的场景出现,使得HTTP协议并不能得心应手的完成工作,这个时候就…
1.概述 短网址的好处众多,便于记忆,占用字符少等,现在市面上出现了众多的将长网址转变为短网址的方法,但是由于他们都是小的公司在幕后运营,所以很不靠谱,面对随时关闭服务的可能,这样也导致我们将转换好了的短网址也会失效失链!那么怎样才能使转换好了的短网址永久有效呢? 2.利用微信公众号接口实现长链接转短链接 开发者用于生成二维码的原链接(商品.支付二维码等)太长导致扫码速度和成功率下降,将原长链接通过此接口转成短链接再生成二维码将大大提升扫码速度和成功率.微信公众号平台提供的长链接转短链接接口是:…
架构 client router server zk redis 对于router: 保存客户端和服务器对 redis clientid : serverip & port 对于server 保存客户端id和长链接channel HashMap cleintid : channel…