2011年8月 的存档

Centos下连接打印机

2011年8月24日 没有评论

利用cups能正确连接到打印机。在浏览器中输入 http://localhost:631/ 后出来配置界面,选择 “Add Printer”,在name中输入打印机的名字(本地显示的名字),Location输入打印机的IP地址,下一步是选择设备,在Device中选择打印机对应的设置,例如:AppScoket/HP JetDirect,下一步,Device URI填写socket://打印机的IP,再下一步在Make中选择HP(实际根据打印机的型号来选择),下一步出来的Model中选择对应的驱动,然后点 “Add Printer”即完成打印机的连接。

另外通过系统-〉管理-〉正在打印 中可以看到刚才安装的打印机。

分类: Linux 标签: , ,

使用ImageMagicK给图片添加边框

2011年8月19日 没有评论

ImageMagicK处理图片的功能 十分强大,本文通过例子的方式来介绍一下如果给图片添加边框。

添加边框有两种方式,一是使用?-bordercolor(边框颜色)和-border(边框的宽度),另外一个是用-mattecolor(边框颜色)加-frame(边框的几何形状),下面分别用例子来说明上述两种创建方式。

原始图片(文件名为exam.jpg)如下:

执行命令:convert exam.jpg -bordercolor blue -border 5 border-1.jpg 后生成新图片如下:

边框的颜色可以使用 #00ffcc 的方式,但是需要用双引号包起来,另外可以在一个命令行中给图片加几层边框。
执行命令:convert exam.jpg ?-bordercolor blue -border 5 -bordercolor “#00ff00″ -border 5 ?border-2.jpg,结果如下图:

通过上述的方法,似乎生成的边框都是一样框的,可以用第二种方式来生成不一样的边框. 阅读全文…

javascript下动态创建IMG时IE6两次请求指定资源

2011年8月19日 没有评论

众所周知js可以通过document.createElement方法创建DOM对象,并可以把增加到页面上,今天碰到一个怪异的事情,使用如下代码动态创建一个Img

function req() {
	var el = document.createElement('IMG');
	el.src = '资源的WEB地址';                 //line 3
	document.body.appendChild(el);          //line 4
}

在某种特定的调用req方法时,发现在IE6会有两次请求“资源的WEB地址”,其他浏览器都是正常,真是万恶的IE6啊。由于req方法是另一个函数调用的,以后是多次触发了req方法,经过多方的debug,发生确实只调用了一次req,所以产生问题的原因就是在req方法的内部,对于这么简单的代码,唯一可以修改的地方把第3、4行代码换一下位置,调整后,发现IE6正常了,只请求一次了,测试其他浏览器也是正常,唉,再次BS一下IE6。

 

分类: web前端 标签: , ,

iframe中的swf无法调用页面中的js函数

2011年8月19日 没有评论

主页面中存在一个iframe,目的是让iframe在后台处理一些事情,所以把iframe的width,height设置为1个像素,同时设置visibility为hidden,iframe指向的页面中嵌套了一个swf,该swf是flash、as3,as3脚本中是读取flash的SharedObjects中存放的值,并把该值传回给页面的js函数。直接访问这个iframe的页面能够正常工作,即flash能调用到页面上的js函数,但是访问主页面时,FF、safari、chrome也是正常工作,IE6、8就歇菜了,没有反应,经过一番的查找问题,发现根源是iframe不能是隐藏的,即把visibility设置为visible或者去掉visibility的设置就可以了。

分类: web前端 标签: , , , , ,

windows下使用SecureCRT登陆AWS EC2服务器

2011年8月17日 2 条评论

SecureCRT是windows下一款连接linux服务器的优秀软件,通过它可以方便的操作多台服务器,如果是自己的服务器,知道帐号密码,很轻松就能连上服务器,AWS的EC2服务器不是采用用户名加密码的认证方式,而是用密钥来认证,在创建instance时,会提示使用以前(如果存在)或创建一个新的key pair,同时会提示下载一个xxx.pem的密钥文件到本地硬盘,在Linux下使用terminal登陆aws的ec2很容易,例如:ssh -i xxx.pem ec2-user@public dns,用户名固定是ec2-user,注意xxx.pem的权限是600,public dns在web的管理后台选中某个instance,在Description可以找到,但是SecureCRT中不能直接使用xxx.pem,需要借助linux系统创建一个xxx.pem对应的xxx.pem.pub文件,具体操作如下:

1 上传文件到linux系统下,确保其权限是600, 命令 chmod 600 xxx.pub
2 改写密钥格式为 OpenSSH,如果询问passphrase可以留空(直接回车)命令 ssh-keygen -p -f xxxx.pem
3 生成公密钥 .pub 文件 命令 ssh-keygen -e -f xxxx.pem > xxxx.pem.pub

至此,就创建了在SecureCRT中所使用的验证文件.

在SecureCRT选连接->新建会话->协议选择ssh2 下一步 -> 主机名填写public dns 下一步,用户名填写ec2-user 下一步 -> 完成.
在连接的列表中找到刚创建的连接,右键属性,左边树中选择SSH2,然后选择右边鉴权中公钥,点属性,在出来的对话框中选择使用身份或证书文件,通过浏览文件指定到刚在Linux下生成的文件即可.注意xxx.pem.pub和xxx.pem要在同一文件夹下,而且公钥的文件名一定要是下载下来的文件名后加.pub,否则会提示找不到私钥的.

分类: Linux 标签: , , , ,

linux下shell的浮点数四则运算

2011年8月14日 没有评论

shell下的四则运算有两种方式,一个是使用expr,另外一个用$(()),例如 expr 数1 运算符(+-*/)  数2或$(( 数1 运算符(+-*/)  数2)),需要注意的是使用expr时操作符的前后需要一个空格.但是上述两个都不能进行浮点数的运算,为了达到计算浮点数,可以借助命令awk来实现.例如 awk ‘BEGIN{print 7.01/5+2.3 }’执行后结果为3.702.如果两个操作数是保存在变量中,必然 a=2.2,b=5,需要计算a除以b该怎么操作呢? awk ‘{print $a/$b}’,很可惜,这样是不行的,似乎在awk里面无法通过$a来获取变量的值,但是可以通过echo的方式把变量值传入, echo “$a $b” | awk ‘{print $1/$2}’,这样就可以了,如果还是操作数,都加在echo中就行了.

分类: Linux 标签: , , , ,

兼容各个浏览器的右下角提示框代码

2011年8月12日 没有评论

现在很多网站都喜欢在右下角出现一个信息提示框,当然有些广告也这么做,不管页面怎么滚动,提示框的位置始终位于右下角,查看效果,对于非IE6的浏览器,问题很简单,只要在css中设置position为fixed即可,但IE6不支持fixed属性。解决这个问题的方法大部分使用javascript来做,监听页面滚动的事件,然后实时计算出提示框的top值并把此值赋给提示框。本文要讲的是js的另一种用法,直接在css中通过eval来执行js,具体参看下面示例代码。另外同时用到了css hack技术,在css的属性前加符号“_”话,只有IE6才能识别并应该。注意 css 中 *html的代码解决滚动时候提示框闪动的问题。

本人认为此文最大的价值是明白了javascript代码也能隐藏在css中执行,不得不说脚本真是太强大~~~

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>demo</title>
<style>
    #top{
        border:1px solid blue;
		background:#ccc;
        width:200px;
		height:150px;
        position:fixed;
        _position:absolute;
        bottom:0;
        right:0;
		_top:expression(eval(document.documentElement.scrollTop+document.documentElement.clientHeight-this.offsetHeight-(parseInt(this.currentStyle.marginTop,10)||0)-(parseInt(this.currentStyle.marginBottom,10)||0)));
    }

    *html{
        background-image:url(about:blank);
        background-attachment:fixed;
    }
</style>
</head>
<body >
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />

<div id="top">
	测试效果
</div>
</body>
</html>

本人参考借鉴 http://loo2k.com/ie6-position-fixed/ 中的知识

分类: web前端 标签: , , ,

nginx中关于页面缓存的配置

2011年8月12日 3 条评论

根据nginx的文档,可以通过使用expires 指令来操作。

该指令会在响应的header信息中增加一个 Expires 和一个 Cache-Control: (如果时间是负数no-cache,反之max-age = * 为您指定时间的秒数)的信息.如果不想缓存某些页面,可以针对某些页面配置以下expires ,可以用 expires -1;使用这样就相当于为指定的资源在响应请求时在header中加了Cache-Control:no-cache 信息.

经过测试,在IE6和8下都能正常工作,即每次通过F5刷新,应答的状态码都为200,但是Firefox3.6、chrome下,F5刷新后看到的应答状态码为304,也就是说依然读取的是缓存信息,没有达到不缓存的目的,使用FireBug(好工具啊)查看响应的header信息中也有Cache-Control:no-cache,这问题让我困扰好一阵,在网上狂找一起,也没有发现到底是为什么。后来无意中在IE8下的httpwatcher5下看到了一个warnning信息,内容为:The ‘no-cache’ directive was used without the ‘no-store’ directive. Using ‘no-store’ ensures that Firefox will always re-fetch HTTP based pages and never use a previous version.从这个里面得到启示,然后再nginx中使用add_header增加一条add_header Cache-Control no-store指令,然后再测试,Firefox,chrome的应答都能不让客户端缓存。进一步测试,发现只要设置了no-store,不要no-cache,甚至 expires 时间为正数时都不会被缓存了。

add_header Cache-Control no-store

另外如果先前页面已经是缓存的,在nginx配置中设置了不缓存(no-store),也重启nginx服务器,在ie下,用F5刷新还是返回304,除非ctrl+F5应答才会是200,当然此后再F5依旧是200。如果要立即生效,最好是修改一下那个页面,让浏览器知道页面已经被更新,好重新获取页面内容。

 

分类: Linux 标签: , , ,

linux rsync 文件备份

2011年8月12日 没有评论

rsync可以让两个目录的内容一致,它同步只会同步有更新过的文件,减少传输量。可以是本机上的两个目录,也可以是本机的目录同步到服务器上,还可以是把服务器上的目录同步到本机上。

基本命令是 rsync 命令的参数 源目录 目的目录

rsync可以基于ssh协议来做,这样就省去了很多配置rsync server的麻烦,如果两个机器已经实现ssh无密码登陆,那么rsync就会提示输入密码,还有一种是通过密钥文件来实现免密码,例如下面

1、rsync -vzrtopg –progress -e ssh –delete 用户名@服务器IP:/var/www/dirA/ /var/bak/

2、rsync -vzrtopg –progress -e “ssh -i /path/pwd.pem” –delete 用户名@服务器IP:/var/www/dirA/ /var/bak/

就是把服务器上的dirA目录同步到本地的/var/bak目录下,其中方法1是用户已经做了ssh免密码登陆,方法2是通过密钥(存放在/path 下的pwd.pem文件)来同步

分类: Linux 标签: , , ,

nginx+php-fmp 内存不释放

2011年8月11日 没有评论

由于服务器只有600M的内存,上面跑了一个并发并不是很大的php应用,当运行一段时间后,发现内存不断增长,其中一部分是PageCache的增长, 这个可以通过echo 3 > /proc/sys/vm/drop_caches 命令来进行有效的释放,另外一个应用内存的增长,且无法释放,通过top命名(输入命名后按m键可按进程占用内存大小的排序)查看,发现大部分内存都被 php-fpm 占用,网上查了一下,大概的意思是说,处理每个php请求完成后,php-fpm会回收内存,但不会释放给操作系统,从而导致大量的内存被php-fpm 占用。网上也提到解决方法,就是调整php-fpm.conf中的pm.max_requests值,pm.max_requests的作用是发送多少个 请求后会重启该线程,从而使其释放占用的内存,默认0,即决不重启。在我的应用把该值设置为250,观察一段时间后,发现还是有好几个php-fpm占用 内存的比例是2.8%左右,效果不理想,可能的原因是请求量大,还是无法达到这个阀值,将其设置为10的时候,发现php-fpm是会不断的重启的。个人 感觉这样配置不是太好,所有还是把这个值置为250,同时用一个脚本来进行杀掉php-fpm,从而释放他占用的内存,另外如果系统负载巨大,重启会导致 cpu的使用率飙升。脚本如下:
#!/bin/bash
log=/home/www/scripts/php-fpm.log
echo `date “+%F %H:%M:%S”` >> $log
for PID in `ps aux|grep php-fpm|grep -v grep|awk ‘{if($4>=1)print $2}’`
do
kill -9 $PID
echo $PID >> $log
done

可以把脚本加到crontab中让其定期执行.

另外记录几个长用的命令:
1、按顺序列出内存占用率的进程     ps -A –sort -rss -o comm,pmem,pcpu |uniq -c |head -15
2、指令vmstat可以监控内存使用情况,作为对内存监控,我们比较关心swpd、free、si、so。一般系统不繁忙的状态下,我们看到swpd,so的值不会持续很高,经常为0
3、通过pmap来查看进程占用内存的详细情况,例如,pmap 进程号

本 文参考了:http://blog.csdn.net/zouyongjin/article/details/6642157和http: //www.opsers.org/linux-home/server/php-fpm-on-analysis-of-system-resources.html

分类: Linux 标签: , ,

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