zoukankan      html  css  js  c++  java
  • Zabbix4.0源码安装基于LNMP

    15.Zabbix基于LNMP

    1.准备工作

    • 安装Nginx,MySQL,PHP

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

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

    2.下载zabbix源码包文件

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

    3.Nginx

    3.1 安装Nginx

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

    yum install nginx -y
    

    3.2 配置Nginx默认配置文件

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

    #这是已经配置好的配置文件
    [root@znmp ~]# cat /etc/nginx/nginx.conf
    user www;
    worker_processes auto;
    error_log /var/log/nginx/error.log;
    pid /run/nginx.pid;
    
    include /usr/share/nginx/modules/*.conf;
    
    events {
        worker_connections 1024;
    }
    
    http {
        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  /var/log/nginx/access.log  main;
    
        sendfile            on;
        tcp_nopush          on;
        tcp_nodelay         on;
        keepalive_timeout   65;
        types_hash_max_size 2048;
    
        include             /etc/nginx/mime.types;
        default_type        application/octet-stream;
    
        include /etc/nginx/conf.d/*.conf;
    }
    

    3.3 配置zabbix的虚拟站点配置

    #配置启动nginx进程的用户
    useradd -M -s /sbin/nologin www
    #创建zabbix主页目录
    mkdir /zabbix-web
    chown www.www /zabbix-web
    #导入zabbix网页文件
    cp -rp zabbix-4.0.14/frontends/php/* /zabbix-web/
    #配置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

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

    !这里有一个坑!

    MySQL数据库不同于MariaDB,MySQL默认有密码,需要在日志文件里过滤出来密码,每个人安装之后密码都是不一样的,需要自己过滤

    #查询mysql的初始密码:
    #初始密码密码是随机产生的,每台机器产生的都不一样的
    grep 'temporary password' /var/log/mysqld.log
    [Note] A temporary password is generated for root@localhost: EJ5V?sT6oQEu
    

    4.2 登陆MySQL修改密码

    #这里的登陆密码就是过滤出来的那一串字符
    mysql -uroot -pEJ5V?sT6oQEu
    #修改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源并安装

    #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
    #安装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
    #配置php-fpm程序启动的身份
    [root@znmp ~]# grep '^[a-Z]' /etc/php-fpm.d/www.conf 
    ....
    user = www
    group = www
    ....
    #更改/var/lib里的php目录权限
    chown www.www -R /var/lib/php
    #调整修改php.ini配置
    post_max_size = 32M
    max_execution_time = 350
    max_input_time = 350
    date.timezone = Asia/Shanghai
    #在php.ini里新增这一条
    always_populate_raw_post_data = -1
    

    配置完成后不着急启动,放着就行

    6.编译并配置zabbix-server

    6.1 编译zabbix-server

    #配置编译环境
    yum install -y libevent-devel wget tar gcc gcc-c++ make net-snmp-devel libxml2 libxml2-devel curl curl-devel
    #进入解压的目录配置
    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来存储
    #添加路径变量(临时生效,重启失效)
    export PATH=$PATH:/usr/local/zabbix/sbin/:/usr/local/zabbix/bin/
    

    6.2 配置zabbix-server

    #配置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.配置hosts劫持

    x.x.x.x zabbix.xiaoqiang.com
    

    9.访问网页并配置

    访问http://zabbix.xiaoqiang.com配置

    10.总结

    做这个lnmp还是有很多坑的,比如权限、各种安装包、各种路径问题,都有可能是坑.只要了解了这个原理就很简单了,下面贴一张图解

    别妄自尊大! 别妄自菲薄! QQ技术交流群:Linux架构师之路~ 471443208
  • 相关阅读:
    笔记
    Dwarf Tower
    第k小数
    np
    noi 抓住那头牛
    HDU 1575 Try A
    acm 易错警示
    E
    魔改森林 题解(dp+容斥+组合数学)
    F. Unusual Matrix 题解(思维)
  • 原文地址:https://www.cnblogs.com/oldxu/p/15340107.html
Copyright © 2011-2022 走看看