yum groupinstall "Development tools"yum install vimyum install gcc openssh openssh-devel pcre-devel zlib-develyum install libeventtar xf libevent-2.0.21-stable.tar.gzcd libevent-2.0.21-stable./configuremake && make installldconfig -v |grep libeventcdtar xf nginx-1.4.3cd nginx-1.4.3groupadd -r nginxuseradd -r -g nginx -s /bin/false -M nginx./configure \--prefix=/usr/local/webserver/nginx \--sbin-path=/usr/sbin/nginx \--conf-path=/etc/nginx/nginx.conf \--error-log-path=/var/log/nginx/error.log \--http-log-path=/var/log/nginx/access.log \--pid-path=/var/run/nginx/nginx.pid \--lock-path=/var/lock/nginx.lock \--user=nginx \--group=nginx \--with-http_ssl_module \--with-http_flv_module \--with-http_stub_status_module \--with-http_gzip_static_module \--http-client-body-temp-path=/var/tmp/nginx/client/ \--http-proxy-temp-path=/var/tmp/nginx/proxy/ \--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \--with-pcremake && make install为nginx 配置启动脚本在/etc/rc.d/init.d/目录下新建文件nginx,添加如下内容#!/bin/sh## nginx - this script starts and stops the nginx daemon## chkconfig:   - 85 15# description:  Nginx is an HTTP(S) server, HTTP(S) reverse#               proxy and IMAP/POP3 proxy server# processname: nginx# config:      /etc/nginx/nginx.conf# config:      /etc/sysconfig/nginx# pidfile:     /var/run/nginx.pid# Source function library.. /etc/rc.d/init.d/functions# Source networking configuration.. /etc/sysconfig/network# Check that networking is up.[ "$NETWORKING" = "no" ] && exit 0nginx="/usr/sbin/nginx"prog=$(basename $nginx)NGINX_CONF_FILE="/etc/nginx/nginx.conf"[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginxlockfile=/var/lock/subsys/nginxmake_dirs() {# make required directoriesuser=`nginx -V 2>&1 | grep "configure arguments:" | sed 's/[^*]*--user=([^ ]*).*/1/g' -`options=`$nginx -V 2>&1 | grep 'configure arguments:'`for opt in $options; doif [ `echo $opt | grep '.*-temp-path'` ]; thenvalue=`echo $opt | cut -d "=" -f 2`if [ ! -d "$value" ]; then# echo "creating" $valuemkdir -p $value && chown -R $user $valuefifidone}start() {[ -x $nginx ] || exit 5[ -f $NGINX_CONF_FILE ] || exit 6make_dirsecho -n $"Starting $prog: "daemon $nginx -c $NGINX_CONF_FILEretval=$?echo[ $retval -eq 0 ] && touch $lockfilereturn $retval}stop() {echo -n $"Stopping $prog: "killproc $prog -QUITretval=$?echo[ $retval -eq 0 ] && rm -f $lockfilereturn $retval}restart() {configtest || return $?stopsleep 1start}reload() {configtest || return $?echo -n $"Reloading $prog: "killproc $nginx -HUPRETVAL=$?echo}force_reload() {restart}configtest() {$nginx -t -c $NGINX_CONF_FILE}rh_status() {status $prog}rh_status_q() {rh_status >/dev/null 2>&1}case "$1" instart)rh_status_q && exit 0$1;;stop)rh_status_q || exit 0$1;;restart|configtest)$1;;reload)rh_status_q || exit 7$1;;force-reload)force_reload;;status)rh_status;;condrestart|try-restart)rh_status_q || exit 0;;*)echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"exit 2esac然后在赋予该脚本执行权限 chmod +x /etc/rc.d/init.d/nginxchkconfig –add nginxchkconfig nginx onservice nginx start 就可以启动nginx了安装mysqlyum install mysql mysql-server mysql-develservice mysqld startchkconfig mysqld onmysqladmin -u root password "qaz,./"service mysqld startyum install php lighttpd-fastcgi php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy php-common php-devel php-fpmservice php-fpm startchkconfig php-fpm on建立网站目录mkdir -p /data0/www//修改nginx配置文件,优化nginx,添加fastcgi(PHP)支持[root@CentOS ~]# vi /etc/nginx/nginx.conf//优化段#user  nobody;user nginx nginx;worker_processes  2;worker_cpu_affinity 01 10;#error_log  logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;#pid        logs/nginx.pid;worker_rlimit_nofile 10240;events {use epoll;worker_connections  10240;}http {include       mime.types;default_type  application/octet-stream;#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '#                  '$status $body_bytes_sent "$http_referer" '#                  '"$http_user_agent" "$http_x_forwarded_for"';#access_log  logs/access.log  main;sendfile        on;tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  30;tcp_nodelay on;fastcgi_buffers 2 256k;fastcgi_buffer_size 128k;fastcgi_busy_buffers_size 256k;fastcgi_temp_file_write_size 256k;proxy_connect_timeout 100;proxy_read_timeout 30;proxy_buffer_size 8k;proxy_buffers 8 64k;proxy_busy_buffers_size 128k;proxy_temp_file_write_size 128k;gzip  on;gzip_min_length 1k;gzip_buffers 4 16k;gzip_http_version 1.0;gzip_comp_level 2;gzip_types text/plain text/javascript application/x-javascript text/css application/xml;gzip_vary on;//加入index.php,并将默认根目录设置成/data0/wwwserver {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   /data0/www;index  index.php index.html index.htm;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   /data0/www;}//将以下代码注释去掉,并修改成nginx根路径location ~ \.php$ {root           html;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  /data0/www$fastcgi_script_name;  //注意$符前路径为nginx的网站路径include        fastcgi_params;}配置php//编辑文件php.ini,找到并去掉注释cgi.fix_pathinfo = 1重启nginx php-fpmservice nginx restartservice php-fpm restart在/data0/www/ 下建立phpinfo.php文件,访问测试。vi phpinfo.php
安装配置cactiyum install net-snmp net-snmp-utils net-snmp-devel rrdtool rrdtool-perl rrdtool-develcacti官网下载并解压tar zxvf cacti-0.8.8b.tar.gz将文件放到网站目录mv cacti-0.8.8b /data0/www/cacti增加cacti用户,用以在该用户下建立执行poller的cronuseradd cacti将cacti目录下的rra和log目录赋给cacti用户cd /data0/www/cacti/chown -R cacti:cacti rra/ log建立croncrontab -u cacti -ecron内容MAILTO=""*/5 * * * * /usr/bin/php /data0/www/cacti/poller.php &>/dev/null登陆http://ip/cacti/进行安装被监控的linux服务器需要安装net-snmp包(yum即可),安装后更改snmpd.conf文件vi /etc/snmp/snmpd.conf更改段:# sec.name source communitycom2sec notConfigUser 58.30.241.221 public# Make at least snmpwalk -v 1 localhost -c public system fast again.# name incl/excl subtree mask(optional)view systemview included .1.3.6.1.2.1.1view systemview included .1.3.6.1.2.1.25.1.1view systemview included .1disk / 10000更改后重启snmpd服务service snmpd restartchkconfig snmpd on被监控的windows服务器需要设置snmp service服务,在安全里建立public社区,设置cacti服务器的ip地址。如果使用Cacti_SNMP_INFORMANT_STD_W32_Metrics.zip模板,需要在windows服务器上安装informant-std-16.zip(http://www.wtcs.org/informant/download.htm)模板Cacti_SNMP_INFORMANT_STD_W32_Metrics.zip解压后10个文件cacti_data_query_w32_-_cpu_statistics.xmlcacti_data_query_w32_-_network_statistics.xmlcacti_data_query_w32_-_disk_statistics.xmlcacti_data_query_w32_-_object_statistics.xmlcacti_data_query_w32_-_memory_statistics.xml以上文件在cactit管理界面,Import Templates导入。snmp_informant_disk.xmlsnmp_informant_objects.xmlsnmp_informant_memory.xmlsnmp_informant_cpu.xmlsnmp_informant_network.xml以上文件copy到服务器cacti安装目录的resource/snmp_queries登陆cacti地址进行配置。添加Devices时,SNMP Version最好使用version 2,SNMP Community使用自己定义好的社区(默认和snmpd.conf中的一样是public)安装spine,安装spine可以提升cacti性能和执行速度,在安装spine之前必须已经安装好了net-snmp net-snmp-devel(之前已经安装过);使用cmd.php来完成数据采集,发现cmd.php采集存在很大的延迟,执行效率太低。比较了一下,从添加device好到设备up,spine只需要不到一分钟,而cmd等的时间较长。下载cacti-spine-0.8.8b.tar(与cacti版本对应)tar xf cacti-spine-0.8.8b.tarcd cacti-spine-0.8.8b.tar./configuremake && make installcd /usr/local/spine/mv spine.conf.dist spine.conf配置数据库vi spine.confspine需要将配置文件放在/etc下才能运行,所以建立一个软连接ln -s /usr/local/spine/etc/spine.conf /etc/spine.conf测试,运行spine的运行文件/usr/local/spine/bin/spine配置cacti使用spine在setting里配置Spine Poller File Path,spine执行二进制文件默认安装的位置是/usr/local/spine/bin/spine在poller的Poller Type里将cmd.php更改为spine即可。