zoukankan      html  css  js  c++  java
  • CentOS 7 LNMP环境搭建 Zabbix3.4

    概述:在CentOS 7 64位操作系统环境下搭建LNMP(Linux+Nginx+MySQL+PHP)来运行Zabbix 3.4 监控程序

    预先安装:

    yum install -y autoconf make automake imake cmake gcc gcc-c++ libaio libaio-devel bzr bison expat-devel libtool ncurses5-devel gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel
    yum install pcre*
    yum install openssl*
    
    yum install epel-release  
    yum clean all  
    yum repolist

    第一部分:安装MySQL 5.7

    1. 首先下载MySQL Yum repository,CentOS 7对应的下载链接如下

    wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

    2. 下载完成之后安装下载好的rpm文件

    yum localinstall mysql57-community-release-el7-7.noarch.rpm

    3.  安装完成之后验证MySQL YUM repository

    yum repolist enabled | grep "mysql.*-community.*"

    如下图所示,表示验证成功:

    4. 安装最新版的MySQL

    yum install mysql-community-server

    5. 安装完成之后启动并查看MySQL状态:

    service mysqld start
    service mysqld status

    6. 手动验证MySQL安装的版本:

    mysql --version

    7. 安装MySQL 5.7之后,MySQL会生成一个随机密码在/var/log/mysqld.log文件中,使用如下命令查看密码:

    grep 'temporary password' /var/log/mysqld.log

    8. 记录密码之后,运行 mysql_secure_installation初始化MySQL,初始化过程中会提示输入随机密码

    mysql_secure_installation

    9. 使用新设置的密码连接MySQL:

    mysql -u root -p

    10. 至此,MySQL 5.7安装完成。

    第二部门  安装Nginx

    1. 首先下载Nginx的最新稳定版,本示例使用的版本是1.10,下载之后解压压缩包:

    tar zxvf nginx-1.10.1.tar.gz

    2. 进入解压之后的Nginx目录,运行configure

    ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre

    3. 编译安装

    make
    make install

    4. 测试Nginx

    /usr/local/nginx/sbin/nginx -t

     5. 防火墙开放80端口

    firewall-cmd --zone=public --add-port=80/tcp --permanent

    第三部分  安装PHP

    1. 首先安装开发软件包:

    yum -y groupinstall  "Development Tools"

    2. 下载PHP最新稳定版,解压安装包,本示例使用的是PHP 5.6.25

    tar -zxvf php-5.6.25.tar.gz

    3. 切换到PHP目录,运行configure:

     ./configure -prefix=/usr/local/php -with-config-file-path=/usr/local/php/etc -with-bz2 -with-curl -enable-ftp -enable-sockets -disable-ipv6 -with-gd -with-jpeg-dir=/usr/local -with-png-dir=/usr/local -with-freetype-dir=/usr/local -enable-gd-native-ttf -with-iconv-dir=/usr/local -enable-mbstring -enable-calendar -with-gettext -with-libxml-dir=/usr/local -with-zlib -with-pdo-mysql=mysqlnd -with-mysqli=mysqlnd -with-mysql=mysqlnd -enable-dom -enable-xml -enable-fpm -with-libdir=lib64 -enable-bcmath

    4. 

    make
    make install

    5. 复制安装包中的php.ini-production到 /usr/local/php/etc/php.ini

    cp php.ini-production /usr/local/php/etc/php.ini
    cp /usr/local/php/etc/php-fpm.conf.default.conf  php-fpm.conf

    6. 测试PHP安装是否成功。

    /usr/local/php/sbin/php-fpm -t

    7. 测试成功之后启动PHP

    cp /usr/local/src/php-5.3.27/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
    chmod 755 /etc/init.d/php-fpm
    service php-fpm start
     

    8. 添加到开机启动

    chkconfig php-fpm on

    9. 检查是否启动

    ps aux |grep php-fpm
    netstat -ant |grep 9000

    第四部分 配置Nginx运行PHP

    1. 修改Nginx配置文件如下

    vim /usr/local/nginx/conf/nginx.conf
    user nobody nobody;
    worker_processes 2;
    error_log /usr/local/nginx/logs/nginx_error.log crit;
    pid /usr/local/nginx/logs/nginx.pid;
    worker_rlimit_nofile 51200;
    
    events
    {
        use epoll;
        worker_connections 6000;
    }
    
    http
    {
        include mime.types;
        default_type application/octet-stream;
        server_names_hash_bucket_size 3526;
        server_names_hash_max_size 4096;
        log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
        '$host "$request_uri" $status'
        '"$http_referer" "$http_user_agent"';
        sendfile on;
        tcp_nopush on;
        keepalive_timeout 30;
        client_header_timeout 3m;
        client_body_timeout 3m;
        send_timeout 3m;
        connection_pool_size 256;
        client_header_buffer_size 1k;
        large_client_header_buffers 8 4k;
        request_pool_size 4k;
        output_buffers 4 32k;
        postpone_output 1460;
        client_max_body_size 10m;
        client_body_buffer_size 256k;
        client_body_temp_path /usr/local/nginx/client_body_temp;
        proxy_temp_path /usr/local/nginx/proxy_temp;
        fastcgi_temp_path /usr/local/nginx/fastcgi_temp;
        fastcgi_intercept_errors on;
        tcp_nodelay on;
        gzip on;
        gzip_min_length 1k;
        gzip_buffers 4 8k;
        gzip_comp_level 5;
        gzip_http_version 1.1;
        gzip_types text/plain application/x-javascript text/css text/htm application/xml;
    
    server
    {
        listen 80;
        server_name localhost;
        index index.html index.htm index.php;
        root /usr/local/nginx/html;
    
        location ~ .php$ {
            include fastcgi_params;
            fastcgi_pass 127.0.0.19000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
        }
    
    }
    
    }
    View Code

    2. 创建PHP测试网页

    vim /usr/local/nginx/html/test.php
    <?php
        phpinfo();
    ?>

    3. 在浏览器中输入localhost/test.php,测试php页面

    4. 配置PHP参数,Zabbix的硬件要求

    vim /usr/local/php/etc/php.ini
    max_execution_time = 300
    max_input_time = 300
    memory_limit = 128M
    post_max_size = 16M
    upload_max_filesize = 2M
    date.timezone = Asia/Shanghai
    always_populate_raw_post_data = -1

    5. 重启PHP

    service php-pfm stop
    service php-pfm start

    第五部分 安装Zabbix

    1. 下载安装zabbix的YUM源

    rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm

    2. 安装Zabbix

    yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-get zabbix-agent

    3. 安装之后进入MySQL数据库,创建Zabbix数据库

    create database zabbix character set utf8 collate utf8_bin;
    grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'zabbixpass';
    flush privileges;

    4. 导入Zabbix到数据库

    cd /usr/share/doc/zabbix-server-mysql-3.41/
    zcat create.sql.gz | mysql -u root -p zabbix

    5. 配置zabbix用户

    groupadd zabbix
    useradd -g zabbix -s /bin/false zabbix

    6. 配置Zabbix服务器端

    vim /etc/zabbix/zabbix_server.conf
    
    DBHost=localhost
    DBName=zabbix
    DBUser=zabbix
    DBPassword=zabbixpass
    
    cd /usr/share/
    cp -r zabbix /usr/local/nginx/html
    chown -R zabbix:zabbix /etc/zabbix
    chown -R zabbix:zabbix /usr/share/zabbix
    chown -R zabbix:zabbix /usr/lib/zabbix

    7. Zabbix加入开机启动并启动

    systemctl enable zabbix-server
    systemctl start zabbix-server

    8. 在浏览器中测试Zabbix

    常见错误排除

    问题,运行Zabbix时出现“

    FastCGI sent in stderr: "PHP message: PHP Warning:  require_once(/etc/zabbix/web/maintenance.inc.php):   failed to open stream: Permission denied in /app/nginx/html/zabbix/include/classes/core/ZBase.php on line 292
    PHP message: PHP Fatal error:  require_once(): Failed opening required '/etc/zabbix/web/mainte

    解决方法:

    chmod -R 755 /etc/zabbix/web
  • 相关阅读:
    Python进程、线程
    Maven项目的坐标GroupId和ArtifactId
    java中的变量
    java中new一个对象的执行过程及类的加载顺序
    java中string和int互相转化
    什么是设计模式?
    Mybatis解决了JDBC编程哪些问题
    SQL注入、占位符拼接符
    JDBC、事务和连接池
    关于Spring配置文件xml文档的schema约束
  • 原文地址:https://www.cnblogs.com/zhnhelloworld/p/5864788.html
Copyright © 2011-2022 走看看