存档

‘others’ 分类的存档

MAC下修改被HP打印机占用的8080端口

2013年12月10日 评论已被关闭

Mac的8080端口被占了,查了一下是 HP printer agent 占用了8080端口,这是Tomcat, JBoss and others servlet engines/application servers 的默认端口。于是先干掉这个端口。

$ netstat -na|grep 8080
tcp6       0      0  *.8080                 *.*                    LISTEN     
tcp4       0      0  *.8080                 *.*                    LISTEN  
$ lsof -i:8080
COMMAND    PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
launchd    274   u2    9u  IPv4 0x4c7c1dc47078aa3d      0t0  TCP *:http-alt (LISTEN)
launchd    274   u2   10u  IPv6 0x4c7c1dc46f0555f5      0t0  TCP *:http-alt (LISTEN)
printerAg 2052   u2    5u  IPv4 0x4c7c1dc47078aa3d      0t0  TCP *:http-alt (LISTEN)
printerAg 2052   u2    6u  IPv6 0x4c7c1dc46f0555f5      0t0  TCP *:http-alt (LISTEN)

kill -9 401
kill之后会自动重启一个新的进程,8080端口依然健在,汗一个!
阅读全文…

分类: others 标签:

mark: info.3g.qq 宕机

2013年12月10日 1 条评论

Mark: 2013-12-10 16:40 http://info.3g.qq.com/ 无法打开,返回500错误,服务器为resin ^_^!

 

(Status-Line) HTTP/1.1 500 Internal Server Error
Server HTTP Load Balancer/2.0
Content-Type text/html; charset=utf-8
Content-Length 274
Date Tue, 10 Dec 2013 08:44:48 GMT
Cache-Control no-cache
Pragma no-cache

==========

又是考验运维的时候了,期待快点恢复~

分类: others 标签:

mark:现在douban.com 豆瓣挂了

2013年12月9日 1 条评论

2013-12-09 16:20 豆瓣down掉。

分类: linux, others 标签:

MAC上如何使用sed替换命令

2013年1月26日 评论已被关闭

mac上的sed命令貌似做了些许修改,-i参数不一样啦。。

MacBook-Pro:~ 2hei.net$ cat test.txt
abcd
MacBook-Pro:~ 2hei.net$ sed -i ‘s/abcd/1234/g’ test.txt
sed: 1: “test.txt”: undefined label ‘est.txt’

阅读全文…

分类: others 标签: ,

站点被封

2013年1月4日 评论已被关闭

blog久未更新,今天突然收到邮件,说我的站点影响了服务器的性能(reason: site causing performance problems),经检查,是多年前装着玩的一个discuz站点,mysql表占用了2.8GB空间,吼吼,从未维护过的bbs上面居然注册了很多用户,从log上看,真真不少流量,大伙玩的很happy,各个自娱自乐,宛然成了灌水乐园。。。

于是¥%……&*(%¥%,对不起鸟,数据库直接给drop掉,发布目录也给清空了,这下大家满意了吧!

分类: others 标签:

换掉Movable Type,启用Worldpress

2012年7月23日 1 条评论

PK  WorldPressMoveable Type

 

博客久未更新,今天来个大动作,下决心换掉Movable Type,启用Worldpress,至于替换的原因有很多,比如MT的模板不很给力、垃圾评论太多,再就是人之固有的喜新厌旧等等~。 目前暂不打算把MT里面旧的文件导过来,只是保留了MT的链接到WP。

一切从头,更换了theme和plugin, 此刻心情大好!

绳命,是剁么的回晃;人生,是入刺的井猜!

 

分类: others 标签:

nagios check_http 处理返回码302的情况

2009年12月16日 评论已被关闭

nagios check_http 处理返回码302的情况

使用nagios监控中发现这样一个问题,nagios的check_http对http返回码302的处理比较特殊,如果参数不当的话会影响监控的效果哦!

实际情况如下:
在web服务器配置的errpage页面指定了503跳转,如apache+resin的组合,如果apache找不到resin会返回503,捕获的页面会跳转到指定的页面上

1、正常情况:
/home/nagios/libexec/check_http -S -H 2hei.net -I 10.10.10.10 -u “/monitor.jsp” -P “” -s “OK”  -t 10
返回
HTTP OK HTTP/1.1 200 OK – 617 bytes in 0.345 seconds |time=0.345145s;;;0.000000 size=617B;;;0

如果页面返回值不包含“OK”,则
HTTP CRITICAL – string not found|time=0.034220s;;;0.000000 size=617B;;;0

如果停掉保留apache不动,停掉resin,则以外发生了,302跳转后状态仍然是OK,I服了U !!!
HTTP OK – HTTP/1.1 302 Found – 0.030 second response time |time=0.029908s;;;0.000000 size=517B;;;0

加入-v 参数后 看看详细结果:
https://2hei.net:443/monitor.jsp is 517 characters
STATUS: HTTP/1.1 302 Found
**** HEADER ****
Date: Wed, 16 Dec 2009 07:49:53 GMT
Server: Apache
Location: https://2hei.net/errorcode/503.html
Cache-Control: max-age=0
Expires: Wed, 16 Dec 2009 07:49:53 GMT
Vary: Accept-Encoding
Content-Length: 220
Connection: close
Content-Type: text/html; charset=iso-8859-1
**** CONTENT ****
<!DOCTYPE HTML PUBLIC “-//IETF//DTD HTML 2.0//EN”>
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href=”https://2hei.net/errorcode/503.html”>here</a>.</p>
</body></html>

HTTP OK – HTTP/1.1 302 Found – 0.030 second response time |time=0.029908s;;;0.000000 size=517B;;;0

丫难道是nagios check_http的bug?

在仔细看看nagios check_http 用法:

Usage: check_http -H <vhost> | -I <IP-address> [-u <uri>] [-p <port>]
       [-w <warn time>] [-c <critical time>] [-t <timeout>] [-L]
       [-a auth] [-f <ok | warn | critcal | follow>] [-e <expect>]
       [-s string] [-l] [-r <regex> | -R <case-insensitive regex>] [-P string]
       [-m <min_pg_size>:<max_pg_size>] [-4|-6] [-N] [-M <age>] [-A string]
       [-k string] [-S] [-C <age>] [-T <content-type>]

常用参数
-H 用于虚拟主机,并可以增加端口。例如,test.com:10000
-I IP地址
-S 基于SSL连接。默认端口为443
-u URL地址 “/”
-w 警告响应时间 响应时间超过指定时间则显示WARNING
-c 临界报警响应时间 响应时间超过设定时间则显示CRITICAL
-p 端口设定
-e 监测服务器反馈的第一行(状态)信息是否包含匹配字符
-N 不读取body部分,在读取header信息,这样相应速度比较快
-t 超时时间值  
-v 显示服务器反馈的所有信息
-r 正则表达式匹配反馈页信息
-R 同上,但可以不考虑大小写问题
–invert-regex 反馈信息中包含字符则报警
-L 反馈信息包含URL link
-a 对需要基础认证的,提供用户名和密码,获取反馈值

尝试使用了-e参数,问题搞定! yeah !!!

-e 指定check_http返回的第一行status中包含的字符串
STATUS: HTTP/1.1 302 Found

/home/nagios/libexec/check_http -S -H 2hei.net -I 10.10.10.10 -u “/monitor.jsp” -P “” -s “OK”  -t 10 -e “200”
这样只有返回码包含200的才会OK,其他状态码一律FATAL!
最后的command如下:
define command{
        command_name    check_https
        command_line    $USER1$/check_http -S -H $ARG1$ -I $HOSTNAME$ -u $ARG2$ -P $ARG3$ -s $ARG4$ -t $ARG5$ -e $ARG6$
        }

nagios的check_http果然很牛X。

分类: others 标签:

nginx+Django+memchached环境搭建备忘

2009年8月14日 评论已被关闭

系统环境
Kernal:Linux 2.6.9-78
nginx-0.7.61
pcre-7.9
Python version: 2.5.4
Django-1.1-py2.5
mysql-5.0.84
flup-1.0.2-py2.5
MySQL_python-1.2.3c1-py2.5-linux-i686
python_memcached-1.44-py2.5
setuptools-0.6c9-py2.5

1、nginx、python、mysql的安装可参考官方及网上的安装文档

2、安装django  http://www.djangoproject.com/
wget http://media.djangoproject.com/releases/1.1/Django-1.1.tar.gz
tar zxvf Django-1.1.tar.gz
cd Django-1.1
python setup.py install

3、Django以fastcgi方式启动需要
python-flup
wget http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz
tar zxvf flup-1.0.2.tar.gz
cd flup-1.0.2
python setup.py install

4、MySQL-python-1.2.3c1.tar.gz
下载地址: http://sourceforge.net/projects/mysql-python/files/

我在安装和配置中遇到的问题:
1、mysql数据库连接:
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: libmysqlclient_r.so.15: cannot open shared object file: No such file or directory
我曾经装过了mysql5.2,发现MYSQL_HOME/lib中没有libmysqlclient_r.so.15,倒是有libmysqlclient_r.so.16,可能是因为mysql版本比较高的缘故,或者是因为dj版本比较低??
所以我选择了mysql5.0
tar MySQL-python-1.2.3c1.tar.gz
cd MySQL-python-1.2.3c1
python setup.py build

会有如下报错:
_mysql.c:2516: error: `v’ undeclared (first use in this function)
_mysql.c:2527: error: `name’ undeclared (first use in this function)
_mysql.c:2528: error: `self’ undeclared (first use in this function)
error: command ‘gcc’ failed with exit status 1
解决办法是:
vi site.cfg
# The path to mysql_config.
# Only use this if mysql_config is not on your PATH, or you have some weird
# setup that requires it.
mysql_config = /home/2hei.net/mysql/bin/mysql_config
然后接续
python setup.py build
python setup.py install

2、实际中还有这个错误出现:
django.core.exceptions.ImproperlyConfigured: Error loading MySQLdb module: /lib/tls/libc.so.6: version `GLIBC_2.4′ not found (required by /home/yujingtao/.python-eggs/MySQL_python-1.2.3c1-py2.5-linux-i686.egg-tmp/_mysql.so
解决办法是:
vi /etc/ld.so.conf
add /home/2hei.net/mysql/lib
#ldconfig /etc/ld.so.conf

3、新建立一个Django的webapp
django-admin.py startproject myweb

4、Django的启动
#django作为独立启动
django manage.py runserver method=threaded 127.0.0.1:8080

#以FastCGI方式启动
python manage.py runfcgi method=threaded host=127.0.0.1 port=9000
因为我的Django是跟nginx配合使用的,所以普通用户在内网监听大于1024的端口即可
因为每次更改urls.py都需要重启一下fastcg,为了方便使用我写了一个脚本:

#!/bin/bash
#script-name: start_myweb.sh
#wirte by: 2hei at 2009/08/12
cd /home/2hei/djproject/
if [ $# -lt 1 ];then
echo “Usages: sh start_myweb.sh [start|stop|restart]”
exit 0
fi
if [ $1 = start ];then
  isrun=`ps aux|grep “manage.py runfcgi”|grep -v “grep”|wc -l`
  if [ $isrun -eq 1 ];then
    echo “dj has running!”
    exit 0
  else
    /home/python/bin/python myweb/manage.py runfcgi method=threaded host=127.0.0.1 port=9000 –settings=settings
  fi
elif [ $1 = stop ];then
  djid=`ps aux|grep “manage.py runfcgi”|grep -v “grep”|awk ‘{print $2}’`
  kill -9 $djid
elif [ $1 = restart ];then
  djid=`ps aux|grep “manage.py runfcgi”|grep -v “grep”|awk ‘{print $2}’`
  kill -9 $djid
  /home/python/bin/python myweb/manage.py runfcgi method=threaded host=127.0.0.1 port=9000 –settings=settings
else
  echo “Usages: sh start_myweb.sh [start|stop|restart]”
fi

5、关于nginx解析Django静态文件的处理
nginx.conf

        location /media/ {
                root /home/2hei.net/djproject/myweb;
                break;
        }

cp -r /home/python/lib/python2.5/site-packages/django/contrib/admin/media/ /home/2hei.net/djproject/myweb/
Django管理界面:
dj-admin.JPG

6、因为需要用到memcache,所以memcach与Django进行了结合:
urls.py
urlpatterns = patterns(”,
    (r’^admin/’, include(admin.site.urls)),
    (r’^status/cache/$’, ‘myweb.memcached_status.view’),

settings.py
CACHE_BACKEND = ‘memcached://127.0.0.1:11211/’

dj-memcache.JPG

—————end——————-

分类: others 标签: ,

linux限制用户密码尝试次数

2009年7月8日 评论已被关闭

设置方式:
vi /etc/pam.d/system-auth

auth        required      /lib/security/$ISA/pam_tally.so onerr=fail no_magic_root
account     required      /lib/security/$ISA/pam_tally.so deny=5 no_magic_root reset

#说明
deny=5 : Deny access if tally for this user exceeds 3 times.
lock_time=180 : Always deny for 180 seconds after failed attempt. There is also unlock_time=n option. It allow access after n seconds after failed attempt. If this option is used the user will be locked out for the specified amount of time after he exceeded his maximum allowed attempts. Otherwise the account is locked until the lock is removed by a manual intervention of the system administrator.
magic_root : If the module is invoked by a user with uid=0 the counter is not incremented. The sys-admin should use this for user launched services, like su, otherwise this argument should be omitted.
no_magic_root : Avoid root account locking, if the module is invoked by a user with uid=0

会有日志记录被锁定的用户
/var/log/faillog

清除被锁定的用户
crontab -l
*/30 * * * * /sbin/pam_tally –reset
或者
*/30 * * * * faillog -r

分类: others 标签: ,

linux下取得前3天前1小时前一分钟的时间(BT想法)

2009年4月14日 评论已被关闭

Linux下 取得前3天前1小时前一分钟的时间(BT想法)
date +%Y%m%d%H%M$s -d “3 days ago 1 hours ago 1 minutes ago” ;date +%Y%m%d%H%M$s
200904110904
200904141005

Freebsd中date使用
昨   天:date -v -24H “+%Y%m%d”     
上一月:date  -v  -1m  “+%Y%m” n
上一年:date  -v  -1y  “+%Y”

备忘

分类: others 标签: