写完“Linux服务器监控系统 ServMon V1.1”[原创]
[ 2007-8-31 18:23 | by 张宴 ]
[文章作者:张宴 本文版本:v1.1 最后修改:2007.08.31 转载请注明出处:http://blog.zyan.cc]
8月3日,我写了“Linux服务器监控系统 ServMon V1.0”,今天,ServMon V1.1 版本亮相。
ServMon的原理是用shell脚本定时抓取被监控Linux服务器上的信息,再用curl POST到监控机的PHP接口程序上,由PHP接口程序对信息进行分析,如果存在异常,则发送报警邮件给管理员。报警邮件演示页面请见:http://blog.zyan.cc/read.php/276.htm
ServMon V1.1 在 1.0 的基础上,增加了对Linux系统负载的监控,并编写了客户端自动安装包:
1、被监控端服务器(Linux)
(1)、下载并安装ServMon Client
注:此处的password为interface.php程序中设置的数据传输验证密码。
客户端安装包源码:
│
├─install
├─[src]
│ ├─[bin]
│ │ ├─diskstat_send
│ │ ├─loadstat_send
│ │ └─swapstat_send
│ ├─[cron]
│ │ └─servmon
│ └─[data]
屏幕演示:
8月3日,我写了“Linux服务器监控系统 ServMon V1.0”,今天,ServMon V1.1 版本亮相。
ServMon的原理是用shell脚本定时抓取被监控Linux服务器上的信息,再用curl POST到监控机的PHP接口程序上,由PHP接口程序对信息进行分析,如果存在异常,则发送报警邮件给管理员。报警邮件演示页面请见:http://blog.zyan.cc/read.php/276.htm
ServMon V1.1 在 1.0 的基础上,增加了对Linux系统负载的监控,并编写了客户端自动安装包:
1、被监控端服务器(Linux)
(1)、下载并安装ServMon Client
引用
wget http://blog.zyan.cc/soft/linux/servmon/servmon-1.1.linux.tar.gz
tar zxvf servmon-1.1.linux.tar.gz
cd servmon-1.1
./install -i http://yourdomain/servmon/interface.php password
tar zxvf servmon-1.1.linux.tar.gz
cd servmon-1.1
./install -i http://yourdomain/servmon/interface.php password
注:此处的password为interface.php程序中设置的数据传输验证密码。
客户端安装包源码:
│
├─install
├─[src]
│ ├─[bin]
│ │ ├─diskstat_send
│ │ ├─loadstat_send
│ │ └─swapstat_send
│ ├─[cron]
│ │ └─servmon
│ └─[data]
屏幕演示:
初步试用Squid的替代产品──Varnish Cache网站加速器[原创]
[ 2007-8-29 18:45 | by 张宴 ]
Varnish是一款高性能的开源HTTP加速器,挪威最大的在线报纸 Verdens Gang (vg.no) 使用3台Varnish代替了原来的12台squid,性能比以前更好。
Varnish的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算机系统的内存除了主存外,还包括了cpu内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此squid cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是Varnish cache设计架构。
Varnish可以在FreeBSD 6.0和Linux 2.6内核上运行。
1、编译安装varnish HTTP加速器:
2、简单启动varnish守护进程,用本机80端口去反向代理加速127.0.0.1:81上的Apache服务器:
Varnish官方网站:http://www.varnish-cache.org/
另有一份PDF文档,说明Varnish原理的:http://ishare.iask.sina.com.cn/cgi-bin/fileid.cgi?fileid=2163384
我测试了一下,在同等配置环境下,Varnish的性能确实要超过Squid,稳定性也不错,值得继续去深入研究。
Varnish的作者Poul-Henning Kamp是FreeBSD的内核开发者之一,他认为现在的计算机比起1975年已经复杂许多。在1975年时,储存媒介只有两种:内存与硬盘。但现在计算机系统的内存除了主存外,还包括了cpu内的L1、L2,甚至有L3快取。硬盘上也有自己的快取装置,因此squid cache自行处理物件替换的架构不可能得知这些情况而做到最佳化,但操作系统可以得知这些情况,所以这部份的工作应该交给操作系统处理,这就是Varnish cache设计架构。
Varnish可以在FreeBSD 6.0和Linux 2.6内核上运行。
1、编译安装varnish HTTP加速器:
引用
wget http://blog.zyan.cc/soft/linux/varnish/varnish-1.1.1.tar.gz
tar zxvf varnish-1.1.1.tar.gz
cd varnish-1.1.1
./configure --prefix=/usr/local/varnish
make && make install
tar zxvf varnish-1.1.1.tar.gz
cd varnish-1.1.1
./configure --prefix=/usr/local/varnish
make && make install
2、简单启动varnish守护进程,用本机80端口去反向代理加速127.0.0.1:81上的Apache服务器:
引用
/usr/local/varnish/sbin/varnishd -a :8080 -b 127.0.0.1:81 -p thread_pool_max=1500 -p thread_pools=5 -p listen_depth=512 -p client_http11=on -w 1,10000,120
Varnish官方网站:http://www.varnish-cache.org/
另有一份PDF文档,说明Varnish原理的:http://ishare.iask.sina.com.cn/cgi-bin/fileid.cgi?fileid=2163384
我测试了一下,在同等配置环境下,Varnish的性能确实要超过Squid,稳定性也不错,值得继续去深入研究。
买了辆二手自行车[原创]
[ 2007-8-28 22:05 | by 张宴 ]
找到一款不错的网站压力测试工具webbench[原创]
[ 2007-8-28 09:39 | by 张宴 ]
webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便。
1、适用系统:Linux
2、编译安装:
3、使用: 参数说明:-c表示并发数,-t表示时间(秒)
4、测试结果示例:
1、适用系统:Linux
2、编译安装:
引用
wget http://blog.zyan.cc/soft/linux/webbench/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make && make install
3、使用:
引用
webbench -c 500 -t 30 http://127.0.0.1/test.jpg
4、测试结果示例:
引用
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://127.0.0.1/test.jpg
500 clients, running 30 sec.
Speed=3230 pages/min, 11614212 bytes/sec.
Requests: 1615 susceed, 0 failed.
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
Benchmarking: GET http://127.0.0.1/test.jpg
500 clients, running 30 sec.
Speed=3230 pages/min, 11614212 bytes/sec.
Requests: 1615 susceed, 0 failed.
开源家族合照与自由软件T恤
[ 2007-8-22 16:35 | by 张宴 ]
开源家族汇聚一堂,在挂有Java之父James Gosling、GNU项目创始人Richard Stallman、GNU吉祥物老牛画像的房间里,拿着叉子的BSD小红魔Daemon、可爱的Linux小企鹅Tux、Java的Duke、Mozilla的怪兽坐在桌前,喝着Java牌水杯盛着的咖啡。
屋内的装饰品还有:perl骆驼,openssh河豚,apache羽毛,gtk方块,x方块,gnome脚印,gimp,OOo便条纸。
今天公司让我们挑选自由软件T恤,我1985年生,十二生肖属牛,就选了这件印有GNU牛头的:
更多好看的自由软件T恤款式见:http://www.zeuux.org/fashion/fashion.cn.html
PS:GNU计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。后来,许多个人、组织和企业将GNU系列自由软件和Linux内核结合起来,开发了基于GNU/Linux的Linux发行版,如Redhat、SuSE、Ubuntu等。
屋内的装饰品还有:perl骆驼,openssh河豚,apache羽毛,gtk方块,x方块,gnome脚印,gimp,OOo便条纸。
今天公司让我们挑选自由软件T恤,我1985年生,十二生肖属牛,就选了这件印有GNU牛头的:
更多好看的自由软件T恤款式见:http://www.zeuux.org/fashion/fashion.cn.html
PS:GNU计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。后来,许多个人、组织和企业将GNU系列自由软件和Linux内核结合起来,开发了基于GNU/Linux的Linux发行版,如Redhat、SuSE、Ubuntu等。
IP别名+TCP转发+端口映射实现跨网络访问[原创]
[ 2007-8-21 18:46 | by 张宴 ]
[文章作者:张宴 本文版本:v1.0 最后修改:2007.08.21 转载请注明出处:http://blog.zyan.cc]
我这两天在工作中遇到了一些问题,在今天下午全部解决,于是决定写一篇文章,将实现方法记录下来:
一、背景环境:
1、都是Linux服务器;
2、“服务器A”与“服务器C”不在同一网络,两者之间是不通的;
3、“服务器A”、“服务器C”分别与“服务器B”相通。
二、要实现的需求:
1、让“服务器A”上的PHP程序能够连接“服务器C”上的MySQL数据库(IP:10.10.1.4,端口:3306);
2、不允许在“服务器A”上的PHP程序中更改MySQL地址(10.10.1.4)和MySQL端口(3306)。
三、实现原理:
理论上从“服务器A”是无法直接连接“服务器C”的IP地址(10.10.1.4)及其3306端口的【图中的虚线】,但通过“IP别名+TCP转发+端口映射”,我在“服务器A”上的PHP程序无须作任何修改的情况下实现了这项功能【图中的实线】。
访问路线:“服务器A”上的PHP程序─→虚拟10.10.1.4:3306─→192.168.1.3:8520─→真实10.10.1.4:3306
四、实现方法:
我这两天在工作中遇到了一些问题,在今天下午全部解决,于是决定写一篇文章,将实现方法记录下来:
一、背景环境:
1、都是Linux服务器;
2、“服务器A”与“服务器C”不在同一网络,两者之间是不通的;
3、“服务器A”、“服务器C”分别与“服务器B”相通。
二、要实现的需求:
1、让“服务器A”上的PHP程序能够连接“服务器C”上的MySQL数据库(IP:10.10.1.4,端口:3306);
2、不允许在“服务器A”上的PHP程序中更改MySQL地址(10.10.1.4)和MySQL端口(3306)。
三、实现原理:
理论上从“服务器A”是无法直接连接“服务器C”的IP地址(10.10.1.4)及其3306端口的【图中的虚线】,但通过“IP别名+TCP转发+端口映射”,我在“服务器A”上的PHP程序无须作任何修改的情况下实现了这项功能【图中的实线】。
访问路线:“服务器A”上的PHP程序─→虚拟10.10.1.4:3306─→192.168.1.3:8520─→真实10.10.1.4:3306
四、实现方法:
采用curl库在PHP程序之间传递数组[原创]
[ 2007-8-16 18:59 | by 张宴 ]
[文章作者:张宴 本文版本:v1.1 最后修改:2007.08.23 转载请注明出处:http://blog.zyan.cc]
最近在工作中遇到一个问题:a.php程序需要将接收到的数据同时写到“线上运行的正式数据库”和“进行开发调试的测试数据库”。而测试数据库可能经常会面临对表结构、字段、配置信息做调整等问题,很不稳定,发生错误的概率很高,如果用a.php程序同时写“正式数据库”和“测试数据库”,势必影响到线上运行的正式服务。
于是,我想到用PHP curl扩展库将生成的$data数组post传递一份给b.php程序,然后a.php程序继续往下执行写“正式数据库”的代码。a.php程序将$data数组传递给b.php程序就完事了,至于b.php如何处理,就不关a.php的事了,b.php程序即使写“测试数据库”失败,也不会对a.php程序造成影响。
按照这种思路,我写了a.php和b.php的代码:
a.php程序源代码:
最近在工作中遇到一个问题:a.php程序需要将接收到的数据同时写到“线上运行的正式数据库”和“进行开发调试的测试数据库”。而测试数据库可能经常会面临对表结构、字段、配置信息做调整等问题,很不稳定,发生错误的概率很高,如果用a.php程序同时写“正式数据库”和“测试数据库”,势必影响到线上运行的正式服务。
于是,我想到用PHP curl扩展库将生成的$data数组post传递一份给b.php程序,然后a.php程序继续往下执行写“正式数据库”的代码。a.php程序将$data数组传递给b.php程序就完事了,至于b.php如何处理,就不关a.php的事了,b.php程序即使写“测试数据库”失败,也不会对a.php程序造成影响。
按照这种思路,我写了a.php和b.php的代码:
a.php程序源代码:
PHP截取中文字符串不出现?号的解决方法[原创]
[ 2007-8-15 18:51 | by 张宴 ]
[文章作者:张宴 本文版本:v1.0 最后修改:2007.08.15 转载请注明出处:http://blog.zyan.cc]
当PHP截取中英文混合字符串时,最后一个汉字经常被拆成两半,例:截取字符串的前18个字
当PHP截取中英文混合字符串时,最后一个汉字经常被拆成两半,例:截取字符串的前18个字
我的技术文章与计算机作品汇总页[原创]
[ 2007-8-14 20:04 | by 张宴 ]
我的技术文章与计算机作品汇总页
张宴(本页网址:http://blog.zyan.cc/tech/)
文章推荐级别:最高 较高 普通
★ Apache、Nginx及其他Web服务器
● [文章] Nginx虚拟主机多server_name的顺序问题 [作者:张宴]
● [文章] Nginx+PHP+MySQL双机互备、全自动切换方案 [作者:张宴]
● [文章] Nginx 0.7.x + PHP 5.2.6(FastCGI)+ MySQL 5.1 在128M小内存VPS服务器上的配置优化 [作者:张宴]
● [文章] 使用Nginx轻松实现开源负载均衡──9月20日在ChinaUnix技术沙龙上的演讲PPT [作者:张宴]
● [文章] Nginx 0.7.x + PHP 5.2.8(FastCGI)搭建胜过Apache十倍的Web服务器(第4版) [作者:张宴]
● [文章] 解决Nginx + PHP(FastCGI)遇到的502 Bad Gateway错误 [作者:张宴]
● [文章] 使用Nginx作为Web服务器的国内网站 [作者:张宴]
● [文章] Nginx 0.6.31 + PHP 5.2.6(FastCGI)搭建胜过Apache十倍的Web服务器(第3版) [作者:张宴]
● [文章] 为Apache编译添加mod_expires模块出错的解决笔记 [作者:张宴]
● [文章] 解决“HTTP/1.1 405 Method not allowed”问题,让静态文件响应POST请求 [作者:张宴]
● [文章] Nginx + PHP5(FastCGI)生产环境跑PHP动态程序可超过“700次请求/秒” [作者:张宴]
● [文章] 视频:Nginx versus Apache (两者的对比)
● [文章] Nginx 0.5.33 + PHP 5.2.5(FastCGI)搭建胜过Apache 10倍的Web服务器(第2版) [作者:张宴]
● [文章] Nginx 简单的负载均衡配置示例 [作者:张宴]
● [文章] Nginx 0.5.31 + PHP 5.2.4搭建可承受3万以上并发连接数,胜过Apache 10倍的Web服务器 [作者:张宴]
● [文章] 为Apache配置mod_deflat压缩输出 [作者:张宴]
● [文章] 修改Linux内核参数,减少TCP连接中的TIME-WAIT sockets [作者:张宴]
● [文章] 查看Apache并发请求数及其TCP连接状态 [作者:张宴]
● [文章] AutoAPM--Linux下自动编译Apache+PHP+MySQL脚本 [作者:张宴]
● [文章] Linux下Apache日志分析工具--AWStats安装使用 [作者:张宴]
★ PHP配置与优化
● [文章] 利用Xdebug分析PHP程序,找出性能瓶颈 [作者:张宴]
● [文章] 安装及配置eaccelerator-0.9.5加速PHP-5.2.1 [作者:张宴]
● [文章] Linux下为RPM方式安装的PHP添加GD库支持 [作者:张宴]
★ MySQL数据库
● [文章] 快捷启动、停止、重启、杀死指定端口MySQL进程的脚本 [作者:张宴]
● [文章] MySQL中文全文索引插件 mysqlcft 1.0.0 安装使用文档 [作者:张宴]
● [文章] 使用Google的开源TCMalloc库,提高MySQL在高并发情况下的性能 [作者:张宴]
● [文章] MySQL数据库服务器在Flickr、Fotolog、Wkipedia、Facebook等国际知名网站中的使用数量 [作者:张宴]
● [文章] 命令行方式管理MySQL数据库实例 [作者:张宴]
● [文章] MySQL中将字符串aaa批量替换为bbb的SQL语句 [作者:张宴]
● [文章] phpMyAdmin之一:可管理多台远程MySQL服务器的phpMyAdmin 2.10.2 [作者:张宴]
● [文章] phpMyAdmin之二:修改phpMyAdmin使其能够管理多台远程MySQL服务器 [作者:张宴]
● [文章] MySQL数据库故障解决──修复损坏的表 [作者:张宴]
★ Squid、Varnish、Memcached及其他缓存服务器
● [文章] 百度、新浪、Mixi、Apache社区赞助的开源key-value分布式存储系统 [作者:张宴]
● [文章] Memcached的代理服务器软件:magent使用小记 [作者:张宴]
● [文章] 利用shell命令操作Memcached [作者:张宴]
● [文章] 利用Tokyo Tyrant构建兼容Memcached协议、支持故障转移、高并发的分布式key-value持久存储系统 [作者:张宴]
● [文章] MySQL Memcache_engine的安装与使用 [作者:张宴]
● [源码] dbcached──“分布式 key-value 数据库内存缓存系统” [作者:张宴]
● [文章] 减少Linux下Squid服务器的TIME_WAIT套接字数量 [作者:张宴]
● [文章] 使用Varnish代替Squid做网站缓存加速器的详细解决方案 [作者:张宴]
● [文章] 找到一款批量清除Squid缓存的小工具 [作者:张宴]
● [文章] 初步试用Squid的替代产品──Varnish Cache网站加速器 [作者:张宴]
● [书籍] Squid中文权威指南 (在线版) (PDF下载) [作者:彭勇华]
● [文章] 清除指定squid缓存文件的脚本 [作者:张宴]
★ 其他
● [文章] 我的开源PHP中文分词扩展:PHPCWS 1.0.0 [作者:张宴]
● [文章] 一款不错的Linux命令行下的FTP客户端软件 [作者:张宴]
● [文章] 亿级数据的高并发通用搜索引擎架构设计 [作者:张宴]
● [文章] Linux下简单限制网卡的带宽 [作者:张宴]
● [文章] 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计 [作者:张宴]
● [文章] Linux服务器系统监控框架与MSN、E-mail、手机短信报警的实现 [作者:张宴]
● [文章] IE浏览器下同一网页多图片显示的瓶颈与优化 [作者:张宴]
● [文章] 又一个新浪UNIX开源软件项目──xbayDNS [项目团队:新浪研发中心──系统研发]
● [文章] 新浪发起的UNIX开源软件项目 [项目团队:新浪互动社区事业部──博客产品]
● [文章] YouTube 系统架构 [作者:Cuong Do & Kyle Cordes]
● [文章] 我所熟悉的网站负载均衡技术 [作者:张宴]
● [文章] Linux索引节点(inode)用满导致的一次故障 [作者:张宴]
● [文章] 一款不错的网站压力测试工具webbench [作者:张宴]
● [文章] IP别名+TCP转发+端口映射实现跨网络访问 [作者:张宴]
● [文章] Linux下快速搭建ntp时间同步服务器 [作者:张宴]
● [文章] Linux服务器监控系统 ServMon V1.1 [作者:张宴]
● [文章] Linux服务器监控系统 ServMon V1.0 [作者:张宴]
● [书籍] 针对服务器运行环境安装CentOS 4.X Linux [作者:张宴]
● [文章] 使用Linux的rsync命令实现:多服务器镜像同步 [作者:张宴]
● [文章] 用rsync实现网站镜像和备份
● [文章] Fedora Core 4.0 简体中文语言包的安装 [作者:张宴]
★ Linux命令与shell脚本
● [文章] PHPSH:Facebook开发的PHP Shell的安装与使用 [作者:张宴]
● [文章] PHP多进程并发控制的测试用例 [作者:张宴]
硬件设备
★ 负载均衡交换机
● [文章] 利用NetScaler和自行编写的健康检查脚本,完美解决多台MySQL Slave数据库的负载均衡 [作者:张宴]
● [文章] F5 BIG-IP负载均衡器配置实例与Web管理界面体验 [作者:张宴]
编程语言
★ PHP/JavaScript编程
● [文章] AJAXCDR:利用 Flash 完美解决 JavaScript 和 AJAX 跨域 HTTP POST/GET 表单请求 [作者:张宴]
● [文章] 支持MSNP15协议与离线消息的PHP MSN Class,可实现MSN机器人 [作者:张宴]
● [文章] 同一域名对应多个IP时,PHP获取远程网页内容的函数 [作者:张宴]
● [文章] 通过浏览器从SVN更新代码到Linux服务器的指定目录 [作者:张宴]
● [文章] 一个发送HTML邮件的PHP函数 [作者:张宴]
● [文章] 采用curl库在PHP程序之间传递数组 [作者:张宴]
● [文章] PHP截取中文字符串不出现?号的解决方法 [作者:张宴]
● [文章] PHP XML Library:一个不错的PHP XML操作类
● [文章] PHP中常用的字符串函数
● [文章] 钢笔手写体生成工具(PHP)V1.0 [作者:张宴]
● [文章] PHP实现http与https转化 [作者:张宴]
● [文章] 用GD库生成高质量的缩略图片
● [文章] 部分PHP问题总结
★ HTML/JS
● [文章] dp.SyntaxHighlighter介绍:在网页中加亮显示源代码的工具 [作者:张宴]
● [文章] IE浏览器flash控件的激活方式介绍 [作者:张宴]
● [文章] 防止电子邮件地址被搜索到的新方法 [作者:张宴]
● [文章] 网页制作:带有滚动条的表格 [作者:张宴]
Windows 2000/XP/2003/Vista
★ 软件分享
● [下载] PHPChina.com旗下的开源技术杂志《PHPer》第12期
● [网站] UnixSNS──Linux/Unix技术工程师社交网络
● [网站] 一个分类搜集了众多开源软件官方网址的站点
● [下载] 一款不错的开源密码管理软件──KeePass
● [下载] PHP编程的好工具:《PHP Designer 2007 专业版》
● [下载] 可以上传、下载文件的SSH客户端软件--SecureCRT绿色版
★ 其他
● [文章] 再谈Dr.COM宽带认证客户端共享上网破解V3.46(d13) [作者:张宴]
● [文章] 软件测试用例(Test Case)设计 [作者:Vince]
● [文章] IE7浏览器简体中文版的安装、设置和使用方法(并介绍了非正版Windows用户如何安装IE7) [作者:张宴]
● [文章] 如何寻找联想电脑驱动程序 [作者:张宴]
● [文章] Microsoft SQL Server数据库的备份与恢复 [作者:张宴]
● [文章] 解决IE浏览器打不开的办法 [作者:张宴]
个人计算机作品
★ 可下载或开放源代码的作品
● [软件] APMServ 拥有图形界面的快速搭建Apache、PHP、MySQL、ASP、Perl网站服务器平台的绿色软件
[作者:张宴]
● [软件] 《APMServ 5.2.6》:一键快速搭建Apache+PHP+MySQL+Nginx+Memcached+ASP平台的绿色软件 [作者:张宴]
● [插件] MySQL中文全文索引插件 mysqlcft 1.0.0 [作者:张宴]
● [源码] dbcached──“分布式 key-value 数据库内存缓存系统” [作者:张宴]
● [源码] Linux服务器监控系统 ServMon V1.1 [作者:张宴]
● [源码] Linux服务器监控系统 ServMon V1.0 [作者:张宴]
● [书籍] 针对服务器运行环境安装CentOS 4.X Linux 图文幻灯电子书 [作者:张宴]
● [源码] 钢笔手写体生成工具(PHP)V1.0 [作者:张宴]
● 更多>>>
★ 只提供部分源代码和信息的作品
● [架构] 基于Sphinx+MySQL的千万级数据全文检索(搜索引擎)架构设计 [作者:张宴]
● [作品] Linux服务器系统监控框架与MSN、E-mail、手机短信报警的实现 [作者:张宴]
● [架构] 以最少的Web服务器达到最大的性能──“互联星空播客” [作者:张宴]
● [演示] 大学期间开发的中南民族大学学生管理信息系统 [作者:张宴]
● [演示] 大学期间为北京博卡先锋软件开发有限公司定制开发的SAPM软件 [作者:张宴]
● [硬件] 自行打造的袖珍电脑主机 [作者:张宴]
● 更多>>>
本页内容将陆续增加修改。最后修改时间:2009年03月11日
4周年后,当商资网尘埃满地[原创]
[ 2007-8-10 20:36 | by 张宴 ]
2007年8月10日,在北京东长安饭店参加完新浪的个人能力发展培训完回来,决定写点文字,纪念我四年前创办的个人网站──商资网(http://www.zyan.cc)。商资网是一家国际贸易知识和实务参考网站,后来,我因为个人发展方向转入了网络技术领域,经历有限,停止了商资网的维护。
2003年8月10日,在“中南民族大学·国际经济与贸易专业”录取通知书所带来的喜悦中,我创办了商资网,拉起自己的外贸之帆驶向远洋。中途,我发现了一块更适合自己发展的新大陆,于是,我弃船登岸,在新大陆上建造了自己的技术家园,再后来,我做为系统工程师加入新浪公司,为播客而战斗。而商资网,依旧在码头停泊,年久失修,虽然它已经不再向目标行驶,但它货舱中满载的外贸文献,被阿里巴巴、慧聪等知名网站大量转载,在互联网络广为流传,帮助了一批又一批外贸人。
2003年8月10日,在“中南民族大学·国际经济与贸易专业”录取通知书所带来的喜悦中,我创办了商资网,拉起自己的外贸之帆驶向远洋。中途,我发现了一块更适合自己发展的新大陆,于是,我弃船登岸,在新大陆上建造了自己的技术家园,再后来,我做为系统工程师加入新浪公司,为播客而战斗。而商资网,依旧在码头停泊,年久失修,虽然它已经不再向目标行驶,但它货舱中满载的外贸文献,被阿里巴巴、慧聪等知名网站大量转载,在互联网络广为流传,帮助了一批又一批外贸人。
Linux下快速搭建ntp时间同步服务器[原创]
[ 2007-8-9 13:47 | by 张宴 ]
[文章作者:张宴 本文版本:v1.1 最后修改:2010.02.21 转载请注明出处:http://blog.zyan.cc]
一、搭建时间同步服务器
1、编译安装ntp server
注:如以上下载地址无法访问,请从ntp官方下载网页(http://www.ntp.org/downloads.html)寻找下载地址。
2、修改ntp.conf配置文件
①、第一种配置:允许任何IP的客户机都可以进行时间同步
将“restrict default kod nomodify notrap nopeer noquery”这行修改成:
配置文件示例:/etc/ntp.conf
②、第二种配置:只允许192.168.18.***网段的客户机进行时间同步
在restrict default nomodify notrap noquery(表示默认拒绝所有IP的时间同步)之后增加一行:
配置文件示例:/etc/ntp.conf
3、以守护进程启动ntpd
4、ntpd启动后,客户机要等几分钟再与其进行时间同步,否则会提示“no server suitable for synchronization found”错误。
二、配置时间同步客户机
增加一行,在每天的5点13分、9点13分、14点13分、19点13分与时间同步服务器进行同步
备注:如果客户机没有ntpdate,可以下载ntpdate.tar.gz到/usr/sbin/目录,然后解压:
一、搭建时间同步服务器
1、编译安装ntp server
wget http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2.6.tar.gz
tar zxvf ntp-4.2.6.tar.gz
cd ntp-4.2.6
./configure --prefix=/usr/local/ntp --enable-all-clocks --enable-parse-clocks
make && make install
tar zxvf ntp-4.2.6.tar.gz
cd ntp-4.2.6
./configure --prefix=/usr/local/ntp --enable-all-clocks --enable-parse-clocks
make && make install
注:如以上下载地址无法访问,请从ntp官方下载网页(http://www.ntp.org/downloads.html)寻找下载地址。
2、修改ntp.conf配置文件
vi /etc/ntp.conf
①、第一种配置:允许任何IP的客户机都可以进行时间同步
将“restrict default kod nomodify notrap nopeer noquery”这行修改成:
restrict default nomodify
配置文件示例:/etc/ntp.conf
②、第二种配置:只允许192.168.18.***网段的客户机进行时间同步
在restrict default nomodify notrap noquery(表示默认拒绝所有IP的时间同步)之后增加一行:
restrict 192.168.18.0 mask 255.255.255.0 nomodify
配置文件示例:/etc/ntp.conf
3、以守护进程启动ntpd
/usr/local/ntp/bin/ntpd -c /etc/ntp.conf -p /tmp/ntpd.pid
4、ntpd启动后,客户机要等几分钟再与其进行时间同步,否则会提示“no server suitable for synchronization found”错误。
二、配置时间同步客户机
vi /var/spool/cron/root
增加一行,在每天的5点13分、9点13分、14点13分、19点13分与时间同步服务器进行同步
13 5,9,14,19 * * * /usr/sbin/ntpdate 192.168.18.2
备注:如果客户机没有ntpdate,可以下载ntpdate.tar.gz到/usr/sbin/目录,然后解压:
中关村的夜,冷冷清清,一无白日的繁华。
写字楼的灯,稀稀散散,点缀都市夜班人。
迈出理想国际,放眼北四环,车如流水马如龙,公交站前人接踵。
夜色朦朦,我跃上公交,消失在夏日晚风之中。
车到终点家未至,上天无门,下地有路,跨入地铁,驶向郊野。
一场横贯北京的长途奔袭,终达目的。
从西向东,历时120分钟,只为将忙碌一天的女友揽入怀中。
写字楼的灯,稀稀散散,点缀都市夜班人。
迈出理想国际,放眼北四环,车如流水马如龙,公交站前人接踵。
夜色朦朦,我跃上公交,消失在夏日晚风之中。
车到终点家未至,上天无门,下地有路,跨入地铁,驶向郊野。
一场横贯北京的长途奔袭,终达目的。
从西向东,历时120分钟,只为将忙碌一天的女友揽入怀中。
命令行方式管理MySQL数据库实例[原创]
[ 2007-8-6 16:53 | by 张宴 ]
[文章作者:张宴 本文版本:v1.0 最后修改:2007.08.06 转载请注明出处:http://blog.zyan.cc]
我一直习惯用phpMyAdmin对MySQL数据库进行管理,曾修改了一个《可管理多台远程MySQL服务器的phpMyAdmin 2.10.2》。但有些机器上因为安全等因素,只设置了允许从本机访问自身的MySQL端口,而且没有安装Apache和PHP,因而不能使用phpMyAdmin。于是,我只好使用命令行方式来对MySQL数据库进行管理。为了方便以后从命令行操作数据库可以更方便(拷贝、粘贴),我写下了这篇文章。
一、从命令行登录MySQL数据库服务器
1、登录使用默认3306端口的MySQL
2、通过TCP连接管理不同端口的多个MySQL(注意:MySQL4.1以上版本才有此项功能)
3、通过socket套接字管理不同端口的多个MySQL
4、通过端口和IP管理不同端口的多个MySQL
二、数据库操作SQL语句
1、显示服务器上当前存在什么数据库
2、创建名称为rewin的数据库
3、删除名称为rewin的数据库
我一直习惯用phpMyAdmin对MySQL数据库进行管理,曾修改了一个《可管理多台远程MySQL服务器的phpMyAdmin 2.10.2》。但有些机器上因为安全等因素,只设置了允许从本机访问自身的MySQL端口,而且没有安装Apache和PHP,因而不能使用phpMyAdmin。于是,我只好使用命令行方式来对MySQL数据库进行管理。为了方便以后从命令行操作数据库可以更方便(拷贝、粘贴),我写下了这篇文章。
一、从命令行登录MySQL数据库服务器
1、登录使用默认3306端口的MySQL
/usr/local/mysql/bin/mysql -u root -p
2、通过TCP连接管理不同端口的多个MySQL(注意:MySQL4.1以上版本才有此项功能)
/usr/local/mysql/bin/mysql -u root -p --protocol=tcp --host=localhost --port=3307
3、通过socket套接字管理不同端口的多个MySQL
/usr/local/mysql/bin/mysql -u root -p --socket=/tmp/mysql3307.sock
4、通过端口和IP管理不同端口的多个MySQL
/usr/local/mysql/bin/mysql -u root -p -P 3306 -h 127.0.0.1
二、数据库操作SQL语句
1、显示服务器上当前存在什么数据库
SHOW DATABASES;
2、创建名称为rewin的数据库
CREATE DATABASE rewin;
3、删除名称为rewin的数据库
DROP DATABASE rewin;
运河之岸四惠桥[原创]
[ 2007-8-5 23:09 | by 张宴 ]
女友的单位有一项活动,在北京南四环的花乡桥举行。我在网上查了一下公交线路,去花乡桥需要在四惠桥换乘。北京的立交桥太复杂,我怕那可爱的家伙在四惠桥那儿转转就分不清东南西北了,于是决定送送她。
四惠对我来说,还是比较熟悉的,记得大三暑假,也就是一年前的这个7月,我曾作为PHP程序员在这附近的一家网络公司实习过,学到了不少团队开发的东西,也第一次体会到了在北京工作的滋味。一年之后,重回此地,感慨万千。
我牵着女友的手一路前行,因为对路线很清楚,从“四惠地铁站”到“四惠桥边的东四环辅路657路公交站牌”,没花多少时间。我们上了车,直奔目标。南四环相对偏避,车辆较少,交通不像北四环那样拥堵,很喜欢那种一路飞驰的感觉……
注:以上的北京四惠桥地区卫星图截自 http://maps.google.com/
四惠对我来说,还是比较熟悉的,记得大三暑假,也就是一年前的这个7月,我曾作为PHP程序员在这附近的一家网络公司实习过,学到了不少团队开发的东西,也第一次体会到了在北京工作的滋味。一年之后,重回此地,感慨万千。
我牵着女友的手一路前行,因为对路线很清楚,从“四惠地铁站”到“四惠桥边的东四环辅路657路公交站牌”,没花多少时间。我们上了车,直奔目标。南四环相对偏避,车辆较少,交通不像北四环那样拥堵,很喜欢那种一路飞驰的感觉……
注:以上的北京四惠桥地区卫星图截自 http://maps.google.com/
试用微软的“Windows Live Mail Desktop”邮件客户端软件
[ 2007-8-5 18:58 | by 张宴 ]
今天,我将自己zyan.cc域名的MX记录绑定了微软的“Windows Live Custom Domains”免费自定义域名邮箱,注册了类似 的邮箱,每个邮箱的空间大小为2G。邮箱Web登录地址为:http://mail.live.com/
然后,我下载了微软的“Windows Live Mail Desktop”邮件客户端软件,它可以发送、收取 hotmail 和 Live Mail 的电子邮件,还有两项重要的功能就是可以同步服务器和客户端的电子邮件文件夹、可以使用MSN的联系人列表。由于 hotmail 和 Live Mail 免费邮箱不支持POP3和SMTP协议,所以 Foxmail 等一般的邮件客户端软件无法收发 hotmail 和 Live Mail 的邮件,而“Windows Live Mail Desktop”除了支持POP3和SMTP协议外,还支持HTTP协议,可以通过URL地址 http://mail.services.live.com/DeltaSync_v1.0.0/sync.aspx 收发 hotmai l和 Live Mail 邮件。
然后,我下载了微软的“Windows Live Mail Desktop”邮件客户端软件,它可以发送、收取 hotmail 和 Live Mail 的电子邮件,还有两项重要的功能就是可以同步服务器和客户端的电子邮件文件夹、可以使用MSN的联系人列表。由于 hotmail 和 Live Mail 免费邮箱不支持POP3和SMTP协议,所以 Foxmail 等一般的邮件客户端软件无法收发 hotmail 和 Live Mail 的邮件,而“Windows Live Mail Desktop”除了支持POP3和SMTP协议外,还支持HTTP协议,可以通过URL地址 http://mail.services.live.com/DeltaSync_v1.0.0/sync.aspx 收发 hotmai l和 Live Mail 邮件。