存档

‘linux’ 分类的存档

check_nginx pnp4nagios 模版

2010年11月25日 eric 1 条评论

首先不好意思,最近几天由于公司极个人的有点忙,所以就没有及时做check_nginx的模版,今天闲下来,把PNP模版做出来了,感官上还好,由于我把 serveraccepts 、handled、requests 都做到了 PNP模版里,可能他们的图会占用的图比较多,如果你只想把 ActiveConn、reading、writing、waiting 图绘出来,可以把 serveraccepts 、handled、requests 注视掉。

1.首先添加check_nginx.sh 监控

nginx $> wget www.nginxs.com/download/check_nginx.sh

nginx $> mv check_nginx.sh /usr/local/nagios/libexec/

nginx $> vim /usr/local/nagios/etc/objects

nginx $> vim commands.cfg
#  添加:

define command{
        command_name check_nginx
        command_line $USER1$/check_nginx.sh -u $ARG1$ -p $ARG2$ -w $ARG3$ -c $ARG4$
}
分类: linux, nagios 标签: ,

nagios监控nginx status

2010年11月22日 eric 没有评论

网上已经有nagios 的 nginx的脚本了,有通过本地拿数据通过check_nrpe 传输给nagios的,也有pl写的通过get status 页面来获得数据的。 我自己也做了个。通过wget nginx status页面,来拆分数据·来实现报警功能的。至于出图,暂时还没有做测试。稍后会把出图数据以及pnp模版发布上来。 脚本如下: nginx $> cat check_nginx.sh #!/bin/bash PROGNAME=`basename $0` VERSION=”Version 1.0″ AUTHOR=”2010.11.18-www.nginxs.com” ST_OK=0 ST_WR=1 ST_CR=2 ST_UK=3 print_version() {         echo “$VERSION $AUTHOR” } print_help() {         print_version $PROGNAME  $VERSION         echo “$PROGNAME is a Nagios plugin to monitor nginx status”         echo “Use of wget nginxstatus page” [...]

分类: linux 标签: ,

sed 过滤html标签

2010年11月19日 eric 没有评论

  今天看到这么一道题目·如果过滤html标签 html标签是这样的: <html><head><title>Hello World</title></head> <body>Welcome to the world of regexp!</body></html> 当时没犹豫就输入 nginx $> sed ‘s/<.*>//g’  index.html 结果显示空白两行·自己笨没办法·查了下google 原来是这样的 nginx $> sed ‘s/<[^<]*>//g’ index.html Hello World Welcome to the world of regexp! [] 里的正则表达式意思是说 只过滤以

分类: linux 标签: ,

rsync windows 与 linux之间同步

2010年11月16日 eric 2 条评论

由于业务需求必须要用到windows服务器,可是数据要如何与linux共享呢?最开始一直用最古老的windows共享,然后 linux来挂载·心里总觉得怪怪的,有个疙瘩,总是怀疑这个古老的共享方式给我带来麻烦,所以这种方式用在生产上就是一个不确定性因素。后来看到了windows也支持rsync,需要下载cwRsyncServer。把我的这个疙瘩也就解开了。在windows下安装rsync服务,linux同步就是了。 安装 cwRsyncServer 要注意的是 要输入你 window服务器上的 用户名和密码。 修改 C:\Program Files\ICW\rsyncd.conf 配置文件 use chroot = false strict modes = false hosts allow = * log file = rsyncd.log uid = 0 gid = 0 [work] path = /cygdrive/d/work read only = false ignore errors transfer logging = yes # 因为我的windows 没暴露在外网所以我匿名同步就可以 不需要以下这参数 # auth users [...]

分类: linux 标签: ,

thttpd-2.21b php-5.3.3模块

2010年10月29日 eric 2 条评论

由于2.25b+php-5.2.11版本,昨天测试上传有问题·试这改了很多源码,只支持了火狐浏览器上传小文件,而IE浏览器则直接返回该页无法显示,今天下下来 php5.3.3最新版的PHP,看了下thttpd 的源码,只支持thttpd 2.21b.然后就试着安装了下·现在可以了上传了支持 POST上传了!

下载源码包:
thttpd $> wget http://cn2.php.net/get/php-5.3.3.tar.bz2/from/cn.php.net/mirror
thttpd $> wget http://www.acme.com/software/thttpd/thttpd-2.21b.tar.gz

1.安装thttpd php补丁

thttpd $> tar jxvf php-5.3.3.
thttpd $> tar zxvf thttpd-2.21b.tar.gz
thttpd $> cd php-5.3.3
thttpd $> ./configure –prefix=/usr/local/php –with-thttpd=../thttpd-2.21b
thttpd $> make install

2.安装 thttpd

thttpd $> cd thttpd-2.21b
thttpd $> ./configure –prefix=/usr/local/thttpd
thttpd $> sed -i ‘s#getline#get_line#g’ extras/htpasswd.c
#不然会报错,上篇文章已经说原因了
thttpd $> make
thttpd $> mkdir -p /usr/local/thttpd
thttpd $> mkdir -p /usr/local/thttpd/{man,sbin,www,etc,logs}
thttpd $> mkdir -p /usr/local/thttpd/man/{man1,man8}
thttpd $> mkdir -p /usr/local/thttpd/www/cgi-bin
# thttpd-2.21b 版本的安装脚本写的更软弱·所有要手动创建这些目录
thttpd $> make install

分类: linux 标签: , , ,

thttpd+php 不加载php.ini 问题

2010年10月26日 eric 没有评论

昨天安装了thttpd+php,关闭php报错机制,于是修改了php.ini,重启了thttpd,没有生效,然后看phpinfo(),Loaded Configuration File 项是 (none),然后编译加上参数 –with-config-file-path= 指定一个位置,重新编译完thttpd 和 php后,启动 thttpd 依然是这样,后来看PHP 官方顿时明白了,php作为thttpd的模块需要修创建环境变量,官方如下: php.ini 的搜索路径如下(按顺序): * SAPI 模块所指定的位置(Apache 2 中的 PHPIniDir 指令,CGI 和 CLI 中的 -c 命令行选项,NSAPI 中的 php_ini 参数,THTTPD 中的 PHP_INI_PATH 环境变量) *HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath(Windows 注册表位置) *PHPRC 环境变量 *当前工作目录(对于 CLI) *web 服务器目录(对于 SAPI 模块)或 PHP 所在目录(Windows 下其它情况) *Windows 目录(C:\windows 或 C:\winnt),或 –with-config-file-path 编译时选项指定的位置 修改后,居然还是不行·弄来弄去是因为 thttpd 的安全 chroot的路径问题·我没有用到 [...]

分类: linux 标签: , ,

轻量型thttpd+php5

2010年10月25日 eric 1 条评论

thttpd是一个非常小巧的轻量级web server,它非常非常简单,仅仅提供了HTTP/1.1和简单的CGI支持,thttpd 也类似于lighttpd,对于并发请求不使用fork()来派生子进程处理,而是采用多路复用(Multiplex)技术来实现。因此效能很好。thttpd还有一个较为引人注目的特点:基于URL的文件流量限制,这对于下载的流量控制而言是非常方便的。象Apache就必须使用插件实现,效率较thttpd低。
php有 thttpd 编译选项,可以作为thttpd模块,这样就比nginx lighttpd 的 php-fpm 更节省资源,相应速度要快!但是目前 thttpd 对PHP的支持限于版本的要求,今天搜索搜索到有一达人出了php5.2.11版本的补丁。

下载php-5.2.11-thttpd-2.25b
thttpd $> wget http://download2.3tera.net/oss/files/osm/thttpd-2.25b/php-5.2.11-thttpd-2.25b.tar.bz2

下载 thttpd-2.25b
thttpd $> wget http://www.acme.com/software/thttpd/thttpd-2.25b.tar.gz

1. 创建用户
thttpd $> groupadd -g 33 www
thttpd $> useradd -g 33 www

2. 编译php-5.2.11 作为 thttpd模块
thttpd $> tar jxvf php-5.2.11-thttpd-2.25b.tar.bz2
thttpd $> cd php-5.2.11
thttpd $> ./configure –prefix=/usr/local/php5 –with-thttpd=/root/thttpd-2.25b #这里我就默认安装的,你需要什么模块自行添加
thttpd $> make
thttpd $> make install

3.安装 thttpd-2.25b
thttpd $> tar zxvf thttpd-2.25b.tar.gz
thttpd $> cd thttpd-2.25b
thttpd $> ./configure –prefix=/usr/local/thttpd
thttpd $> sed -i ‘s#getline#get_line#g’ extras/htpasswd.c #在这里必须要修改一下htpasswd.c源码,不然会出现

分类: linux 标签: ,

python写的备份mysql自动上传ftp服务器

2010年7月1日 eric 1 条评论

这几天没有怎么去研究nginx,闲来无事,写了一个python脚本·写的有点乱,以后慢慢精简,慢慢进化.
功能:
备份 mysql 的数据库,备份到 /home/eric 目录下,保留5天的备份文件过期删除,自动上传到 ftp server 服务器。

分类: linux, mysql 标签: , ,

chkconfig添加脚本

2010年6月8日 eric 2 条评论

今天发现blog打不开了,ping了下IP,可以ping通,然后PUTTY连接到服务器,uptime发现服务器昨天18点重启过,哎,国内的VPS商真的是不能用啊,技术太差,真的想自己买几台服务器,来搞VPS出租,绝对比他们专业,不会动不动就重启,动不动就连接不上。可能是我租用的这家是用的免费版的vmware吧。好了不发牢骚了,说下重点。知道服务器重启过,发现是nginx、mysql、php-fpm没起来。上写完脚本后。我只直接用了下 chkconfig name on 没想到根本没起作用,自己大意了,说下我是如何解决的吧。

chkconfig –help
chkconfig 版本 1.3.30.1 – 版权 (C) 1997-2000 Red Hat, Inc.
在 GNU 公共许可的条款下,本软件可以被自由发行。

用法: chkconfig –list [name]
chkconfig –add
chkconfig –del

chkconfig [--level ]

分类: linux 标签: , ,

linux 软raid5,mdadm设置

2010年6月4日 eric 没有评论

RAID 是冗余磁盘阵列(Redundant Array of Inexpensive Disk)的简称。它是把多个磁盘组成一个阵列,当作单一磁盘使用。它将数据以分段(striping)的方式分散存储在不同的磁盘中,通过多个磁盘的同时读写,来减少数据的存取时间,并且可以利用不同的技术实现数据的冗余,即使有一个磁盘损坏,也可以从其他的磁盘中恢复所有的数据。简单地说,其好处就是:安全性高、速度快、数据容量大。 磁盘阵列根据其使用的技术不同而划分了等级,称为RAID level,目前公认的标准是RAID 0~RAID 5。其中的level并不代表技术的高低,RAID 5并不高于RAID 4 ,RAID 0并不低于RAID 2 ,至于选择哪一种RAID需视用户的需求而定。下面分别对常用的RAID 0、RAID 1、RAID 5进行简单的介绍。 1.安装 mdadm apt-get install mdadm 2.创建raid5 mdadm -C /dev/md0 -l5 -n3 /dev/sd[bcd] 3.给raid5 创建文件系统 mkfs.ext3 /dev/md0 4.挂载raid5 mount /dev/md0 /mnt 5.开机自动 挂载 vim /etc/fstab /dev/md0        /mnt            ext3    defaults        0       0 测试。 1.模拟设备 /dev/sdc 出问题 /dev/md0 –fail /dev/sdc cat /proc/mdstat Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] md0 : active raid5 sdc[3](F) sdb[0] sdd[2]       1048448 blocks level 5, 64k chunk, algorithm 2 [3/2] [U_U] unused devices: <none> mdadm -D /dev/md0 /dev/md0:         Version : 00.90.03   Creation Time : Fri Jun  4 11:41:00 2010      Raid Level : raid5      Array Size : 1048448 (1024.05 MiB 1073.61 MB)   Used Dev Size : 524224 (512.02 MiB 536.81 MB)    Raid Devices : 3   Total Devices : 3 Preferred Minor : 0     Persistence : Superblock is persistent     Update Time : Fri Jun  4 14:48:03 2010           State : clean, degraded  Active Devices : 2 Working Devices : 2  Failed Devices : 1   Spare Devices : 0          Layout : left-symmetric      Chunk Size : 64K            UUID : f39bdcc7:315315a3:7ea9c5a9:da3e6fb8 (local to host raid1)          Events : 0.38     Number   Major   Minor   RaidDevice State        0       8       16        0      active sync   /dev/sdb        1       0        0        1      removed        2       8       48        2      active sync   /dev/sdd        3       8       32        -      faulty spare   /dev/sdc 2.移除 损坏设备 /dev/sdc mdadm /dev/md0 –remove /dev/sdc /dev/md0:         Version : 00.90.03   Creation Time : Fri Jun  4 11:41:00 2010      Raid Level : raid5      Array Size : 1048448 (1024.05 MiB 1073.61 MB)   Used Dev Size : 524224 (512.02 MiB 536.81 MB) [...]

分类: linux 标签: , ,