1、安装MYSQL

SHELL> ./configure --prefix=/usr/local/mysql --localstatedir=/var/lib/mysql --with-charset=utf8
SHELL> make
SHELL> make install
SHELL> cp support-files/my-medium.cnf /etc/my.cnf  

SHELL> cp support-files/mysql.server /etc/rc.d/init.d/mysqld
SHELL> chmod 700 /etc/rc.d/init.d/mysqld
SHELL> chkconfig --add mysqld

SHELL> groupadd mysql 
SHELL> useradd -g mysql mysql

SHELL> /usr/local/mysql/bin/mysql_install_db --user=mysql
SHELL> chown -R root.mysql /var/lib/mysql 

SHELL> chmod -R 770 /var/lib/mysql
SHELL> /usr/local/mysql/bin/mysqld_safe --user=mysql &
SHELL> /etc/rc.d/init.d/mysqld start
SHELL> ln -s /usr/local/mysql/bin/mysql /sbin/mysql
SHELL> ln -s /usr/local/mysql/bin/mysqladmin /sbin/mysqladmin

 



说明:
错误日志包含了服务器写入标准错误输出设备的所有消息,同时还包括了 mysql 服务的启动和关闭事件
常规日志用来记录有关 mysql 服务器运行的常规信息,包括用户的连接、查询及其他各种时间
更新日志用来记录修改数据库的查询信息,包括所有涉及数据库修改的 SQl 语句的查询记录
建议调试结束后关闭日志
用如下命令修改MYSQL密码,默认安装密码为空,为了安全你必须马上修改 
/usr/local/mysql/bin/mysqladmin -uroot password xuefeng
 
现在修改的密码为:xuefeng  
 
2、安装PHP
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

SHELL>./configure --prefix=/usr/local/php --enable-fastcgi --with-mysql=/usr/local/mysql --enable-force-cgi-redirect --with-freetype-dir=/usr --with-png-dir=/usr --with-gd --enable-gd-native-ttf --with-ttf --with-gdbm --with-gettext --with-iconv --with-jpeg-dir=/usr --with-zlib --with-xmlrpc --enable-calendar --enable-mbstring
SHELL> make
SHELL> make install
SHELL>cp -a php.ini-dist /usr/local/php/lib/php.ini

说明:
打开php.ini文件以后修改两处如下
1:date.timezone =Asia/Shanghai
2:max_execution_time = 300
 
 
3、PHP启动脚本

#!/bin/bash
PHPFCGI="/usr/local/php/bin/php-cgi"
FCGIPORT="8888"
FCGI_WEB_SERVER_ADDRS="127.0.0.1"
FCGIADDR="127.0.0.1"
PHP_FCGI_CHILDREN=5
PHP_FCGI_MAX_REQUESTS=1000
ALLOWED_ENV="ORACLE_HOME PATH USER"
if test x$PHP_FCGI_CHILDREN = x; then
  PHP_FCGI_CHILDREN=5
fi
ALLOWED_ENV="$ALLOWED_ENV PHP_FCGI_CHILDREN"
ALLOWED_ENV="$ALLOWED_ENV PHP_FCGI_MAX_REQUESTS"
ALLOWED_ENV="$ALLOWED_ENV FCGI_WEB_SERVER_ADDRS"
if test x$UID = x0; then
  EX="/bin/bash -m -c \"$PHPFCGI -q -b $FCGIADDR:$FCGIPORT\" $USERID"
else
  EX="$PHPFCGI -b $FCGIADDR:$FCGIPORT"
fi
echo $EX
E=
for i in $ALLOWED_ENV; do
  E="$E $i=${!i}"
done
nohup env - $E sh -c "$EX" &> /dev/null &

 

4、安装Nginx

SHELL>  ./configure
SHELL>  make
SHELL>  maie install

虚似机主代码

server {
        listen       80;

       server_name  192.168.1.5;
       server_name  114.85.165.156;
       location / {
            root   /var/www/zabbix;
            index  index.html index.htm index.php;
        }
location ~ .php$ {
          fastcgi_pass   127.0.0.1:8888;
          fastcgi_index  index.php;
          fastcgi_param  SCRIPT_FILENAME  /var/www/zabbix$fastcgi_script_name;
          fastcgi_param  QUERY_STRING     $query_string;
          fastcgi_param  REQUEST_METHOD   $request_method;
          fastcgi_param  CONTENT_TYPE     $content_type;
          fastcgi_param  CONTENT_LENGTH   $content_length;
        }
    }

 
5、配置ZABBIX数据库

SHELL> mysql -u<username> -p<password>
mysql> create database zabbix;
mysql> quit;
SHELL> cd create/schema
SHELL> cat mysql.sql | mysql -u<username> -p<password> zabbix
SHELL> cd ../data
SHELL> cat data.sql | mysql -u<username> -p<password> zabbix
SHELL> cat p_w_picpaths_mysql.sql | mysql -u<username> -p<password> zabbix

 
 
6、ZABBIX编译安装
客户端+服务端

SHELL> ./configure --prefix=/usr/local/zabbix--enable-server --enable-agent --with-mysql=/usr/loca/mysql/bin/mysq_config --with-net-snmp --with-jabber --with-libcurl
SHELL> make
SHELL> make install
SHELL> vi  /etc/services
SHELL> zabbix-agent 10050/tcp Zabbix Agent
SHELL> zabbix-agent 10050/udp Zabbix Agent
SHELL> zabbix-trapper 10051/tcp Zabbix Trapper
SHELL> zabbix-trapper 10051/udp Zabbix Trapper

客户端安装

SHELL> ./configure --prefix=/usr/local/zabbix --enable-agent
SHELL> make
SHELL> make install


7、ZABBIX网站程序文件配置

SHELL> vi frontends/php/include/db.inc.php
SHELL> cp -a frontends/php /var/www/zabbix
$DB_TYPE ="MYSQL";
$DB_SERVER ="localhost";
$DB_DATABASE ="zabbix";
$DB_USER ="zabbix";
$DB_PWD ="";
SHELL> cp -a frontends/php /var/www/zabbix
SHELL> chown -R zabbix.zabbix /var/www/zabbix
SHELL> chmod -R 774 /var/www/zabbix

说明:
我配置时发现有个变量没有定义,可能是程序有个小BUG解决方法如下

SHELL>  vi /var/www/zabbix/include/page_header.php
把457行替换成如下
$printview = new CLink(S_PRINT,'192.168.1.5'.(empty($_GET)?'?':'&').'print=1', 'small_font');

 
 

8、建立ZABBIX配置文件

SHELL> mkdir /etc/zabbix
SHELL> cp misc/conf/* /etc/zabbix/

说明:
ZABBIX只要有4个配置文件,zabbix_agent.conf、zabbix_agentd.conf、zabbix_server.conf 、zabbix_trapper.conf。
其它配置文件没特殊需要不去鸟它以下是4个文件的配置

zabbix_agentd.conf如下
Server=192.168.1.5
Hostname=ZABBIX Server
ListenPort=10050
ListenIP=192.168.1.5            注:这里千万注意写公网IP,不要127.0.0.1我绕了好大圈子总算查出这个问题
StartAgents=3
RefreshActiveChecks=120
DisableActive=1
DebugLevel=3
PidFile=/var/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
Timeout=3
UserParameter=mysql.ping,mysqladmin -uroot ping|grep alive|wc -l
UserParameter=mysql.uptime,mysqladmin -uroot status|cut -f2 -d":"|cut -f1 -d"T"
UserParameter=mysql.threads,mysqladmin -uroot status|cut -f3 -d":"|cut -f1 -d"Q"
UserParameter=mysql.questions,mysqladmin -uroot status|cut -f4 -d":"|cut -f1 -d"S"
UserParameter=mysql.slowqueries,mysqladmin -uroot status|cut -f5 -d":"|cut -f1 -d"O"
UserParameter=mysql.qps,mysqladmin -uroot status|cut -f9 -d":"
UserParameter=mysql.version,mysql -V

 

zabbix_agent.conf如下
Server=192.168.1.5
Timeout=3
UserParameter=mysql.ping,mysqladmin -uroot ping|grep alive|wc -l
UserParameter=mysql.uptime,mysqladmin -uroot status|cut -f2 -d":"|cut -f1 -d"T"
UserParameter=mysql.threads,mysqladmin -uroot status|cut -f3 -d":"|cut -f1 -d"Q"
UserParameter=mysql.questions,mysqladmin -uroot status|cut -f4 -d":"|cut -f1 -d"S"
UserParameter=mysql.slowqueries,mysqladmin -uroot status|cut -f5 -d":"|cut -f1 -d"O"
UserParameter=mysql.qps,mysqladmin -uroot status|cut -f9 -d":"
UserParameter=mysql.version,mysql -V

 

zabbix_server.conf如下
NodeID=0
StartPollers=5
StartTrappers=5
ListenPort=10051
HousekeepingFrequency=1
SenderFrequency=30
DebugLevel=3
Timeout=5
UnavailableDelay=15
UnavailableDelay=60
PidFile=/var/tmp/zabbix_server.pid
LogFile=/tmp/zabbix_server.log
AlertScriptsPath=/home/zabbix/bin/
PingerFrequency=30
DBHost=localhost
DBName=zabbix
DBUser=root
DBPassword=
DBSocket=/tmp/mysql.sock

 
 

zabbix_trapper.conf如下
DebugLevel=3
imeout=3
LogFile=/tmp/zabbix_trapper.log
DBHost=localhost
DBName=zabbix
DBUser=root
DBPassword=
DBSocket=/tmp/mysql.sock

9、设置ZABBIX启动脚本

SEHLL> cp misc/init.d/redhat/zabbix_* /usr/local/zabbix/sbin/
编辑zabbix_agentd_ctl 和 zabbix_server_ctl
BASEDIR=/usr/local/zabbix 为指定的zabbix安装目录.
zabbix_server_ctl文件中的
ZABBIX_SUCKERD=$BASEDIR/sbin/zabbix_server
6.启动服务:
服务器端
SEHLL> /usr/local/zabbix/bin/zabbix_server_ctl start
客户端
SEHLL> /usr/local/zabbix/bin/zabbix_agentd_ctl start

 
 
10\、开机自动启动

SHELL> echo "/usr/local/zabbix/sbin/zabbix_agentd_ctl start" >> /etc/rc.local
SHELL> echo "/usr/local/zabbix/sbin/zabbix_server_ctl start" >>  /etc/rc.loca
SHELL> echo "/usr/local/nginx/sbin/nginx " >> /etc/rc.local
SHELL> echo "/shell/php-cgi start" >> /etc/rc.local
SHELL> echo "/etc/rc.d/mysqld start" >> /etc/rc.local

11、补充WINDOWNS监控

1、解压bin\win32\zabbix_agentd.exe和misc/conf/zabbix_agentd.conf把这两个文件放到C盘根目录

2、创建zabbix_agentd.log存C盘根目录

3、设置zabbix_agentd.conf如下配置

 

Server=192.168.1.5
Hostname=ZABBIX Server
ListenPort=10050
ListenIP=192.168.1.100        
StartAgents=3
RefreshActiveChecks=120
DisableActive=1
DebugLevel=3
PidFile=C:\zabbix_agentd.pid
LogFile=C:\zabbix_agentd.log
Timeout=3
UserParameter=mysql.ping,mysqladmin -uroot ping|grep alive|wc -l
UserParameter=mysql.uptime,mysqladmin -uroot status|cut -f2 -d":"|cut -f1 -d"T"
UserParameter=mysql.threads,mysqladmin -uroot status|cut -f3 -d":"|cut -f1 -d"Q"
UserParameter=mysql.questions,mysqladmin -uroot status|cut -f4 -d":"|cut -f1 -d"S"
UserParameter=mysql.slowqueries,mysqladmin -uroot status|cut -f5 -d":"|cut -f1 -d"O"
UserParameter=mysql.qps,mysqladmin -uroot status|cut -f9 -d":"
UserParameter=mysql.version,mysql -V

 

4、运行安装zabbix_agentd.exe -i

5、管理服务里面开启ZABBIX服务