灌溉梦想,记录脚步

系统平均负载(Load average)

  

        在Linux系统中,uptime、w、top等命令都会有系统平均负载load average的输出.
  系统平均负载被定义为在特定时间间隔内运行队列中的平均进程树。
  如果一个进程满足以下条件则其就会位于运行队列中:
  - 它没有在等待I/O操作的结果
  - 它没有主动进入等待状态(也就是没有调用’wait’)
  - 没有被停止(例如:等待终止)
  例如:
  [root@www2 init.d]# uptime
  7:51pm up 2 days, 5:43, 2 users, load average: 8.13, 5.90, 4.94
  命令输出的最后内容表示在过去的1、5、15分钟内运行队列中的平均进程数量。
  一般来说只要每个CPU的当前活动进程数不大于3那么系统的性能就是良好的,如果每个CPU的任务数大于5,那么就表示这台机器的性能有严重问题。对于上面的例子来说,假设系统有两个CPU,那么其每个CPU的当前任务数为:8.13/2=4.065。这表示该系统的性能是可以接受的。
 

超详细 Windows 7 与 XP、Vista 特性对照表

windows_7 windows_xp windows_vista
w7

15款语言学习2.0网络服务

语言的学习,除了平时基本的普通的听说读写练习外,加上网络的帮助或许对您来说会事半功倍,下面就为大家总结15款对您进行语言学习会有所帮助的网络服务及应用。
包括语言学习 SNS、单词学习与记忆、互助翻译等几类。

语言学习 SNS
1. 爱拓奇(italki)

WebApp副刊:15款语言学习2.0服务 [#8] - 爱拓奇(italki) - by sfox

爱拓奇(italki) 是一个免费的语言学习社交网络和学习资源平台,在爱拓奇您可以:

  1. 寻找世界各地的语言伙伴,并在线实时交换练习对方的母语;
  2. 找到最好的语言学习资源:网站、在线课程、语言播客、视频、词典、软件、CD等;
  3. 预览和下载大量学习外语的文档、讲义,也可上传您自己的学习文档与大家分享;
  4. 提问语言学习方面的问题,也可以答题帮助别人学习你的母语;
  5. 参与编辑维基课本,帮助人们学习语言,也可创建自己的独立页面,贡献语言知识;
  6. 创建和加入一个有关语言学习的小组,结交来自世界各地的朋友,了解异国文化;
  7. 还有很多有趣而实用的有关语言学习的功能。(详细介绍

网站链接:http://www.italki.com/

2. Sanbit

WebApp副刊:15款语言学习2.0服务 [#8] - sanbit - by sfox

Sanbit 是创新的 Web 2.0 式语言学习互动平台,支持中文显示,能帮助您有效而快速地学习和练习外语,并加强听、说、读、写等各方面的能力。您可以浏览和创建新词汇及词汇表、阅读并学习文章、练习写作与听力、使用录音练习口语、提出疑难问题、进行强化知识的游戏、寻找朋友等,还可以通过使用母语写作、录音等为其他学习者提供资源以互相帮助、交流互动、实际运用。(详细介绍

网站链接:http://sanbit.com/

3. Palabea

WebApp副刊:15款语言学习2.0服务 [#8] - palabea - by sfox

Palabea 是一个开放的语言社区,其最大的特色在于您可以加入或自行建立虚拟课堂及学校,与其他用户一起学习并交流经验、资料等,如果您某种语言学得特别好(例如母 语)也可以向他们传授知识课程等。您可以寻找语言伙伴、在线老师、文档资料等,还能通过社区进行交流,互动性十分强。

网站链接:http://www.palabea.net/

4. SharedTalk

WebApp副刊:15款语言学习2.0服务 [#8] - shared talk - by sfox

SharedTalk 是一个致力于语言交换和语言学习的社区,其会员来自全球各地,大家通过聊天交流进行外语的学习与练习。可与来自全球不同国家的朋友进行语音和文本聊天,练 习口语技巧、提高语言能力,还可以寻找最佳的语言交换伙伴。会员可得到属于自己的邮箱,用电子邮件与语言伙伴进行交流练习。(现在好像暂时注册不了,大家 可以继续关注)

网站链接:http://www.sharedtalk.com/

5. 英来网(Englive)

WebApp副刊:15款语言学习2.0服务 [#8] - 英来网(Englive) - by sfox

英来网(Englive) 是一个专注于英语学习的应用与交互的互联网平台, 它为英语学习和爱好者提供了个人的词汇本、语句本、笔记本,行云流水的在线背单词,语句分享,维基笔记,还有同学同事好友列表,学习日历,博客 Widget(博词)等若干有趣和实用的学习资源;同时,英来网还提供完整的Englive iPhone应用移植,为iPhone 用户随时随地的深入学习英文创造无限的可能。(via)

网站链接:http://www.englive.cn/

6. Speak2Me(跟我说)

WebApp副刊:15款语言学习2.0服务 [#8] - Speak2Me(跟我说) - by sfox

Speak2Me(跟我说) 是由灵通集团全新推出的一个产品,是为解决困扰中国学习者多年的”哑巴英语”问题而设计的。公司的研发团队经过5年的精心研究和努力,把先进的英语口语教 育方法和现代语音识别技术相结合,推出了一套全新的英语口语学习系统Speak2Me。在这个系统中,学习者可以在虚拟的英语环境中,与智能机器人 Lucy 练习口语。与目前中国英语教育市场中的其它产品不同,Speak2Me突破了传统口语练习方法的局限和弊端,为学习者提供了一个与模拟外教 “对话”的机会;另外也采用了独特的课程设计方法,使每一个学习者可以对每一课的内容进行反复练习,并不断发现新的语言点,让学习者在一个愉快的环境中轻 松学会英语口语!(via) 网站还设立了方便用户交流的“问问吧”论坛等社区。

网站链接:http://www.speak2me.cn/

7. Lang-8(语言吧)

WebApp副刊:15款语言学习2.0服务 [#8] - Lang-8(语言吧) - by sfox

Lang-8(语言吧) 是一个提供国际间语言交流及联系的社会关系网络服务(SNS)平台。你既可以用正在学习的语言书写日志,精通该语言的朋友会自动帮你修改错误,也可以主动去帮助其他正在学习你精通的语言的朋友。通过Lang-8,每个使用者不仅可以很好的教授和学习语言更能够增进彼此的国际交流。(via)

网站链接:http://www.lang-8.com/

8. Pop English

WebApp副刊:15款语言学习2.0服务 [#8] - pop english - by sfox

PopEnglish 是一个英语学习社区,具备中英文两种语言界面,你可以在上面寻找朋友,进行一对一的帮教,另外还有博客、论坛、Pop群、影音等有益于提高英语水平的栏目,应该说是一个有助于学习英语的好去处。(via)

网站链接:http://www.popenglish.tv/

单词学习与记忆
9. Vocaber

WebApp副刊:15款语言学习2.0服务 [#8] - Vocaber - by sfox

Vocaber 是英语及其它外语单词的在线学习、记忆、测试服务,根据记忆规律提示您进行单词复习,可轻松地创建并分享单词列表,可使用自己和其他人的单词列表进行测 试。您只需要将单词及其意思复制粘贴上去创建一个列表就可以进行测试了,测试的方式就如听写一般,给出中文意思,您输入对应的单词。有进度查看,可随时跟 进。另外,您可以设置单词表是否公开、其他人是否可以纠正和编辑、添加单词等。(详细介绍

网站链接:http://www.vocaber.com/

10. Learn10

WebApp副刊:15款语言学习2.0服务 [#8] - learn10 - by sfox

Learn10 可以帮助您进行单词的学习和记忆,当您成为网站的会员,系统就会每天自动将学习任务发送给您–学习10个新的外语单词,有助于让您形成良好的学习习惯。 需要学习的单词可通过 Facebook, Twitter, Email, RSS, iPhone应用 以及能嵌入到网站或博客中使用的widget 等多种方式为您提供。您还可以进行听力、测试、翻译等练习。

网站链接:http://www.learn10.com/

11. Cramberry

WebApp副刊:15款语言学习2.0服务 [#8] - Cramberry - by sfox

Cramberry 是一款使用闪示卡(Flash Cards)的方式帮助您进行学习记忆的在线工具,可跟踪记忆进度,提供 iPhone 应用。使用方法很简单,添加项目,然后在里面添加卡片,分别在正面(Front)和背面(Back)输入需要学习、记忆的相关内容(单词就是不错的选择)即可,支持简单的字体格式编辑、添加图片等。(详细介绍

网站链接:http://www.cramberry.net/

12. Forvo

WebApp副刊:15款语言学习2.0服务 [#8] - forvo - by sfox

Forvo 是专门学习单词发音的网络服务,涵盖了全球多种语言(目前有200多种,包括粤语),每个单词都有分类,包括语种、用途和属性分类,注册用户可录制新单词 的发音、建立学习列表、评论和为其他用户的发音打分、下载单词发音的MP3文件、与其他用户交流等。可惜的是没有单词翻译功能,部分单词也只是以英语对其 进行解释。

网站链接:http://forvo.com/

13. Lexipedia

WebApp副刊:15款语言学习2.0服务 [#8] - lexipedia - by sfox

Lexipedia 是一款脑图式的在线字典,采用脑图的形式表达中心词及相关词语的关系。我们在学习语法的时候,针对一个词总有很多相关的词,比如同义词、反义词、动词形式 等等,Lexipedia 正是采用这种脑图的形式,很直观的展示各词之间的关系。目前,Lexipedia 提供英、西班牙、法、德、荷兰、意大利六国语言的词库,可输入中心词通过检索得到相关词的脑图,一般包括名词、动词、形容词、副词、同义词、反义词、模糊 这些相关的词组。脑图这种新颖的形式可以很直观的展示各词之间的关系,并提供详细的解释和读音。可帮助记忆单词。(via)

网站链接:http://lexipedia.com/

互助翻译
14. Social Translator

WebApp副刊:15款语言学习2.0服务 [#8] - social translator - by sfox

Social Translator 是刚上线不久的新型社区服务,注册成员可以添加翻译词条、行文和项目,可以发出翻译请求,也可以选择其它词条进行翻译。网站现在有一个颇为庞大的项目构想:翻译网上的视频。(via) 通过这种互助的翻译可提高自己的外语水平,也能帮助他人,与更多的朋友进行交流。

网站链接:http://www.socialtranslator.org/

15. Jollo

WebApp副刊:15款语言学习2.0服务 [#8] - jollo - by sfox

Jollo 可调用Google翻译、有道翻译、SDL、Microsoft翻译、Yahoo宝贝鱼、WorldLingo 等六大主流在线翻译工具来进行翻译,目前支持40多种语言的互相翻译,您可以从六种翻译结果中择优选取,也可对结果进行打分。可自动识别需要翻译的文字语 种。另外,注册用户可添加自己的翻译结果,经常到网站上进行这样的互助翻译锻炼,并通过评分检查翻译效果,也能取得一定的提高。

RRD TOOL安装

  1.下载
  wget http://oss.oetiker.ch/rrdtool/pub/rrdtool.tar.gz
  下载完毕,解压缩:
  tar zxf rrdtool.tar.gz
  cd rrdtool
  2.安装必要的软件
  看看你的机器有没有这些包,cgilib、zlib、libpng、freetype、libart_lgpl,没有就装吧。
  设定环境变量:
  set BUILD_DIR=/tmp/rrdbuild
  set INSTALL_DIR=/usr/local/rrdtool
  开始安装
  安装cgilib
  cd $BUILD_DIR
  wget http://down1.chinaunix.net/distfiles/cgilib-0.5.tar.gz
  tar zxf cgilib-0.5.tar.gz
  cd cgilib-0.5
  make CC=gcc CFLAGS="-O3 -fPIC -I."
  mkdir -p $BUILD_DIR/lb/include
  cp *.h $BUILD_DIR/lb/include
  mkdir -p $BUILD_DIR/lb/lib
  cp libcgi* $BUILD_DIR/lb/lib
  安装zllib
  cd $BUILD_DIR
  wget http://oss.oetiker.ch/rrdtool/pub/libs/zlib-1.2.3.tar.gz
  zlib-1.2.3.tar.gz
  cd zlib-1.2.3
  env CFLAGS="-O3 -fPIC" ./configure –prefix=$BUILD_DIR/lb
  make
  make install
  安装libpng
  cd $BUILD_DIR
  wget http://oss.oetiker.ch/rrdtool/pub/libs/libpng-1.2.18.tar.gz
  tar zxvf libpng-1.2.8-config.tar.gz
  cd libpng-1.2.8-config
  env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC"
  ./configure –disable-shared –prefix=$BUILD_DIR/lb
  make
  make install
  安装freetype
  cd $BUILD_DIR
  wget http://oss.oetiker.ch/rrdtool/pub/libs/freetype-2.3.5.tar.bz2
  tar zxvf freetype-2.3.5.tar.bz2
  cd freetype-2.3.5
  env CPPFLAGS="-I$BUILD_DIR/lb/include" LDFLAGS="-L$BUILD_DIR/lb/lib" CFLAGS="-O3 -fPIC"
  ./configure –disable-shared –prefix=$BUILD_DIR/lb
  make
  make install
  安装libart_lgpl
  cd $BUILD_DIR
  wget http://oss.oetiker.ch/rrdtool/pub/libs/libart_lgpl-2.3.17.tar.gz
  tar zxvf libart_lgpl-2.3.17.tar.gz
  cd libart_lgpl-2.3.17
  env CFLAGS="-O3 -fPIC" ./configure –disable-shared –prefix=$BUILD_DIR/lb
  make
  make install
  如果你用bash/sh/ash/ksh/zsh,就执行下面的:
  IR=-I$BUILD_DIR/lb/include
  CPPFLAGS="$IR $IR/libart-2.0 $IR/freetype2 $IR/libpng"
  LDFLAGS="-L$BUILD_DIR/lb/lib"
  CFLAGS=-O3
  export CPPFLAGS LDFLAGS CFLAGS
  真的开始安装rrd了
  cd $BUILD_DIR/rrdtool
  ./configure –prefix=$INSTALL_DIR –disable-python && make clean && make && make install
  安装完毕啦。(详细参见rrd安装包中的doc/rrdbuild.txt)

Centos5.2下Cacti安装配置

  一、编译安装基本环境
  使用 yum 程序安装所需开发包(以下为标准的 RPM 包名称)
  #rpm –import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
  #yum -y install ntp vim-enhanced gcc gcc-c++ gcc-g77 flex bison utoconf automake bzip2-devel curses-devel zlib-devel ibjpeg-devel libpng-devel libtiff-devel freetype-devel libXpm-devel gettext-devel pam-devel kernel
  二、 编译安装软件包
  源码编译安装所需包(Source)
  1) GD2
  # cd /usr/local/src
  # tar xvf gd-2.0.35.tar.gz
  # cd gd-2.0.35
  # ./configure –prefix=/usr/local/gd2
  # make
  # make install
  2) LibXML2
  # cd /usr/local/src
  # tar xvf libxml2-2.6.29.tar.bz2
  # cd libxml2-2.6.29
  # ./configure –prefix=/usr/local/libxml2
  # make
  # make install
  3) LibMcrypt
  # cd /usr/local/src
  # tar xvf libmcrypt-2.5.8.tar.bz2
  # cd libmcrypt-2.5.8
  # ./configure –prefix=/usr/local/libmcrypt
  # make
  # make install
  4). OpenSSL和OpenSSH
  # cd /usr/local/src
  # tar xvf openssl-0.9.8g.tar.gz
  # cd openssl-0.9.8g
  # ./config –prefix=/usr/local/openssl
  # make
  # make test
  # make install
  # cd ..
  # tar xvf openssh-5.0p1.tar.gz
  # cd openssh-5.0p1
  # ./configure \
  ”–prefix=/usr” \
  ”–with-pam” \
  ”–with-zlib” \
  ”–sysconfdir=/etc/ssh” \
  ”–with-ssl-dir=/usr/local/openssl” \
  ”–with-md5-passwords”
  # make
  # make install
  配置:
  1) 禁用 SSH V1 协议
  # vi /etc/ssh/ssh_config
  找到#Protocol 2,1改为:Protocol 2
  2) 禁用服务器端GSSAPI
  找到以下两行,并将它们注释:
  GSSAPIAuthentication yes
  GSSAPICleanupCredentials yes
  3) 禁用 DNS 名称解析
  找到:#UseDNS yeas改为:UseDNS no
  4)禁用客户端 GSSAPI
  # vi /etc/ssh/ssh_config 找到:
  GSSAPIAuthentication yes
  将这行注释掉。
  最后,确认修改正确后重新启动 SSH 服务
  # service sshd restart
  # ssh -v
  确认 OpenSSH 以及 OpenSSL 版本正确。
  三、编译安装A.M.P环境
  1.下载软件编译安装
  1)下载软件
  # cd /usr/local/src
  httpd-2.2.8.tar.gz
  mysql-5.0.51b.tar.gz
  php-5.2.6.tar.bz2
  2) 安装MySQL
  查看分析你的CPU型号:
  http://gentoo-wiki.com/Safe_Cflags 查找您的GCC编译参数.
  确定系统CPU类型:
  # cat /proc/cpuinfo | grep “model name”
  执行后会看到系统中CPU的具体型号,记下CPU型号。
  # tar xvf mysql-5.0.51b.tar.gz
  # cd mysql-5.0.51b
  # vi mysql.sh
  CHOST=”i686-pc-linux-gnu”
  CFLAGS=”-march=prescott -O2 -pipe -fomit-frame-pointer”
  CXXFLAGS=”${CFLAGS}”
  ./configure \
  ”–prefix=/usr/local/mysql” \
  ”–localstatedir=/data/mysql/data” \
  ”–with-comment=Source” \
  ”–with-server-suffix=-LinuxTone” \
  ”–with-mysqld-user=mysql” \
  ”–without-debug” \
  ”–with-big-tables” \
  ”–with-charset=gbk” \
  ”–with-collation=gbk_chinese_ci” \
  ”–with-extra-charsets=all” \
  ”–with-pthread” \
  ”–enable-static” \
  ”–enable-thread-safe-client” \
  ”–with-client-ldflags=-all-static” \
  ”–with-mysqld-ldflags=-all-static” \
  ”–enable-assembler” \
  ”–without-isam” \
  ”–without-innodb” \
  ”–without-ndb-debug”
  make && make install
  mkdir -p /data/mysql/data
  useradd mysql -d /data/mysql -s /sbin/nologin
  /usr/local/mysql/bin/mysql_install_db –user=mysql
  cd /usr/local/mysql
  chown -R root:mysql .
  chown -R mysql /data/mysql/data
  cp share/mysql/my-huge.cnf /etc/my.cnf
  cp share/mysql/mysql.server /etc/rc.d/init.d/mysqld
  chmod 755 /etc/rc.d/init.d/mysqld
  chkconfig –add mysqld
  /etc/rc.d/init.d/mysqld start
  cd /usr/local/mysql/bin
  for i in *; do ln -s /usr/local/mysql/bin/$i /usr/bin/$i; done
  #sh mysql.sh 即可开始编译.
  3) 编译安装Apache
  # cd /usr/local/src
  # tar xvf httpd-2.2.8.tar.gz
  # cd httpd-2.2.8
  ./configure \
  ”–prefix=/usr/local/apache2″ \
  ”–with-included-apr” \
  ”–enable-so” \
  ”–enable-deflate=shared” \
  ”–enable-expires=shared” \
  ”–enable-rewrite=shared” \
  ”–enable-static-support” \
  ”–disable-userdir”
  make
  make install
  echo ‘/usr/local/apache2/bin/apachectl start ‘ >> /etc/rc.local
  4).编译安装PHP
  # cd /usr/local/src
  # tar xjvf php-5.2.6.tar.bz2
  # cd php-5.2.6
  ./configure \
  ”–prefix=/usr/local/php” \
  ”–enable-discard-path” \
  ”–enable-force-cgi-redirect” \
  ”–with-config-file-path=/usr/local/php/etc” \
  ”–enable-zend-multibyte” \
  ”–with-mysql=/usr/local/mysql” \
  ”–with-mysqli=/usr/local/mysql/bin/mysql_config” \
  ”–with-libxml-dir=/usr/local/libxml2/bin” \
  ”–with-xmlrpc” \
  ”–with-gd=/usr/local/gd2″ \
  ”–with-jpeg-dir” \
  ”–with-png-dir” \
  ”–with-bz2″ \
  ”–with-freetype-dir” \
  ”–with-zlib-dir ” \
  ”–with-openssl=/usr/local/openssl” \
  ”–with-mcrypt=/usr/local/libmcrypt” \
  ”–enable-sysvsem” \
  ”–enable-inline-optimization” \
  ”–enable-soap” \
  ”–enable-gd-native-ttf” \
  ”–enable-ftp” \
  ”–enable-mbstring” \
  ”–enable-exif” \
  ”–disable-debug” \
  ”–disable-ipv6″ \
  ”–enable-sockets” \
  ”–with-snmp”
  make
  make install
  mkdir /usr/local/php/etc
  cp php.ini-dist /usr/local/php/etc/php.ini
  2、整合Apache与PHP及系统初化配置.
  1)整合Apache与PHP
  # vi /usr/local/apache2/conf/httpd.conf
  找到:
  AddType application/x-gzip .gz .tgz
  在该行下面添加
  AddType application/x-httpd-php .php
  找到:
  <IfModule dir_module>
  DirectoryIndex index.html
  </IfModule>
  将该行改为
  <IfModule dir_module>
  DirectoryIndex index.html index.htm index.php
  </IfModule>
  找到:
  #Include conf/extra/httpd-mpm.conf
  #Include conf/extra/httpd-info.conf
  #Include conf/extra/httpd-vhosts.conf (虚拟主机配置文件存放目录.)
  #Include conf/extra/httpd-default.conf
  去掉前面的”#”号,取消注释。
  注意:以上 4 个扩展配置文件中的设置请按照相关原则进行合理配置!
  修改完成后保存退出。
  # /usr/local/apache2/bin/apachectl restart
  2)查看确认L.A.M.P环境信息
  在网站根目录放置 info.php 脚本,检查phpinfo中的各项信息是否正确。
  <?php
  phpinfo();
  ?>
  3)配置虚拟主机:
  #vi /usr/local/apache2/conf/extra/httpd-vhosts.conf
  NameVirtualHost *:80
  <VirtualHost *:80>
  ServerAdmin hamgua@gmail.com
  DocumentRoot “/data/www/wwwroot”
  ServerName cacti.test.comServer
  Alias cacti.test.cn
  # ErrorLog “logs/dummy-host.example.com-error_log”
  # CustomLog “|/usr/sbin/cronolog /data/logaccess_www.linuxtone.org.%Y%m%d” combined
  </VirtualHost>
  四、安装采集工具
  SNMP全名是简单网络管理协议,几乎所有的网络设备(交换机、路由器等)和操作系统默认安装了认都安装了snmp服务。
  Cacti 系统所在的服务器并不一定要安装SNMP服务,但是Cacti系统采集数据要用到Net-SNMP包里面的几个工具,所以最好也在Cacti服务器上安装 SNMP服务。我们可以直接在系统中运行snmpwalk和snmpget看是否有该命令,如果有则无需安装了。
  如果操作系统没有安装SNMP,可以到本文最后的资源里的Net-SNMP官方网站上下载源码或二进制包进行安装。
  #yum -y install net-snmp*
  #rpm -qa|grep snmp
  net-snmp-libs-5.3.1-24.el5_2.2
  net-snmp-perl-5.3.1-24.el5_2.2
  net-snmp-utils-5.3.1-24.el5_2.2
  net-snmp-5.3.1-24.el5_2.2
  net-snmp-devel-5.3.1-24.el5_2.2
  五、安装rrdtool
  我这里使用的是rpm包安装
  #wget
  ftp://rpmfind.net/linux/fedora/updates/9/i386.newkey/rrdtool-1.3.4-2.fc9.i386.rpm
  #rpm -ivh rrdtool-1.3.4-2.fc9.i386.rpm
  warning: rrdtool-1.3.4-2.fc9.i386.rpm:
  Header V3 DSA signature: NOKEY, key ID 6df2196f
  error: Failed dependencies:
  dejavu-lgc-fonts is needed by rrdtool-.3.4-2.fc9.i386
  #yum -y install dejavu-lgc-fonts
  #rpm -ivh rrdtool-1.3.4-2.fc9.i386.rpm
  warning: rrdtool-1.3.4-2.fc9.i386.rpm: Header V3 DSA signature: NOKEY, key ID 6df2196f
  Preparing… ###########################################[100%]
  1:rrdtool ########################################### [100%]
  六、安装配置cacti
  下载cacti的源码包
  #wget http://www.cacti.net/downloads/cacti-0.8.7b.tar.gz
  #tar zvxf cacti-0.8.7b.tar.gz
  #mv cacti-0.8.7b /data/www/wwwroot/cacti
  #cd /data/www/wwwroot/cacti
  配置帐号及mysql:
  groupadd cactiuser
  add -g cacti cactiuser
  mysql -uroot -p
  mysql> create database cactidb;
  mysql> grant all on cactidb.* to root;
  mysql> grant all on cactidb.* to root@localhost;
  mysql> grant all on cactidb.* to cactiuser;
  mysql> grant all on cactidb.* to cactiuser@localhost identified by ‘123456’;
  mysql> flush privileges;
  mysql> exit
  Catci配置:
  # mysql cactidb -uroot -p < cacti.sql
  # chown -R cactiuser rra/ log/
  # chmod -R 777 rra/ log/
  # vi include/config.php
  $database_type = “mysql”;
  $database_default = “cactidb”;
  $database_hostname = “localhost”;
  $database_username = “cactiuser”;
  $database_password = “123456”;
  $database_port = “3306”;
  配置让系统每五分钟去取一次snmp数据:
  #crontab -u cactiuser -e //注意要用cactiuser就是你刚刚建立的那个帐号去运行crontab
  */5 * * * * /usr/local/php/bin/php /data/www/wwwroot/cacti/poller.php > /dev/null 2>&1
  七、客户端snmp配置
  #yum -y install net-snmp*
  #vi /etc/snmp/snmpd.conf
  # SNMP configfile for Linux servers
  com2sec local 127.0.0.1 public
  com2sec local 192.168.22.0/24 public
  group MyROGroup v1 local
  group MyROGroup v2c local
  group MyROGroup usm local
  view all included .1 80
  access MyROGroup “” any noauth exact all none nones
  yslocation (/etc/snmpd/snmpd.conf)
  syscontact Me <hamgua@gmail.com>
  #service snmpd restart
  八、配置完成
  打开浏览器输入
  http://ip/cacti
  输入用户名密码,默认的是admin,admin
  然后提示修改密码
  好了配置结束
  尽情的去享受cacti吧!

Nginx+MySQL+PHP+phpmyadmin+memcache+eaccelerator

在CentOS 5.2和CentOS 4.7 Server版本中测试均无任何错误,

一,首先升级更新系统各种库(基本完整)

yum -y install patch make gcc gcc-c++ autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel
yum -y install fonts-chinese scim-chewing scim-pinyin scim-tables-chinese

二,下载所需软件:

wget http://leoz.googlecode.com/files/nginx-0.7.19.tar.gz
wget http://leoz.googlecode.com/files/php-5.2.6.tar.gz
wget http://leoz.googlecode.com/files/php-5.2.6-fpm-0.5.9.diff.gz
wget http://leoz.googlecode.com/files/libiconv-1.12.tar.gz
wget http://leoz.googlecode.com/files/libmcrypt-2.5.8.tar.gz
wget http://leoz.googlecode.com/files/mcrypt-2.6.7.tar.gz
wget http://leoz.googlecode.com/files/memcache-2.2.3.tgz
wget http://leoz.googlecode.com/files/mhash-0.9.9.tar.gz
wget http://leoz.googlecode.com/files/pcre-7.7.tar.gz
wget http://leoz.googlecode.com/files/eaccelerator-0.9.5.3.tar.bz2
wget http://leoz.googlecode.com/files/mysql-5.0.22.tar.gz
wget http://leoz.googlecode.com/files/phpMyAdmin-3.1.1-all-languages.tar.gz

三,安装PHP环境支持包(就是上面的包)

tar zxvf libiconv-1.12.tar.gz
cd libiconv-1.12/
./configure –prefix=/usr/local
make
make install
cd ../

tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure
make
make install
/sbin/ldconfig
cd libltdl/
./configure –enable-ltdl-install
make
make install
cd ../../

tar zxvf mhash-0.9.9.tar.gz
cd mhash-0.9.9/
./configure
make
make install
cd ../

cp /usr/local/lib/libmcrypt.* /usr/lib
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2

tar zxvf mcrypt-2.6.7.tar.gz
cd mcrypt-2.6.7/
./configure
make
make install
cd ../

四,安装Mysql

tar -zxvf mysql-5.0.22.tar.gz
cd mysql-5.0.22
./configure –prefix=/usr/local/webserver/mysql –enable-assembler –with-charset=utf8 –enable-thread-safe-client –with-extra-charsets=all –without-innodb –without-isam
make;make install
cd ../
groupadd mysql
useradd -g mysql mysql
cp /usr/local/webserver/mysql/share/mysql/my-medium.cnf /etc/my.cnf
/usr/local/webserver/mysql/bin/mysql_install_db –user=mysql
chown -R mysql /usr/local/webserver/mysql/var
chgrp -R mysql /usr/local/webserver/mysql/.
cp /usr/local/webserver/mysql/share/mysql/mysql.server /etc/init.d/mysql
chmod 755 /etc/init.d/mysql
chkconfig –level 345 mysql on
echo “/usr/local/mysql/lib/mysql” >> /etc/ld.so.conf
echo “/usr/local/lib” >>/etc/ld.so.conf
ldconfig
ln -s /usr/local/webserver/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/webserver/mysql/include/mysql /usr/include/mysql
service mysql start
/usr/local/mysql/bin/mysqladmin -u root password root
service mysql restart
service mysql stop

五,安装PHP

tar zxvf php-5.2.8.tar.gz
gzip -cd php-5.2.8-fpm-0.5.10.diff.gz | patch -d php-5.2.8 -p1
cd php-5.2.8/
./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –with-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config –with-iconv-dir=/usr/local –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –disable-rpath –enable-discard-path –enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curl –with-curlwrappers –enable-mbregex –enable-fastcgi –enable-fpm –enable-force-cgi-redirect –enable-mbstring –with-mcrypt –with-gd –enable-gd-native-ttf –with-openssl –with-mhash –enable-pcntl –enable-sockets
make ZEND_EXTRA_LIBS=’-liconv’
make install
cp php.ini-dist /usr/local/php/etc/php.ini
cd ../

make
make install
cp php.ini-dist /usr/local/php/etc/php.ini
cd ../

六,安装配置eaccelerator+memcache

tar zxvf memcache-2.2.3.tgz
cd memcache-2.2.3/
/usr/local/php/bin/phpize
./configure –with-php-config=/usr/local/php/bin/php-config
make
make install
cd ../

tar jxvf eaccelerator-0.9.5.3.tar.bz2
cd eaccelerator-0.9.5.3/
/usr/local/php/bin/phpize
./configure –enable-eaccelerator=shared –with-php-config=/usr/local/php/bin/php-config
make
make install
cd ../

sed -i ‘s#extension_dir = “./”#extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/”\nextension = “memcache.so”\n#’ /usr/local/php/etc/php.ini
sed -i ‘s#output_buffering = Off#output_buffering = On#’ /usr/local/php/etc/php.ini

mkdir -p /usr/local/eaccelerator_cache
cat >>/usr/local/php/etc/php.ini<<EOF
[eaccelerator]
zend_extension=”/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so”
eaccelerator.shm_size=”1″
eaccelerator.cache_dir=”/usr/local/eaccelerator_cache”
eaccelerator.enable=”1″
eaccelerator.optimizer=”1″
eaccelerator.check_mtime=”1″
eaccelerator.debug=”0″
eaccelerator.filter=””
eaccelerator.shm_max=”0″
eaccelerator.shm_ttl=”3600″
eaccelerator.shm_prune_period=”3600″
eaccelerator.shm_only=”0″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″
eaccelerator.keys = “disk_only”
eaccelerator.sessions = “disk_only”
eaccelerator.content = “disk_only”
#[eaccelerator]
#zend_extension=”/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so”
#eaccelerator.shm_size=”128″
#eaccelerator.cache_dir=”/usr/local/eaccelerator_cache”
#eaccelerator.enable=”1″
#eaccelerator.optimizer=”1″
#eaccelerator.check_mtime=”1″
#eaccelerator.debug=”0″
#eaccelerator.filter=””
#eaccelerator.shm_max=”0″
#eaccelerator.shm_ttl=”300″
#eaccelerator.shm_prune_period=”120″
#eaccelerator.shm_only=”0″
#eaccelerator.compress=”1″
#eaccelerator.compress_level=”9″

七,创建www用户和用户组,

groupadd www
useradd -g www www
mkdir -p /web/www
chmod +w /web/www
mkdir -p /web/logs
chmod 777 /web/logs

chown -R www:www /web/www
rm -f /usr/local/php/etc/php-fpm.conf
cp conf/php-fpm.conf /usr/local/php/etc/php-fpm.conf

echo “ulimit -SHn 51200” >/root/run.sh
echo “/usr/local/php/sbin/php-fpm start” >>/root/run.sh

八,安装Nginx

tar zxvf pcre-7.7.tar.gz
cd pcre-7.7/
./configure
make && make install
cd ../
tar zxvf nginx-0.7.19.tar.gz
cd nginx-0.7.19/
./configure –user=www –group=www –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module
make && make install
cd ../
rm -f /usr/local/nginx/conf/nginx.conf
cp conf/nginx.conf /usr/local/nginx/conf/nginx.conf
sed -i ‘s/www.xxxx.com/’$domain’/g’ /usr/local/nginx/conf/nginx.conf

rm -f /usr/local/nginx/conf/fcgi.conf
cp conf/fcgi.conf /usr/local/nginx/conf/fcgi.conf

echo “/usr/local/nginx/sbin/nginx” >>/root/run.sh
chmod 777 /root/run.sh
service mysql start
/root/run.sh

九,安装phpmyadmin

tar zxvf phpMyAdmin-3.1.1-all-languages.tar.gz
mv phpMyAdmin-3.1.1-all-languages /web/www/phpmyadmin

十,加入开机自启动

echo “ulimit -SHn 51200” >>/etc/rc.local
echo “/usr/local/php/sbin/php-fpm start” >>/etc/rc.local
echo “/usr/local/nginx/sbin/nginx” >>/etc/rc.local

MySql集群(经验证)

  一、整体环境

系统环境:CentOS 5.2 64位 MySql-Max-5.1.5
  IP分配:
  Server1: db1 10.0.50.141
  Server2: mgm 10.0.50.142
  Server3: db2 10.0.50.143
  Servers1和Server3作为实际配置MySQL集群的服务器。
  节点分配:
  [ndbd(NDB)] 2 node(s)
  id=2 @10.0.50.141 (Version: 5.1.5, Nodegroup: 0)
  id=3 @10.0.50.143 (Version: 5.1.5, Nodegroup: 0, Master)
  [ndb_mgmd(MGM)] 1 node(s)
  id=1 @10.0.50.142 (Version: 5.1.5)
  [mysqld(API)] 2 node(s)
  id=4 @10.0.50.143 (Version: 5.1.5)
  id=5 @10.0.50.141 (Version: 5.1.5)
  Server2是作为管理端。

  二、在Server1和Server3上安装MySQL

  从http://www.mysql.com上下载mysql-max-5.1.5-alpha-linux-x86_64-glibc23.tar.gz
  以下步骤需要在Server1和Server3上各做一次
  # mv mysql-max-5.1.5-alpha-linux-x86_64-glibc23.tar.gz /usr/local/
  # cd /usr/local/
  # groupadd mysql
  # useradd -g mysql mysql
  # tar zxvf mysql-max-5.1.5-alpha-linux-x86_64-glibc23.tar.gz
  # rm -f mysql-max-4.1.9-pc-linux-gnu-i686.tar.gz
  # mv mysql-max-4.1.9-pc-linux-gnu-i686 mysql
  # cd mysql
  # scripts/mysql_install_db –user=mysql
  # chown -R root .
  # chown -R mysql data
  # chgrp -R mysql .
  # cp support-files/mysql.server /etc/rc.d/init.d/mysqld
  # chmod +x /etc/rc.d/init.d/mysqld
  # chkconfig –add mysqld
  此时不要启动MySQL!

  三、安装并配置管理节点服务器(Server2)

  作为管理节点服务器,Server2需要ndb_mgm和ndb_mgmd两个文件:
  从http://www.mysql.com上下载mysql-max-5.1.5-alpha-linux-x86_64-glibc23.tar.gz
  # mkdir /usr/src/mysql-mgm
  # cd /usr/src/mysql-mgm
  # tar -zxvf mysql-max-5.1.5-alpha-linux-x86_64-glibc23.tar.gz
  # rm mysql-max-5.1.5-alpha-linux-x86_64-glibc23.tar.gz
  # cd mysql-max-4.1.9-pc-linux-gnu-i686
  # mv bin/ndb_mgm .
  # mv bin/ndb_mgmd .
  # chmod +x ndb_mg*
  # mv ndb_mg* /usr/bin/
  # rm -rf /usr/src/mysql-mgm
  现在开始为这台管理节点服务器建立配置文件:
  # mkdir /var/lib/mysql-cluster
  # cd /var/lib/mysql-cluster
  # vi config.ini
  在config.ini中添加如下内容:
  [NDBD DEFAULT]
  NoOfReplicas=2
  [MYSQLD DEFAULT]
  [NDB_MGMD DEFAULT]
  [TCP DEFAULT]
  # Managment Server
  [NDB_MGMD]
  HostName=10.0.50.142 #管理节点服务器Server2的IP地址
  # Storage Engines
  [NDBD]
  HostName=10.0.50.141 #MySQL集群Server1的IP地址
  DataDir= /var/lib/mysql-cluster
  [NDBD]
  HostName=10.0.50.143 #MySQL集群Server3的IP地址
  DataDir=/var/lib/mysql-cluster
  # 以下2个[MYSQLD]可以填写Server1和Server3的主机名。
  # 但为了能够更快的更换集群中的服务器,推荐留空,否则更换服务器后必须对这个配置进行更改。
  [MYSQLD]
  [MYSQLD]
  保存退出后,启动管理节点服务器Server2:
  # ndb_mgmd #这命令这样只能在/var/lib/mysql-cluster下执行. 因为config.ini在这个目录下
  建完后会产生几个文件如下:
  ndb_1_cluster.log ndb_1_out.log ndb_1.pi
  启动管理节点后应该注意,这只是管理节点服务,并不是管理终端。因而你看不到任何关于启动后的输出信息。
 

  四、配置集群服务器并启动MySQL

  在Server1和Server3中都需要进行如下改动:
  # vi /etc/my.cnf
  [mysqld]
  ndbcluster
  ndb-connectstring=10.0.50.142 #Server2的IP地址
  [mysql_cluster]
  ndb-connectstring=10.0.50.142 #Server2的IP地址
  保存退出后,建立数据目录并启动MySQL:
  # mkdir /var/lib/mysql-cluster
  # cd /var/lib/mysql-cluster
  # /usr/local/mysql/bin/ndbd –initial
  # 生成:ndb_2_fs ndb_2_out.log ndb_2.pid 文件
  # /etc/rc.d/init.d/mysqld start
  可以把/usr/local/mysql/bin/ndbd加到/etc/rc.local中实现开机启动。
  注意:只有在第一次启动ndbd时或者对Server3的config.ini进行改动后才需要使用–initial参数!

  五、检查工作状态

  回到管理节点服务器Server2上,并启动管理终端:
  # /usr/bin/ndb_mgm
  键入show命令查看当前工作状态:(下面是一个状态输出示例)
  [root@mysql3 root]# /usr/bin/ndb_mgm
  – NDB Cluster — Management Client —
  ndb_mgm> show
  Connected to Management Server at: localhost:1186
  Cluster Configuration
  ———————
  [ndbd(NDB)] 2 node(s)
  id=2 @10.0.50.141 (Version: 5.1.5, Nodegroup: 0)
  id=3 @10.0.50.143 (Version: 5.1.5, Nodegroup: 0, Master)
  [ndb_mgmd(MGM)] 1 node(s)
  id=1 @10.0.50.142 (Version: 5.1.5)
  [mysqld(API)] 2 node(s)
  id=4 @10.0.50.143 (Version: 5.1.5)
  id=5 @10.0.50.141 (Version: 5.1.5)
  ndb_mgm>
  如果上面没有问题,现在开始测试MySQL:
  注意,这文档对于MySQL并没有设置root密码,推荐你自己设置Server1和Server2的MySQL root密码。
  在Server1中:
  # /usr/local/mysql/bin/mysql -u root -p
  > use test;
  > Create TABLE atest (i INT) ENGINE=NDBCLUSTER;
  > Insert INTO atest () VALUES (1);
  > Select * FROM atest;
  应该可以看到1 row returned信息(返回数值1)。
  如果上述正常,则换到Server2上重复上面的测试,观察效果。如果成功,则在Server2中执行Insert再换回到Server1观察是否工作正常。

  六、破坏性测试

  将Server1或Server3的网线拔掉,观察另外一台集群服务器工作是否正常(可以使用Select查询测试)。测试完毕后,重新插入网线即可。
  如果你接触不到物理服务器,也就是说不能拔掉网线,那也可以这样测试:
  在Server1或Server3上:
  # ps aux | grep ndbd
  将会看到所有ndbd进程信息:
  root 5578 0.0 0.3 6220 1964 ? S 03:14 0:00 ndbd
  root 5579 0.0 20.4 492072 102828 ? R 03:14 0:04 ndbd
  root 23532 0.0 0.1 3680 684 pts/1 S 07:59 0:00 grep ndbd
  然后杀掉一个ndbd进程以达到破坏MySQL集群服务器的目的:
  # kill -9 5578 5579
  之后在另一台集群服务器上使用Select查询测试。并且在管理节点服务器的管理终端中执行show命令会看到被破坏的那台服务器的状态。
  测试完成后,只需要重新启动被破坏服务器的ndbd进程即可:
  # ndbd
  注意!前面说过了,此时是不用加–inital参数的!至此,MySQL集群就配置完成了!