memcached统计工具

2012年1月13日 没有评论

下载地址:memcached-tool ,用法命令:

perl memcached-tool server_ip:prot display 
perl memcached-tool server_ip:prot dump 
perl memcached-tool server_ip:prot stats  
perl memcached-tool server_ip:prot move 7 9

stats 输出说明:

pid					memcache服务器的进程ID
uptime					服务器已经运行的秒数
time					服务器当前的unix时间戳
version					memcache 版本
pointer_size				当前操作系统的指针大小(32位系统一般是32bit)
rusage_user				进 程的累计用户时间
rusage_system				进程的累计系统时间
curr_items				服务器当前存储的items数量
total_items				从服务器启动以后存储的items总数量
bytes					当前服务器存储items占用的字节数
curr_connections			当前打开着的连接数
total_connections			从服务器启动以后曾经打开过的连接数
connection_structures		        服务器分配的连接 构造数
cmd_get					get命令(获取)总请求次数
cmd_set					set 命令(保存)总请求次数
get_hits				总命中次数
get_misses				总未命中次数
evictions				为获取空闲内存而删除的items数
						(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items)
bytes_read				总读取字 节数(请求字节数)
bytes_written				总发送字节数(结果字节数)
limit_maxbytes				分配给memcache的内存大小(字节)
threads					当前线程数
分类: Linux 标签:

linux下设置Tomcat开启自动启动

2012年1月12日 没有评论

在centos下,开机后会自动执行/etc/rc.local中的命令,平时启动tomcat的命令为tomcat_home/bin/startup.sh或tomcat_home/bin/catalina.sh start,当直接把他们任何一个加入到/etc/rc.local中,重启机器后发现tomcat并没有启动。原因是开机时java的环境还没有设置好,故自己写一个脚本,先设置java环境,然后在启动,脚本如下:

export JAVA_HOME=/usr/local/jdk1.6.0_30
export PATH=$JAVA_HOME/bin/:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH
export CATALINA_HOME=/usr/local/tomcat-6.0.35/

/usr/local/tomcat-6.0.35/bin/catalina.sh start

假设保存成一个名为auto-startup.sh的文件存放在/usr/local/tomcat-6.0.35/bin下,然后在/etc/rc.local加入/usr/local/tomcat-6.0.35/bin/auto-startup.sh即可。注意:需要设置auto-startup.sh有执行权限。

关于nginx rewrtie的四种flag

2012年1月9日 没有评论

利用nginx的rewrite的指令,可以实现url的转向,对于rewrtie有四种不同的flag,分别是redirect、permanent、break和last。其中前两种是跳转型的flag,后两种是代理型。跳转型是指有客户端浏览器重新对新地址进行请求,代理型是在WEB服务器内部实现跳转的。

  • redirect:302跳转到rewrtie后面的地址。
  • permanent:301永久调整到rewrtie后面的地址,即当前地址已经永久迁移到新地址,一般是为了对搜索引擎友好。
  • last:将rewrite后的地址重新在server标签执行。
  • break:将rewrite后地址重新在当前的location标签执行。

使用root或proxy_pass指定源,last,break都可以,但是结果可能会有差别,后面用例子说明;使用alias指定源,必须使用last。假如有如下配置:

	location / {
	    root   /var/www/html;
	    index  index.html index.htm;
	    rewrite "/x/t.html" /y/t.html break;
	}

	location /y/ {
	    root  /var/www/html/other;
	}

当请求/x/t.html,符合rewrite规则,所以进行调整,调整的地址为/y/t.html,由于使用的flag是break,所以在“location /”中进行跳转,结果是/var/www/html/y/t.html。但如果flag为last,那么/y/t.html将在server标签中重新执行,由于存在一个“location /y/”,所以跳转被重新指定到“location /y/”标签,所以这个时候的结果为/var/www/html/other/y/t.html。

注意:使用last,如果配置不当,可能引起死循环。例如:

	location /x/ {
	    proxy_pass http://my_proxy;
	    rewrite "^/x/(.*)\.html$" /x/1.html last;
	}
分类: Linux, nginx 标签: , ,

rsync 的 delete参数

2012年1月5日 没有评论

rsync带上delete的参数后,当源目录中的文件删除,同步后目标目录中的文件也会被删除,如果源目录写法不当,可能无法达到同步删除目标目录的文件。例如:

/usr/bin/rsync -vzrtopg --progress  --delete \
        /home/yangyz/tmp/src/* /home/yangyz/tmp/dest/

当删除src下的文件或文件夹时,同步后dest中还是存在,如果是删除src的子目录下的,同步后dest中会被删除,而下面命令就不一样,不管删除的是哪个文件夹下的内容,同步dest都会做相同的删除

/usr/bin/rsync -vzrtopg --progress  --delete \
       /home/yangyz/tmp/src/ /home/yangyz/tmp/dest/

上述两条命令的不同之处就是在src后面是否带*号,另外如果src目录后不带斜杠,那么是将src目录复制到dest中,包含了src目录,否则是把src目录下的文件同步到dest中,不包含src目录。

分类: Linux 标签: ,

linux中获取昨天或明天时间的方法

2011年12月31日 没有评论

date命令可以获取当前的时间,通过man,可以看到date有很多参数可以用,很容易做到格式化,例如:

date +"%F"
输出格式:2011-12-31

date +"%F %H:%M:%S"
输出格式:2011-12-31 16:29:50

这都是打印出系统的当前时间,如果要获取相对当前时间的某个时间,需要怎么做,通过 -d 参数就能实现。例如:

date -d"tomorrow" +"%F %H:%M:%S"
输出明天这个时候的时间

date -d"yesterday" +"%F %H:%M:%S"
输出昨天这个时候的时间

如果说我想获取13天前的时间怎么办,-d参数还有更加灵活的用法,例如:

date -d"-1 day ago" +"%F %H:%M:%S"
输出明天这个时候的时间

date -d"1 day ago" +"%F %H:%M:%S"
输出昨天这个时候的时间

date -d"1 week ago" +"%F %H:%M:%S"
输出7天前这个时候的时间,等价于
date -d"7 day ago" +"%F %H:%M:%S"

可以看到ago的强大了吧,第一个数字可以是负数,负数表示将来时间,正数表示前面已经过去的时间,第二个参数minute、hour、day、month、week。

分类: Linux 标签: ,

nginx配置rewrite时报directive “rewrite” is not terminated by “;”

2011年12月23日 没有评论

nginx中可以使用rewrite配置url的重定向,rewrite指令可以位于server段,也可以位于location中,配置rewrite后通过/usr/local/nginx/sbin/nginx -t检查配置时,出现如下错误:

nginx: [emerg] directive "rewrite" is not terminated by ";" in /usr/local/nginx/conf/nginx.conf:139
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

解决的办法是把规则段使用引号引起来。例如:

rewrite ^/u_(.{7})\.js$ /action/js.php?i=$1 break;
修改为
rewrite "^/u_(.{7})\.js$" /action/js.php?i=$1 break;
本条可以不用引号
rewrite ^/u_(\d+)\.js$ /action/js.php?i=$1 break;

为什么有些必须要引号,有些又可以省略呢,仔细看第一条规则,里面出现了符号 “{、}”,应该是它造成的,因为配置文件中都是用它来作为配置的段起止标记,所以为了安全起见,最好还是都带上引号。

php中安装memcached扩展

2011年12月21日 没有评论

想要在php中使用memcached,就必须按照支持memcached的扩展,目前有两种,一个是memcache,另一个是memcached。memcache是原生实现的,支持OO和非OO两套接口并存,而memcached是使用libmemcached,只支持OO接口。更多关于他们的区别,请参考:http://hi.baidu.com/dong_love_yan/blog/item/afbe1e12d22e7512203f2e21.html。本文以安装memcached扩展为例。

libmemcached下载地址:https://launchpad.net/libmemcached/+download

memcached下载地址:http://pecl.php.net/package/memcached

使用wget下载

wget http://launchpad.net/libmemcached/1.0/1.0.2/+download/libmemcached-1.0.2.tar.gz

wget http://pecl.php.net/get/memcached-1.0.2.tgz

得到两个文件libmemcached-1.0.2.tar.gz和memcached-1.0.2.tgz

安装libmemcached-1.0.2.tar.gz,解压后进入解压的文件夹,执行

./configure --prefix=/usr/local/libmemcached --with-memcached

make

make install 

安装memcached-1.0.2.tgz,解压后进入解压的文件夹,执行


/usr/local/php/bin/phpize 	

./configure --with-php-config=/usr/local/php/bin/php-config  --with-libmemcached-dir=/usr/local/libmemcached/

make

make install 

其中 phpize位于php安装路径的bin目录下

修改php.inp,增加如下信息:

extension=memcached.so
分类: Linux 标签: ,

centos下memecached安装笔记

2011年12月21日 没有评论

centos下memecached安装笔记

项目地址:http://memcached.org/,选一个比较新的版本,本文选用的memcached-1.4.10.tar.gz,使用wget下载到本地

wget http://www.memcached.org/files/memcached-1.4.24.tar.gz

memecached依赖libevent库,可以用rpm -qa | grep libevent检查本机是否装有该库,如果没有按照,用yum安装,

yum -y install libevent libevent-devel

解压下载的源代码,进入解压后的文件夹,执行

./configure --prefix=/usr/local/memcached
make
make install

如果不出意外,memcached服务就安装成功了,安装的路径为/usr/local/memcached,启动服务如下:

/usr/local/memcached/bin/memcached -d -m 128 -l 127.0.0.1 -u root

其中
-d 以守护程序(daemon)方式运行 memcached;
-m 设置 memcached 可以使用的内存大小,单位为 M;
-l 设置监听的 IP 地址,如果是本机的话,通常可以不设置此参数;
-p 设置监听的端口,默认为 11211,所以也可以不设置此参数;
-u 指定用户,如果当前为 root 的话,需要使用此参数指定用户。
更多参数可以使用 /usr/local/memcached/bin/memcached -h 获取。

停止服务可以使用kill -9 memcached进程号

有一个perl脚本的工具,可以查看memcached的运行情况,下载地址:memcached-tool
运行方式:

perl memcached-tool 127.0.0.1:11211 stats
分类: Linux 标签:

linux清空文件文本内容

2011年12月20日 2 条评论

以前一直用echo的方式来清空一个文件的内容,例如 echo “” > file_name,这样虽说能清掉文件的内容,但是文件会有一个空行,其实cat能更好的胜任此项任务,cat 一个空文件然后重定向文件即可。那里去找这个空文件呢,系统的/dev/null就是一个很好选择,所以如下命令

cat /dev/null > file_name

就可以彻底清空文件的内容了。

分类: Linux 标签:

>/dev/null 2>&1含义

2011年12月20日 没有评论

执行linux命令或脚本时,如果不想打印出错误信息,可以使用

command 2>/dev/null

注意:2>/dev/null中间不要有空格

同样,如果不想看到标准的输出,则可以这样

command 1>/dev/null

要是不想看到任何输出,则:

command >/dev/null 2>&1

linux有3个默认的I/O

  1. 0 是标准输入,一般是键盘
  2. 1 是标准输出,一般是屏幕了
  3. 2 是标准错误,有时候屏幕上可以看到,但是重定向的文件中看不到的就是它了

现在知道上述的1、2的含义了,所以第一条命令就是把命令的错误信息重定向到一个空设备中,即丢弃此信息,第二条就是把标准输出重定向到空设备中,最后一条是把标准输出(默认)重定向到空设备,同时把错误信息定向到标准输出中,当然可以这么写

command 1>/dev/null 2>&1
分类: Linux 标签: ,

无觅相关文章插件,快速提升流量