微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Centos7 Zabbix4.0.3源码安装

一、Nginx编译安装

1、下载安装包编译安装

yum install -y wget gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel
cd /usr/local/src
yum install lrzsz -y
wget 'http://Nginx.org/download/Nginx-1.14.2.tar.gz'
tar -zxvf Nginx-1.14.2.tar.gz
cd Nginx-1.14.2
./configure --prefix=/usr/local/Nginx
make && make install

2、检查配置文件、启动、重新加载、停止Nginx命令

/usr/local/Nginx/sbin/Nginx -t
/usr/local/Nginx/sbin/Nginx
/usr/local/Nginx/sbin/Nginx -s reload
/usr/local/Nginx/sbin/Nginx -s stop

3、使用systemctl管理Nginx,vim /usr/lib/systemd/system/Nginx.service
systemctl详情可以参考http://www.siguoya.name/pc/home/article/46

[Unit]
Description=Nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/Nginx/sbin/Nginx
[Install]
WantedBy=multi-user.target
systemctl启动、重新加载、停止、开机自启Nginx命令
systemctl start Nginx
systemctl restart Nginx
systemctl stop Nginx
systemctl enable Nginx.service

二、PHP编译安装

1、下载安装包编译安装

yum -y install epel-release
yum -y install  gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel libxml2 libxml2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel openldap openldap-devel libmcrypt libmcrypt-devel

cd /usr/local/src/
wget 'http://hk1.PHP.net/distributions/PHP-5.6.40.tar.gz'
tar -zxf PHP-5.6.40.tar.gz
cd PHP-5.6.40
./configure --prefix=/usr/local/PHP --with-config-file-path=/usr/local/PHP/etc --enable-ctype --with-MysqL=MysqLnd --with-MysqLi=MysqLnd --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap --with-gettext --enable-fpm
make && make install
cp PHP.ini-production /usr/local/PHP/etc/PHP.ini

PHP编译安装说明

--prefix  指定PHP的安装目录
--with-config-file-path  指定PHP配置文件位置
--with-MysqL、--with-MysqLi  让PHP可以操作MysqL
--enable-fpm  主要是Nginx要来调用PHP语言得使用PHP-fpm

2、使用配置文件

mv /usr/local/PHP/etc/PHP-fpm.conf.default /usr/local/PHP/etc/PHP-fpm.conf

3、添加环境变量

echo  "export PATH=$PATH:/usr/local/PHP/sbin/:/usr/local/PHP/bin/" >> /etc/profile
source /etc/profile

4、检查配置文件、启动PHP命令:

/usr/local/PHP/sbin/PHP-fpm -t
/usr/local/PHP/sbin/PHP-fpm

在这里插入图片描述

5、使用systemctl管理PHP-fpm,vim /usr/lib/systemd/system/PHP-fpm.service

[Unit]
Description=PHP-fpm
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/PHP/sbin/PHP-fpm
ExecStop=/bin/pkill -9 PHP-fpm
[Install]
WantedBy=multi-user.target

systemctl启动、重新加载、停止、开机自启PHP命令

systemctl start PHP-fpm.service
systemctl restart PHP-fpm.service
systemctl stop PHP-fpm.service

systemctl enable PHP-fpm.service

6、Nginx认配置无法处理PHP程序/usr/local/Nginx/html/test.PHP

<?PHP
  echo "zabbix";
?>

Nginx+PHP-fpm结合的配置

location / {
            root   html;
            index  index.html index.htm index.PHP;
        }
location ~ \.PHP$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.PHP;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }

三、MysqL编译安装

1、在启动MysqL服务时,会按照一定次序搜索my.cnf,先在/etc目录下找,找不到则会搜索"$basedir/my.cnf",若在/etc目录下会存在一个my.cnf,需要将此文件更名为其他的名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的MysqL的正确配置,造成无法启动。

mv /etc/my.cnf /etc/my.cnf.bak

2、新增MysqL用户

useradd -s /sbin/nologin MysqL

3、下载安装包编译安装

yum install -y gcc gcc-c++ make tar openssl openssl-devel cmake ncurses ncurses-devel

cd /usr/local/src
wget 'https://cdn.MysqL.com//Downloads/mysql-5.6/mysql-5.6.39.tar.gz'
tar -zxvf mysql-5.6.39.tar.gz
cd mysql-5.6.39
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/MysqL -DMysqL_DATADIR=/data/MysqL -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_DEBUG=0  -DENABLED_LOCAL_INFILE=1
make && make install
cp support-files/MysqL.server /etc/init.d/MysqLd
chmod a+x /etc/init.d/MysqLd

编译选项说明

CMACK_INSTALL_PREFIX   指定安装的目录
MysqL_DATADIR   指定MysqL的数据目录

4、MysqL环境变量配置

echo "export PATH=$PATH:/usr/local/MysqL/bin/"  >>/etc/profile
source /etc/profile

5、创建 MysqL数据库数据文件目录,数据目录在/data/MysqL

mkdir -pv /data/MysqL
mkdir -p /data/MysqL/{var,tmp,log}
chown -R MysqL:MysqL  /usr/local/MysqL /data/MysqL/

6、更新MysqL配置vim /etc/my.cnf

[MysqLd]
bind-address=0.0.0.0
port=3306
tmpdir=/data/MysqL/tmp
pid_file    = /data/MysqL/var/MysqL.pid
log-error   = /data/MysqL/log/MysqL.err
basedir     = /usr/local/MysqL/
datadir=/data/MysqL
user=MysqL
skip-name-resolve
long_query_time=2
slow_query_log_file=/data/MysqL/log/MysqL-slow.log
expire_logs_days=2
innodb-file-per-table=1
innodb_flush_log_at_trx_commit = 2
log_warnings = 1
max_allowed_packet      = 512M
connect_timeout = 60
net_read_timeout = 120

7、MysqL数据库初始化

yum install -y perl-Module-Install
/usr/local/MysqL/scripts/MysqL_install_db --basedir=/usr/local/MysqL --user=MysqL  --datadir=/data/MysqL/

8、启动MysqL

/etc/init.d/MysqLd start
或 service MysqLd start

9、设为开机自启

chkconfig MysqLd on

10、使用systemctl管理MysqLd,/usr/lib/systemd/system/MysqLd.service

[Unit]
Description=MysqLd
After=network.target
[Service]
Type=forking
ExecStart=/etc/init.d/MysqLd start
[Install]
WantedBy=multi-user.target

11、systemctl启动、重新加载、停止、开机自启MySQL命令

systemctl start MysqLd.service
systemctl restart MysqLd.service
systemctl stop MysqLd.service

systemctl enable MysqLd.service

12、访问MysqL

认127.0.0.1,用户名root,不需要密码

MysqL -uroot -h 127.0.0.1

在这里插入图片描述

MysqLadmin -h 127.0.0.1 -u root password '123456'
  • 使用密码登陆登陆
MysqL -uroot -h 127.0.0.1 -p123456

四、LNMP环境验证

1、创建一个PHP文件

vim /usr/local/Nginx/html/test_MysqL.PHP

<?PHP
  $link=MysqL_connect("127.0.0.1","root","zabbixpwd"); 
  if(!$link){
    echo "MysqL_connect fail";
  }else{
    echo "MysqL_connect success";
  }
?>

2、访问这个文件 http://10.0.0.104/test_MysqL.PHP,可以访问成功。

在这里插入图片描述

五、Zabbix Server编译安装

zabbix的官网:https://www.zabbix.com/

1、下载安装包编译安装

yum install -y libevent-devel wget tar gcc gcc-c++ make net-snmp-devel libxml2-devel libcurl-devel
cd /usr/local/src/
wget 'https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.3/zabbix-4.0.3.tar.gz'
tar -zxvf zabbix-4.0.3.tar.gz
cd zabbix-4.0.3
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-MysqL=/usr/local/MysqL/bin/MysqL_config --with-net-snmp --with-libcurl --with-libxml2
make  && make install

选项说明

--prefix指定安装目录
--enable-server安装zabbix server
--enable-agent安装zabbix agent
--with-MysqLMysqL来存储

2、添加zabbix用户

useradd -s /sbin/nologin zabbix
chown -R zabbix:zabbix /usr/local/zabbix

3、设置zabbix环境变量并查看版本

echo "export PATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/"  >> /etc/profile
source /etc/profile
zabbix_server --version

在这里插入图片描述

4、MysqL数据库初始化,先创建数据库再授权

MysqL -h 127.0.0.1 -uroot -p123456

create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@'127.0.0.1' identified by '123456';
flush privileges;
set names utf8;
exit;

5、按顺序导入zabbix表

可以进入MysqL然后选择zabbix库,在MysqL里source导入

MysqL -h 127.0.0.1 -uroot -p123456

use zabbix;
source /usr/local/src/zabbix-4.0.3/database/MysqL/schema.sql;
source /usr/local/src/zabbix-4.0.3/database/MysqL/images.sql;
source /usr/local/src/zabbix-4.0.3/database/MysqL/data.sql;

也可以在外面用shell命令直接导入

MysqL -uroot -p123456 zabbix < /usr/local/zabbix-4.0.2/database/MysqL/schema.sql 
MysqL -uroot -p123456 zabbix < /usr/local/zabbix-4.0.2/database/MysqL/images.sql
MysqL -uroot -p123456 zabbix < /usr/local/zabbix-4.0.2/database/MysqL/data.sql

在这里插入图片描述

6、zabbix server的配置,可以将原来的备份一下,然后重新创建一下,省得一个一个配置找
vim /usr/local/zabbix/etc/zabbix_server.conf

ListenPort=10051
LogFile=/usr/local/zabbix/zabbix_server.log
PidFile=/usr/local/zabbix/zabbix_server.pid
DBHost=127.0.0.1
dbname=zabbix
DBUser=zabbix
DBPassword=123456
DBPort=3306
Timeout=30
#告警脚本位置
AlertScriptsPath=/usr/local/zabbix/alertscripts
ExternalScripts=/usr/local/zabbix/externalscripts
LogSlowQueries=3000

再设置一下目录所属用户

chown -R zabbix:zabbix /usr/local/zabbix

7、Zabbix Web的安装

mkdir /usr/local/Nginx/html/zabbix
cp -a /usr/local/src/zabbix-4.0.3/frontends/PHP/* /usr/local/Nginx/html/zabbix/

8、修改Nginx,将Nginx启动用户改为root,防止有不能访问的资源,然后index中加上index.PHP,这个就可以直接访问到zabbix的主页而不用再加index.PHP

server {
        listen 80;
        server_name 10.191.80.199;
        access_log /data/log/Nginx/zabbix.access.log main;
        index index.html index.PHP index.html;
        root /data/app/Nginx/html/;
        location /zabbix/{
                try_files $uri $uri/ /index.PHP?$args;
        }
        location ~ \.PHP$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.PHP;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
}

在这里插入图片描述

9、zabbix web需要PHP做配置优化

vim /usr/local/PHP/etc/PHP.ini

post_max_size = 32M
max_execution_time = 350
max_input_time = 350
date.timezone = Asia/Shanghai
always_populate_raw_post_data = -1

然后重启PHP

systemctl restart PHP-fpm

启动zabbix_server

zabbix_server

10、访问首页,前面设置了index.PHP,所以可以直接访问
http://IP/zabbix

在这里插入图片描述


PHP配置已经改过,是正常的

在这里插入图片描述

数据库配置,根据前面设置的进行填写

在这里插入图片描述

最后可能会提示无法创建配置文件,需要下载后放到提示文件夹下,并且设置权限,否则可能会提示无法访问配置。

chmod 644  /usr/local/Nginx/html/zabbix/conf/zabbix.conf.PHP

在这里插入图片描述

11、然后可以进行登陆,用户名和密码:Admin zabbix

在这里插入图片描述

首页如下

在这里插入图片描述

左上角用户按钮点进入可以设置为中文,以及修改密码

在这里插入图片描述

设置为中文,在管理–用户里也可以设置密码,还可以创建新用户

在这里插入图片描述

六、zabbix解决中文乱码

1、虽然在用户的设置里可以设置为中文,但认的中文可能有乱码
例如在(监测–图形)里选选择cpu load,可以看到有一部分内容乱码了

在这里插入图片描述

2、认的字体文件在zabbix web目录的fonts目录下,认是DejaVuSans字体,这个字体在中文会有部分乱码

[root@localhost ~]# cd /usr/local/Nginx/html/zabbix/fonts/
[root@localhost fonts]# ls
DejaVuSans.ttf

3、可以在window的C:\Windows\Fonts目录下找到微软雅黑字体,然后放到zabbix的fonts目录下改名为msyh.ttf,也可以网上下载一个,然后权限设为644,让zabbix能够读取这个字体文件

[root@localhost fonts]# chmod 644 msyh.ttf 
[root@localhost fonts]# ls
DejaVuSans.ttf  msyh.ttf

4、将配置文件里的DejaVuSans改为msyh,有两个地方要改。

vim /usr/local/Nginx/html/zabbix/include/defines.inc.PHP

5、然后再刷新下页面,可以看到中文正常了

在这里插入图片描述

安装包和中文字体网盘地址

链接https://pan.baidu.com/s/1D6YDRY3xGCc66hP28M79rg
提取码:7p3n

参考资料:https://blog.csdn.net/qq_41475058/article/details/106056778

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐