分类: 默认

搭建mysql负载均衡及高可用环境

目标:使用两台主机实现 Mysql 的负载均衡及冗余,并做到双主互备;

环境:rhel5.8,mysql-5.0.77,keepalived-1.2.7,haproxy-1.4.20;

说明:

keepalived 实现通过 vrrp协议,通过使一个虚拟IP地址(或称浮动IP)在主备设备间的切换来达到主机冗余;

而客户机通过访问这个虚拟IP 来获取服务;

haproxy 是一款负载均衡软件,用于将请求按策略转发给不同主机,达到负载均衡的效果;[……]

阅读全文»

Python编程中常用的12种基础知识总结

python编程中常用的12种基础知识总结:正则表达式替换,遍历目录方法,列表按列排序、去重,字典排序,字典、列表、字符串互转,时间对象操作,命令行参数解析(getopt),print 格式化输出,进制转换,Python调用系统命令或者脚本,Python 读写文件。

1、正则表达式替换

目标: 将字符串line中的 overview.gif 替换成其他字符串

>>> line = ‘<IMG ALIGN=”middle” SRC=\’#\'” /spa[……]

阅读全文»

MySQL 之 slow log

慢查询有什么用?

它能记录下所有执行超过long_query_time时间的SQL语句,帮你找到执行慢的SQL,方便我们对这些SQL进行优化。

测试用 MySQL 版本。

Server version: 5.6.10-log Source distribution

未做任何慢日志设置时。

mysql> show variables like “%query%”;
+——————————+—-[……]

阅读全文»

Keepalived + nginx实现高可用性和负载均衡

前几天使用了Heartbeat作为高可用服务架构的解决方案,今天有试验了一种全新的解决方案,即采用Keepalived来实现这个功能。

Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived可以用来防止服务器单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发生,通过配合Nginx可以实现web前端服务的高可用。

Keepalived实现的基础是VRRP协议,Keepalived就是巧用VRRP协议来实现高可用性(HA)的.[……]

阅读全文»

PHP解析Android APK包的XML文件[转]

2012.07.05更新: 某些系统apk文件的字符串表不是使用双字节,会导致解码越界. 修改了getStringTab()成员函数, 详细请看代码部分.

最近做的一个项目需要用PHP直接读取apk包中的信息,如:包名,入口地址,版本号等信息。这些信息都保存在apk包中的AndroidManifest.xml文件中。但是在编译apk包的过程中,所有XML文件都经过了压缩编码,直接读取xml文件内容是无法解析出需要的信息的。

Google搜索了一下没有找到这个功能的PHP实现,只有[……]

阅读全文»

jquery iframe操作

使用jquery操作iframe

1 内容里有两个ifame

<iframe id=”leftiframe”></iframe>
<iframe id=”mainiframe”></iframe>

leftiframe中jQuery改变mainiframe的src代码:

$(“#mainframe”,parent.document.body).attr(“src”,”https://www.imhdr.com”)[……]

阅读全文»

喝酒注意事项

喝酒前的准备:

酒能伤肝,这是人人皆知道的,为了尽量减少酒精对胃和肝脏的伤害,减少脂肪肝的发生。酒前的准备工作很重要,这是能保证你在酒桌上千杯不醉的关键因素。在去赴宴之前,在家先吃点东西,让胃里有点东西垫着。那具体吃点什么好呢?一般吃点高蛋白的比较好,例如吃两个鸡蛋,喝点牛奶,豆浆等,因为这些高蛋白的食品在胃中可以和酒精结合,发生反应,减少对酒精的吸收。另外,吃点饼干,糕点等也可以,让胃里有点东西,因为空腹喝酒,酒精在胃内很容易被吸收,从而导致容易醉酒。注意,切忌用咸鱼、香肠、腊肉下酒,因为此[……]

阅读全文»

MySQL数据库优化的一些笔记

0. 索引很重要

之前列举记录用了下面的语句。state字段为索引。

SELECT * FROM feed_urls WHERE state=’ok’ AND feed_url<>” LIMIT N,10

当记录数量很大时,有几万之后,这句SQL就很慢了。主要是因为feed_url没有建立索引。后来的解决方法是,把feed_url为空的,设为一个ok以外的state值,就行了。

1、索引不是万能的

为了计算记录总数,下面的语句会很慢。[……]

阅读全文»

Nginx+uWSGI 部署 Django 应用

常见的djangowebapp 部署方式采用FCGI或WSGI的方式部署,今天我这备忘下采用uWSGI的部署方式。 目前我这博客就是采用 Nginx + uWSGI + Python + Django 构建的,部署虽没有php那样扔到目录那么方便,但是并发和性能消耗还是非常不错的。这里不想赘述关于FCGI,WSGI,uWSGI之间的比较,网上关于这样的对比测试也有很多,例如这里。这里说下部署过程。 uWSGI 的官方网站 http://projects.unbit.it/uwsgi/ wiki介绍的很详细[……]

阅读全文»

Nginx+uwsgi快速部署Python应用

从学过的编程语言来说,感觉PHP的部署是最Easy的。只要把环境搭建好,PHP文件丢到路径,访问即可,不用操心php-cgi运行如何,很是方便啊。

而Phthon的部署就麻烦了,以下是总结网上资料关于使用Nginx+uwsgi来部署Python应用。

Python的WEB服务器大部分可分为:Python写的(如Medusa),嵌入 Python的(如mod_python的),或者调用Python通过网关协议(例如的CGI,FastCGI的,等等)

Python常见部署方[……]

阅读全文»

鄂ICP备13000209号-1

鄂公网安备 42050602000277号