zabbix源码编译

192.168.148.3 nginx
192.168.148.4 php
192.168.148.5 mysql
192.168.148.7 zabbix-server
192.168.148.8 zabbix-agent

准备阶段

1.nginx

nginx官网

  • nginx 1.16
[root@localhost src]# wget http://nginx.org/download/nginx-1.16.1.tar.gz
[root@localhost src]# tar xf nginx-1.16.1.tar.gz
[root@localhost nginx-1.16.1]# yum install gcc  gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel y
[root@localhost nginx-1.16.1]# id nginx
uid=997(nginx) gid=995(nginx) groups=995(nginx)
[root@localhost nginx-1.16.1]#  ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
[root@localhost nginx-1.16.1]# make && make install
[root@localhost nginx]# /usr/local/nginx/sbin/nginx
[root@localhost nginx]# ps -ef | grep nginx
root       9694      1  0 22:12 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx
nginx      9695   9694  0 22:12 ?        00:00:00 nginx: worker process

2.PHP

PHP官网

  • php 5.6
#缺啥安装啥
[root@localhost ~]# yum -y install gd curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel 
[root@localhost src]# ls
debug  kernels  php-5.6.8
[root@localhost php-5.6.8]#./configure --prefix=/usr/local/php  \ 
	--enable-fpm \
	--enable-debug \ 
	--with-gd \ 
	--with-jpeg-dir \ 
	--with-png-dir \ 
	--with-freetype-dir \ 
	--enable-mbstring \ 
	--with-curl \ 
	--with-mysql=mysqlnd \
    --with-mysqli=mysqlnd \ 
    --with-pdo-mysql=mysqlnd \
    --with-config-file-path=/usr/local/php/etc \
    --with-zlib-dir \
    --with-gettext
#友情提示:最好1G以上内存编译
[root@localhost php-5.6.8]# make && make install 
#初始化文件
[root@localhost php-5.6.8]# cp php.ini-development  /usr/local/php/etc/php.ini 
#配置文件
[root@localhost php-5.6.8]# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf 
#启动脚本
[root@localhost php-5.6.8]# cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm 
[root@localhost php-5.6.8]# chmod +x /etc/init.d/php-fpm 
[root@localhost php-5.6.8]# id php
uid=997(php) gid=995(php)=995(php)
[root@localhost data]# egrep "^(user|group|l)" /usr/local/php/etc/php-fpm.conf 
user = php 
group = php 
listen = 192.168.148.4:9000
listen.allowed_clients = 192.168.148.3 
[root@localhost php-5.6.8]# /etc/init.d/php-fpm start
Starting php-fpm  done
[root@localhost php-5.6.8]# ps -ef | grep php
root      91492      1  0 11:32 ?        00:00:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
php       91493  91492  0 11:32 ?        00:00:00 php-fpm: pool www
php       91494  91492  0 11:32 ?        00:00:00 php-fpm: pool www

3. mysql

mysql官网

  • mysql5.5
[root@localhost src]# wget http://mirrors.163.com/mysql/Downloads/MySQL-5.5/mysql-5.5.60.tar.gz tar xf mysql-5.5.60.tar.gz 
[root@localhost src]# tar xf mysql-5.5.60.tar.gz
[root@localhost mysql-5.5.60]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql55/ \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_DATADIR=/data/mysql \
-DSYSCONFDIR=/usr/local/mysql55/ \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DWITH_XTRADB_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_EXTRA_CHARSETS=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DEXTRA_CHARSETS=all \
-DWITH_BIG_TABLES=1 \
-DWITH_DEBUG=0
#编译需要1G以上内存
[root@localhost mysql-5.5.60]# make && make install
#配置文件
[root@localhost mysql-5.5.60]# cp support-files/my-large.cnf /usr/local/mysql55/my.cnf
#启动脚本
[root@localhost mysql-5.5.60]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql-5.5.60]# chmod +x  /etc/init.d/mysqld
[root@localhost mysql-5.5.60]# mkdir -p  /data/mysql
[root@localhost mysql-5.5.60]# useradd  -s  /sbin/nologin mysql
[root@localhost mysql-5.5.60]# chown -R  mysql. /data/mysql
#初始化
[root@localhost mysql-5.5.60]# /usr/local/mysql55/scripts/mysql_install_db  --user=mysql --datadir=/data/mysql --basedir=/usr/local/mysql55
#报错就把旧的干掉
#如果干掉了还是报错,就重写配置文件【pid,socket,date,base】
[root@localhost mysql-5.5.60]# yum remove  mariadb* -y
[root@localhost mysql-5.5.60]# /etc/init.d/mysqld start
Starting MySQL.Logging to '/data/mysql/localhost.localdomain.err'.
. SUCCESS! 
[root@localhost mysql-5.5.60]# ps -ef | grep mysql
root      26141      1  0 22:53 pts/0    00:00:00 /bin/sh /usr/local/mysql55/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/localhost.localdomain.pid
mysql     26425  26141  0 22:53 pts/0    00:00:00 /usr/local/mysql55/bin/mysqld --basedir=/usr/local/mysql55 --datadir=/data/mysql --plugin-dir=/usr/local/mysql55/lib/plugin --user=mysql --log-error=localhost.localdomain.err --pid-file=/data/mysql/localhost.localdomain.pid --socket=/tmp/mysql.sock --port=3306

ZABBIX-server

zabbix官网

  • zabbix40
[root@localhost src]# yum install  pcre-devel libevent-devel  net-snmp-devel  glibc-devel zlib-devel  mariadb-devel -y
[root@localhost src]# ls
debug  kernels  zabbix-4.0.16
[root@localhost zabbix-4.0.16]# ./configure --prefix=/usr/local/zabbix --enable-server --with-mysql  --with-net-snmp 
[root@localhost zabbix-4.0.16]# make && make install
[root@localhost zabbix]# cp /usr/src/zabbix-4.0.16/misc/init.d/tru64/zabbix_server  /etc/init.d/zabbix_server 
[root@localhost zabbix]# chmod +x /etc/init.d/zabbix_server 
[root@localhost zabbix]# egrep "^[S|D|P]" /etc/init.d/zabbix_server 
SERVICE="Zabbix server"
DAEMON=/usr/local/zabbix/sbin/zabbix_server
PIDFILE=/usr/local/zabbix/zabbix_server.pid

zabbix-agentd

 [root@localhost zabbix-4.0.16]# yum install  pcre-devel libevent-devel  net-snmp-devel  glibc-devel zlib-devel  mariadb-devel -y
 [root@localhost zabbix-4.0.16]# ./configure  --prefix=/usr/local/zabbix --enable-agent
[root@localhost zabbix-4.0.16]# make && make install
[root@localhost zabbix-4.0.16]# cp misc/init.d/tru64/zabbix_agentd  /etc/init.d/zabbix_agnetd 
[root@localhost zabbix-4.0.16]# chmod +x /etc/init.d/zabbix_agnetd 
[root@localhost zabbix-4.0.16]# egrep "^[S|D|P]" /etc/init.d/zabbix_agnetd 
SERVICE="Zabbix agent"
DAEMON=/usr/local/zabbix/sbin/zabbix_agentd
PIDFILE=/usr/local/zabbix/zabbix_agentd.pid

LNMP

nginx

#搬运网站
[root@localhost zabbix-4.0.16]# scp -r  frontends/php 192.168.148.3:/usr/local/nginx/html
[root@localhost html]# cp /usr/src/nginx-1.16.1/contrib/vim/* /usr/share/vim/vimfiles/ -r
[root@localhost html]# cat /usr/local/nginx/conf/nginx.conf
.......
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;
	charset ustf-8;
    sendfile        on;
    keepalive_timeout  65;
server {
        listen       80;
        server_name  localhost;
        location / {
            root   html/php;
            index  index.php index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
location ~ \.php$ {
    root           /data/php;
    fastcgi_pass   192.168.148.4:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
    include        fastcgi_params;
}
    }
[root@localhost html]# /usr/local/nginx/sbin/nginx -s reload

PHP

[root@localhost ext]# mkdir /data
[root@localhost zabbix-4.0.16]# scp -r  frontends/php 192.168.148.4:/usr/local/data
[root@localhost local]# chown  -R php. /data
[root@localhost bcmath]# vim /usr/local/php/etc/php.ini 
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
always_populate_raw_post_data = -1
date.timezone = Asia/shanghai

php添加扩展(ldap sockets gettext bcmath )

缺啥按啥

cd usr/src/php-5.6.8/ext/gettext
#编译共享 PECL 扩展库
[root@localhost gettext]# /usr/local/php/bin/phpize
[root@localhost gettext]#./configure  --with-php-config=/usr/local/php/bin/php-config 
[root@localhost gettext]# make && make install
#编译ldap时
yum install openldap openldap-devel  -y
cp -frp /usr/lib64/libldap* /usr/lib/
[root@localhost bcmath]# ls  /usr/local/php/lib/php/extensions/debug-non-zts-20131226/
bcmath.so  gettext.so  ldap.so  opcache.a  opcache.so  sockets.so
[root@localhost bcmath]# vim /usr/local/php/etc/php。ini
 extension=gettext.so
 extension=bcmath.so
 extension= sockets.so
 extension=ldap.so

mysql

[root@localhost mysql-5.5.60]# /usr/local/mysql55/bin/mysql
mysql> create database zabbix ;
mysql> grant all on zabbix.* to  "zabbix"@"192.168.148.4"    identified by "123456";
mysql> grant all on zabbix.* to  "zabbix"@"192.168.148.7"    identified by "123456";
mysql> flush privileges;
[root@localhost data]# scp -r 192.168.148.7:/usr/src/zabbix-4.0.16/database/mysql . 
#安装顺序导入
[root@localhost data]# /usr/local/mysql55/bin/mysql   zabbix < mysql/schema.sql
[root@localhost data]# /usr/local/mysql55/bin/mysql   zabbix < mysql/images.sql 
[root@localhost data]# /usr/local/mysql55/bin/mysql   zabbix < mysql/data.sql


Enter the user name Admin with password zabbix to log in as a Zabbix superuser.

zabbix-server

[root@localhost zabbix]# pwd
/usr/local/zabbix
[root@localhost zabbix]# egrep  "^[LogF|P|D]" etc/zabbix_server.conf
LogFile=/usr/local/zabbix/zabbix_server.log
PidFile=/usr/local/zabbix/zabbix_server.pid
DBHost=192.168.148.5
DBName=zabbix
DBUser=zabbix
DBPassword=123456
[root@localhost etc]# useradd -r zabbix
[root@localhost etc]# chown  -R zabbix. /usr/local/zabbix/
/etc/init.d/zabbix_server start

zabbix-agentd

[root@localhost etc]# useradd -r zabbix
[root@localhost etc]# chown  -R zabbix. /usr/local/zabbix/
[root@localhost etc]# egrep "^[L|P|S|H]"  /usr/local/zabbix/etc/zabbix_agentd.conf
PidFile=/usr/local/zabbix/zabbix_agentd.pid
LogFile=/usr/local/zabbix/zabbix_agentd.log
#数据递给谁
Server=192.168.148.7
#被动模式
ServerActive=192.168.148.7
#与创建的host要一样一样
Hostname=192.168.148.8
[root@localhost etc]# /etc/init.d/zabbix_agnetd start

发布了1 篇原创文章 · 获赞 0 · 访问量 51

猜你喜欢

转载自blog.csdn.net/Wt1611058180/article/details/104088329