在CentOS 5.4上安装CouchDB

CouchDB一种半结构化面向文档的分布式,高容错的数据库系统,具体的可以参见其网站上的文档,以及这里的一篇技术简介的翻译。CouchDB在Ubuntu下安装非常方便,只需要使用sudo apt-get install couchdb即可,我以为在CentOS中也会比较容易,没想到却遇到了比较多的问题。主要包括: CentOS的安装源里不包含CouchDB CouchDB需要Erlang的运行时支持,CentOS的安装源里也没有Erlang OK,我们一步一步来搞定在CentOS下安装CouchDB。首先需要安装Erlang,却Erlang的官方网站下载源码,然后在本地编译安装:具体的脚本为: 1: wget http://www.erlang.org/download/otp_src_R13B02-1.tar.gz 2: tar–xzvf otp_src_R13B02-1.tar.gz 3: cd otp_src_R13B02-1 4: ./configure 5: make && make install 中途有可能会遇到一些依赖的问题,比如缺少icu、ncurses、wxWindows等,前面几个大略都可以从yum时行安装,wxWindows可以不问,如果你之后不准备使用Erlang进行UI编程的话,这些也足够用了。 Erlang安装完成之后,测试一下在bash里erl和erlc能否使用,若能,则这一步就完成了。 接着是安装CouchDB,由于CouchDB里用到了JavaScript,所以其依赖于SpiderMonkey,需要先安装libmozjs这个库,步骤为: 1: wget ftp://ftp.mozilla.org/pub/mozilla.org/js/js-1.8.0-rc1.tar.gz 2: tar–xzvf js-1.8.0-rc1.tar.gz 3: cd js/src 4: make BUILD_OPT=1–f Makefile.ref 编译应该不会出什么问题,如果你的机器没有配置编译环境,你可以参考这篇文章进行配置。 可以当我执行make –f Makefile.ref install的时候傻了,没有这个target,好吧,我们自己写脚本安装这个库。代码如下: 1: #!/bin/bash 2: mkdir -p /usr/include/mozjs/ -v 3: cp *.{h,tbl} 4: […]

linux 根据文件内容查找文件

今天编程,居然说”TCP_NODELAY” 未定义 加了man setsockopt 得到的头文件也没用 find 很强大,但貌似不支持根据文件的内容来查找, 以前百度就是没找到,这次多放一些关键字 linux 根据文件的特定内容来查找文件 grep “TCP_NODELAY” -r /usr 这样就递归查找/usr下的所有内容里带有TCP_NODELAY的文件了 很快找到了/usr/include/linux/tcp.h #define TCP_NODELAY 1 此外,知道文件名搜文件位置 find / -name “filename”  

配置mongodb分片群集(sharding cluster)

  Sharding cluster介绍 这是一种可以水平扩展的模式,在数据量很大时特给力,实际大规模应用一般会采用这种架构去构建monodb系统。 要构建一个 MongoDB Sharding Cluster,需要三种角色: Shard Server: mongod 实例,用于存储实际的数据块,实际生产环境中一个shard server角色可由几台机器组个一个relica set承担,防止主机单点故障 Config Server: mongod 实例,存储了整个 Cluster Metadata,其中包括 chunk 信息。 Route Server: mongos 实例,前端路由,客户端由此接入,且让整个集群看上去像单一数据库,前端应用可以透明使用。 Sharding架构图: 本例实际环境架构 本例架构示例图: 分别在3台机器运行一个mongod实例(称为mongod shard11,mongod shard12,mongod shard13)组织replica set1,作为cluster的shard1 分别在3台机器运行一个mongod实例(称为mongod shard21,mongod shard22,mongod shard23)组织replica set2,作为cluster的shard2 每台机器运行一个mongod实例,作为3个config server 每台机器运行一个mongs进程,用于客户端连接   主机 IP 端口信息 Server1 10.1.1.1 mongod shard11:27017 mongod shard12:27018 mongod config1:20000 mongs1:30000 […]

调查服务器响应时间的利器 tcprstat

我们在做服务器程序的时候,经常要知道一个请求的响应时间,借以优化或者定位问题。 通常的做法是在代码里面加入日志计算时间,这个方法有问题,时间不准确。因为数据从网卡到应用程序,从应用到网卡的时间没有被计算在内。 而且这个时间随着系统的负载有很大的变化。 那同学说,我wireshark, tcpdump抓包人肉统计不行吗。 可以的,只不过我会很同情你,此举需要耐心且不具可持续性。 所以我们希望有个工具能够最少费力的做这个事情。 这时候来自percona的tcprstat来救助了! 这个工具原本开发用来调查mysqld的性能问题,所以不要奇怪它的默认端口是3306, 但是我们可以用这个工具来调查典型的request->response类型的服务器。 什么是tcprstat: tcprstat is a free, open-source TCP analysis tool that watches network traffic and computes the delay between requests and responses. From this it derives response-time statistics and prints them out. The output is similar to other Unix -stat tools such as vmstat, iostat, and […]

linux下使用nload查看网卡实时流量

linux下使用nload查看网卡实时流量 nload是一个网络流量统计工具,当前版本为0.7.2。下载地址:http://sourceforge.net/project/showfiles.php?group_id=35865 使用yum 安装也可以。 yum install nload 使用源码方式安装到/usr/local/nload,将/usr/local/nload/bin目录加入/etc/profile。 重新登陆ssh后,直接输入nload即可查看网卡的当前流量情况。nload eth0 — 查看名叫eth0网卡的流量 可查看当前、平均、最小、最大、总共等的流量情况,单位为bit,详细的使用说明请参见:http://www.debuntu.org/2006/07/14/74-nload-a-network-traffic-analyser

Resin 3.2.1 破解文件 crack keygen

resin3.2.1 的破解文件,仅供学习所用,不得用于商业用途. 把附件里的文件覆盖${resin_home}\lib里的pro.jar 即可 没用用户的可以用test/test 下载 如果你的版本不是是resin3.2.1,如果覆盖不能用时,可以试一下,把附件里的pro.jar里的 \com\caucho\license 目录覆盖你的pro里相应目录 下載pro.jar

Tomcat Today, GlassFish Tomorrow?

While there are indeed several advantages to using GlassFish vs. Tomcat, it’s probably useful to know that Sun is the original creator of Tomcat and that any application running today on Tomcat should run just fine (no modification whatsoever) on GlassFish. Grizzly Historically, if you wanted to get good HTTP performance from Tomcat you really […]

Linux/Ubuntu tar命令详解使用格式和方法

格式: tar 选项 文件目录列表功能: 对文件目录进行打包备份选项:-c 建立新的归档文件-r 向归档文件末尾追加文件-x 从归档文件中解出文件-O 将文件解开到标准输出-v 处理过程中输出相关信息-f 对普通文件操作-z 调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩-Z 调用compress来压缩归档文件,与-x联用时调用compress完成解压缩 例如: 1.将当前目录下所有.txt文件打包并压缩归档到文件this.tar.gz,我们可以使用 tar czvf this.tar.gz ./*.txt 2.将当前目录下的this.tar.gz中的文件解压到当前目录我们可以使用 tar xzvf this.tar.gz ./  

利用samba备份文件。

利用samba备份文件。 首先安装samba # yum install samba 增加用户backupuser#adduser backupuser -g users然后修改backupuser的密码xxxxxx#passwd backupuser [backupfile]    comment = file backup dir.it will auto backup per hour.    valid users= backupuser    path=/data/backupfile    browseable=no    writable=yes 增加smbuser#smbpasswd -a backupuser输入密码,直接按回车就可以了。 #mount -t cifs -o username=strong,password=strongkiller -v //mysqlhost/1363file /backupdir 如果出现错,如权限等,请确认backupuser有读写/data/backupfile的权限,如果还不行就把seLinux关闭。 #vi backup_file_per_hour.sh #!/bin/shtime_year_month=”$(date +”%Y%m”)”time_day=”$(date +”%d”)”need_backup_folder=”/data2/album/$time_year_month/$time_day”backup_year_folder=”/backupdir/album/$time_year_month”if [ ! -d $backup_year_folder ]        then       mkdir $backup_year_folderfi backup_current_folder=”/backupdir/album/$time_year_month/$time_day”if [ […]

lighttpd 1.4.20发布

9月30日lighttpd 1.4.20版本发布了。lighttpd不用多介绍了,现在非常流行的轻量级Web服务器,提供良好的Ruby on Rails,PHP和Python的FastCGI/SCGI运行方式的支持。  lighttpd1.4.20版本是1.4.x系列的最新的维护版本,修复了从1.4.19以来大量的小bug,也是目前lighttpd最稳定最好的版本,推荐升级。这个版本比较关注的bug修复是一些HTTP不规范的400请求造成的内存泄漏问题以及SSL处理的问题造成的DOS攻击。以下是详细更新记录:  引用     *  Fix mod_compress to compile with old gcc version (#1592)     * Fix mod_extforward to compile with old gcc version (#1591)     * Update documentation for #1587     * Fix #285 again: read error after SSL_shutdown (thx [email protected]) and clear the error queue before some other calls (CVE-2008-1531)     * Fix mod_magnet: […]