LNMP环境搭建zabbix

1.准备工作

  • 安装Nginx,MySQL,PHP

    • Nginx 1.16.1
    • MySQL 5.7.28
    • PHP 7.1
  • 使用源码编译安装Zabbix

    • 下载源码包
    • 编译前配置
    • 编译并安装

2.下载zabbix源码包文件

1.下载zabbix源码包
wget https://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.0.14/zabbix-4.0.14.tar.gz
2.解压源码包
tar xf zabbix-4.0.14.tar.gz
3.创建一个运行zabbix的守护用户
对于所有 Zabbix 守护进程,需要一个非特权用户。 如果从非特权用户帐户启动 Zabbix 守护程序,它将以该用户身份运行。
groupadd zabbix
useradd -g zabbix zabbix

3.Nginx

3.1 安装Nginx

直接使用yum安装就是1.16.1版本的nginx
yum install -y nginx

3.2 配置Nginx默认配置文件

Ps:这个版本的nginx有默认网站,在/etc/nginx/nginx.conf里面有一个默认的server,删掉就好

3.3 配置zabbix的虚拟主机

1.配置启动nginx进程的用户
useradd -M -s /sbin/nologin www
2.创建zabbix主页目录
mkdir /zabbix-web
chown www.www /zabbix-web
3.导入zabbix网页文件
cp -rp zabbix-4.0.14/frontends/php/* /zabbix-web/
4.配置nginx虚拟主机

[root@znmp ~]# cat /etc/nginx/conf.d/zabbix.xiaoqiang.com.conf
server {
        listen 80;
        server_name zabbix.xiaoqiang.com;
        root /zabbix-web;
​
        location / {
                index index.php;
        }
        location ~ \.php$ {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }
}

4.MySQL

4.1安装MySQL

1.安装MySQL源
rpm -ivh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
2.安装MySQL服务
yum install mysql-community-server mysql-community-devel -y
3.启动MySQL服务
systemctl start mysqld

MySQL默认有密码,需要在日志文件里过滤出来密码
grep 'temporary password' /var/log/mysqld.log

4.2 登陆MySQL修改密码

1.登陆MySQL
mysql -uroot -pEJ5V?sT6oQEu

单引号内的字符就是新密码,不包括单引号,密码需要包含字母、数字、字符三种,区分大小写

2.修改mysql密码
mysql> alter user root@localhost identified by 'Root123.'

4.3 创建zabbix需要的库

创建zabbix库并授权zabbix用户访问zabbix库
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'Root123.';

4.4 导入zabbix库数据

cd zabbix-4.0.14/database/mysql
mysql -uzabbix -pRoot123. zabbix < schema.sql
mysql -uzabbix -pRoot123. zabbix < images.sql 
mysql -uzabbix -pRoot123. zabbix < data.sql
如果是配置zabbix代理只导入第一条就ok,这里是server所以三条都导入

注意要按照这个顺序导入,否则可能会报错!

5.PHP

5.1 配置PHP源并安装

1.php官方源地址

[root@web01 ~]# cat /etc/yum.repos.d/php.repo 
[webtatic-php]
name = php Repository
baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/
gpgcheck = 0

2.安装php相关软件包
yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb php71w-bcmath php71w-ldap
3.配置php-fpm程序启动的身份

[root@znmp ~]# grep '^[a-Z]' /etc/php-fpm.d/www.conf 
....
user = www
group = www
....

4.更改/var/lib里的php目录权限
chown www.www -R /var/lib/php
5.调整修改php.ini配置

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

6.在php.ini里新增这一条
always_populate_raw_post_data = -1

6.编译并配置zabbix-server

6.1 编译zabbix-server

1.配置编译环境
yum install -y libevent-devel wget tar gcc gcc-c++ make net-snmp-devel libxml2 libxml2-devel curl curl-devel
2.进入解压的目录配置
cd zabbix-4.0.14/
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2
make && make install

--prefix=/usr/local/zabbix #指定安装目录

--enable-server #安装zabbix server
--enable-agent #安装zabbix agent
--with-mysql=/usr/bin/mysql_config #用mysql来存储

4.添加路径变量(临时生效,重启失效)
export PATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/

6.2 配置zabbix-server

[root@znmp ~]# grep '^[a-Z]' /usr/local/zabbix/etc/zabbix_server.conf
....
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=Root123.
AlertScriptsPath=/usr/local/zabbix/alertscripts
ExternalScripts=/usr/local/zabbix/externalscripts

7.启动nginx、php-fpm、zabbix-server...

重启nginx、php-fpm服务
systemctl restart nginx php-fpm
启动zabbix-server
zabbix_server
如果需要监控自身状态就执行以下命令启动agent端
zabbix_agentd

8.访问网页并配置

9.解决中文字体乱码

1.先备份一下字体文件
cd /zabbix-web/assets/fonts
mv DejaVuSans.ttf DejaVuSans_bak.ttf
2.将在window拷贝的字体文件rz进来
rz simhei.ttf
3.重新命令字体文件名字即可立即生效
mv simhei.ttf DejaVuSans.ttf

你可能感兴趣的:(LNMP环境搭建zabbix)