马上Nginx将会应用到公司的第一个实战项目上,为了方便开发和运维人员安装和配置Nginx,整理了下面的内容。
我们的服务器全部采用CentOS,因此下面的配置也是基于CentOS来配置的。
cd /opt/ yum install gcc openssl-devel pcre-devel zlib-devel wget http://nginx.org/download/nginx-0.8.38.tar.gz wget http://github.com/gnosek/nginx-upstream-fair/tarball/master tar –zxvf nginx-0.8.38.tar.gz tar –zxvf gnosek-nginx-upstream-fair-2131c73.tar.gz cd nginx-0.8.38 ./configure --with-http_stub_status_module --add-module=/opt/gnosek-nginx-upstream-fair-2131c73 make & make install
正常一步步走下面是不会出问题的,前提确保你的服务器网络可用。
GlassFish可以配置单机集群和多机集群(即普通意义上的真集群)。
单机集群和多机集群配置上大同小异,只是代理服务器不同而已,单机集群代理服务器和代理节点在一个机子上,而多机集群就是将代理服务器和代理节点分布在不同的机器上。
下面就一步步来配置GlassFish集群,我是在Linux上部署的,因此下面的部署方式是Linux下的部署方式,Windows下的差不多:
1、下载 GlassFish, 我选择的是 GlassFish Server Open Source Edition 2.1.1中的 glassfish-installer-v2.1.1-linux-ml.jar 多语言版;
Linux Platform
因为工作的需要,需要在不同的软件环境下做不同的事情,虚拟机这个时候就起了很大的作用,但是正常安装虚拟机还是比较麻烦的,如果已经有一个VDI文件系统了,只要复制一个就可以了!
但是复制后不能直接使用的,VDI是携带UUID的,UUID不能重复,因此可以通过重置UUID来使用。好在VirtualBox有这方面的工具来直接使用:
VBoxManage.exe internalcommands setvdiuuid disk.vdi
这样就重置了新VDI的UUID,然后就可以把这个新VDI注册进虚拟硬盘,避免了重新安装的烦恼!
有时我们部署项目或者往外拷贝文件时,难免会直接把.svn文件一起拷贝走,下面分享Linux和Window下两种快速删除的方法:
1、Linux下
find . -type d -name ".svn"|xargs rm -rf
2、Windows下直接通过SVN工具,这里说的是TortoiseSVN 的export功能,选择相应的项目目录,导出即可。
最近Nginx比较火,也比较好奇,于是今天就试着在自己的虚拟机上装了玩玩。
教程基本上是按照网上的教程一步步走来的。
1、下载Nginx 0.7.65
2、编译,这块稍微花了点时间,主要是缺少依赖的库,一个一个去下载安装,建议初学使用可以看这里:http://wiki.nginx.org/NginxInstallOptions
我是用的是CentOS,执行下面的命令:
yum install gcc openssl-devel pcre-devel zlib-devel
3、安装完,运行就可以了!注意:apache默认也是80端口,别重了,或者暂时把Apache关掉。
4、配置 stub_status , 配置之前确定在编译时加载 http_stub_status_module, 否则你就要重新编译了!
5、配置tomcat集群,现学现用,由于我们目前大部分服务器使用的是tomcat集群。
下载 gnosek-nginx-upstream-fair-2131c73.tar
重新编译,别忘记带上 –add-module=/home/mikespook/gnosek-nginx-upstream-fair-2131c73
简单的一个Nginx+Tomcat集群就运行起来了!网上配置教程一大堆,我也就自己实践实践,如果不明白可以Google下或者百度下,不行搜狗下,可怜的Google,不,应该是可怜的中国政府!
项目做压力测试的时候难免会碰上数据库压力比预期的高,这个时候就要进行数据库和sql优化,其中一个很好的办法便是分析数据库的慢查询日志。
以前都是手动打开浏览,或者通过Mysql自带的mysqldumpslow来查看,今天分享另外一个工具:mysqlsla
hackmysql.com推出的一款MySQL的日志分析工具
整体来说, 功能非常强大. 数据报表,非常有利于分析慢查询的原因, 包括执行频率, 数据量, 查询消耗等.
格式说明如下:
总查询次数 (queries total), 去重后的sql数量 (unique)
输出报表的内容排序(sorted by)
最重大的慢sql统计信息, 包括 平均执行时间, 等待锁时间, 结果行的总数, 扫描的行总数.
Count, sql的执行次数及占总的slow log数量的百分比.
Time, 执行时间, 包括总时间, 平均时间, 最小, 最大时间, 时间占到总慢sql时间的百分比.
95% of Time, 去除最快和最慢的sql, 覆盖率占95%的sql的执行时间.
Lock Time, 等待锁的时间.
95% of Lock , 95%的慢sql等待锁时间.
Rows sent, 结果行统计数量, 包括平均, 最小, 最大数量.
Rows examined, 扫描的行数量.
Database, 属于哪个数据库
Users, 哪个用户,IP, 占到所有用户执行的sql百分比
Query abstract, 抽象后的sql语句
Query sample, sql语句
除了以上的输出, 官方还提供了很多定制化参数, 是一款不可多得的好工具.
安装和使用也非常简单
安装:
tar zxf http://hackmysql.com/scripts/mysqlsla-2.03.tar.gz
cd mysqlsla-2.03
perl Makefile.PL
make
make install
简单使用:
— Slow log: mysqlsla -lt slow slow.log
— General log: mysqlsla -lt general general.log
— Binary log: mysqlbinlog bin.log | mysqlsla -lt binary -
mysqlsla会自动判断日志类型,缺省会打印出前十条结果,可以通过类似“–top 100”的参数来修改,如果觉得每次输入麻烦,还可以建立一个配置文件“~/.mysqlsla”,在文件里写上:top=100,这样就不用每次都手动输入参数了。
整理一下手机操作系统的文章,不然囡囡时不时还得问,这是什么操作系统的啊,什么功能,好不好用啊等,然后我从头解释下。
从2003年开始接触的智能手机,玩过WM,Symbian,iPhone,Linux到现在的Blackberry,就差Palm和Android没有玩过了,Palm估计是不想玩了,下一个版本估计是Android了,呵呵!
智能手机可能使用不同的操作系统,实现的功能几乎都差不多了,但是又各有长短,下面主要简单介绍下各个手机操作系统,以及主要优缺点。

光看名字就知道是出自微软,Windows Mobile 系统的界面和操作都和电脑上Windows系统十分接近,对于使用者来说十分熟悉又上手。
优点:容易上手,和Windows同步很方便,Office兼容性,多媒体性能,众多的第三方软件。
缺点:因功能多,配置高而产生耗电量大、电池续航时间短、硬件采用成本高,以及较高的系统使用授权费用,还有容易崩溃价格昂贵。

好多人估计知道诺基亚,但是不知道Symbian,Symbian操作系统的手机主要由诺基亚一家来做的,尽管摩托罗拉和三星等厂商也生产基于Symbian的手机产品,但都没有形成规模,只是零星的尝试而已。目前诺基亚的智能手机几乎都是基于Symbian系统的。比如S60,S40,S80,S90等,还有索爱的UIQ。
优点:具有多任务,多线程、低功耗,低内存占用等优点,非常适合于移动通讯终端设备。
缺点:各个平台之间第三方软件不兼容,对主流的媒体格式的支持性较差,所采用的硬件配置较低,缺乏厂商支持越走越远。

手机上Linux操作系统和我们平时用的Linux操作系统是一个系统,而且都是全免费操作系统,之前Moto和三星在这方面支持的比较多,不过现在随着Moto向Android OS的一边倒,支持的大厂商很少了。
优点:系统资源占用率较低,而且性能比较稳定。
缺点:版本混乱,开发成本高,第三方软件少,支持的厂商越来越少。

Palm 操作系统是一个32位的嵌入式操作系统,主要用于掌上电脑。Palm OS系统是Palmsource公司开发的。采用Palm OS的掌上电脑其对硬件配置要求不高,因此,采用Palm OS的掌上电脑产品体积通常比较小巧。另外,Palm掌上电脑的电池使用时间通常是比较长的。
优点:简单易用,占用系统资源少。
缺点:功能比较单一,多媒体和通信功能较弱。

iPhone OS 是由苹果公司为iPhone开发的操作系统,它主要是给iPhone和iPod Touch使用,就像其基于的Mac OSX操作系统一样,基于Unix系统。
优点:简约的外观和坚固的外壳,多点触控技术发挥淋漓尽致,强大的视频、音频播放能力,玩游戏不错。
缺点:封闭的电池设计,捆绑销售价格昂贵。

“黑莓” BlackBerry是美国市场占有率第一的智能手机,这得益于它的制造商RIM(Research in Motion)较早地进入移动市场并且开发出适应美国市场的邮件系统。
优点:安全性比较好, 强悍的商务功能,电池续航能力强。
缺点:多媒体方面非常孱弱,启动巨慢,免费的软件比较少。

Android OS 是近2年才推出的一个新系统,由Google开发,基于Linux内核,开源免费。
优点:与Google产品完美整合,充分发挥互联网的应用,开放,丰富的功能选择。
缺点:刚出来,各方面还不太成熟,安全和隐私方面是个大问题。
百度百科 – 智能手机操作系统:http://baike.baidu.com/view/1047304.htm
网易 – 智能手机操作系统谁主沉浮?: http://tech.163.com/special/00091N8B/analyse024.html
今天发现了这个好玩的东西,让本来在Linux就不咋用QQ的我有重拾QQ的冲动,感觉很不错,分享给大家,先看图吧,借用LinuxToy的图片。

原文在这里:WebQQ 桌面化
我简要表述下主要做法:
1、安装allTray,版本0.69,最新版的貌似不行,还是安装0.69版的比较好。
2、创建WebQQ的桌面应用,具体看WebQQ 桌面化的做法。
3、按照WebQQ 桌面化的格式,编辑WebQQ的属性。
4、注意,一定要注意,图标地址别用错了,一定是你自己的图标,不要直接拷贝过来使用,检查检查是否格式正确。
allTray一直在用,但是没有发现其还有这么好用的命令,正如作者所说用 Alltray 创建系统托盘提示功能才是那篇文章的精华!
前提是保证你的Linux已经安装了相应的Java软件,如果没有安装Java, 先装安装Java,配置Java环境, 假如安装到了/usr/java/jre1.6.0_17/
找到你的FireFox安装的目录,假如安装到了 /usr/firefox
cd /usr/firfox
如果有plugins目录那就继续往下看,如果没有,mkdir plugins
ln -s /usr/java/jre1.6.0_17/plugin/i386/ns7/libjavaplugin_oji.so
OK,至此大功告成,测试一下,打开 http://www.java.com/zh_CN/download/installed.jsp 看看即可
ubuntu下安装这个其实很方便,firefox会自动检测并让你安装,java plugin, 但是在有些Linux环境下就需要手动了。
由于“墙”的存在,有时候一些网站无法访问,于是购买了SSH服务,来通过SSH绕“墙”,每次开机都需要连接,很是麻烦,于是便找到了下面的方法。
这个方法和之前的一篇文章:linux下 scp命令不需要输入用户密码 有点区别,那篇文章的前提是你需要能控制另一个Linux主机,但是如果你是购买的ssh服务,那么就不行了,下面给出一个方法,也是自己网上搜索的,目前用着很好,如果有更好的欢迎共享下。
1、通过expect 来实现的,我自己用的Ubuntu,需要安装expect:sudo apt-get install expect
2、autoSSH.sh 脚本
#!/usr/bin/expect -f set timeout 30 spawn ssh -D 7070 login_name@host_name expect "password:" send “123456\r” interact
3、给脚本加权限, chmod +x autoSSH.sh
OK,执行就可以了,也可以让直接开机运行这段脚本。