• LNMP+Zabbix搭建


    LNMP+Zabbix搭建

    cmake2.8.8,Nginx-1.6.3,Php-5.5.38,Mysql-5.5.32,Zabbix-3.2.6

    /etc/selinux/config 文件中的 SELINUX="" 为 disabled #关闭防火墙命令

    setenforce 0 即时生效

    关闭防火墙的方法为:

    1. 永久性生效

    开启:chkconfig iptables on

    关闭:chkconfig iptables off

    所有需要用到的编译工具和库:

     yum install make  autoconf automake curl curl-devel gcc gcc-c++ gtk+-devel zlib-devel openssl openssl-devel pcre-devel  perl kernel-headers compat*  cpp glibc libgomp libstdc++-devel keyutils-libs-devel libsepol-devel libselinux-devel krb5-devel  libXpm* freetype freetype-devel freetype* fontconfig fontconfig-devel libpng* ncurses* libtool* libxml2-devel  bison libaio-devel

    1,进入yum源配置目录 

    cd /etc/yum.repos.d 

    2,备份系统自带的yum源 

    mv CentOS-Base.repo CentOS-Base.repo.backup 

    3,下载新的CentOS-Base.repo 到/etc/yum.repos.d/ 

    CentOS 5 

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo 

    CentOS 6 

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo 

    CentOS 7 

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 

    4,下载完yum源后,执行下边命令更新yum配置,使操作立即生效 

    yum makecache

    # make //确定你的服务器有安装make,如果没有安装请执行 yum install make

    先安装所有需要的开发软件依赖包命令如下:

    yum install gcc* make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel -y

    ##这是安装MySQL数据库所需要的依赖包:yum -y install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel libmcrypt-devel zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel mhash mcrypt bzip2-devel

    解压 cmake

    tar -zvxf cmake-2.8.8.tar.gz

    cd cmake-2.8.8

    ./configure

    make && make install

    ----------------------------------------------------------------------------------------

    解压PHP

    tar -zvxf php-5.5.38.tar.gz -C /usr/local/src/ # /home/

    cd php-5.5.38

    编译php

    ./configure --prefix=/usr/local/php-5.5.38 --with-config-file-path=/usr/local/php-5.5.38/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

    make && make install

    按照官方要求配置php

    cp php.ini-production /usr/local/php-5.5.38/etc/php.ini

    ###cp /usr/local/php-5.5.38/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf

    cp /home/php-5.5.38/sapi/fpm/sapi/fpm/php-fpm /usr/local/bin/

    [root@localhost php-5.5.38]# vim etc/php.ini

    384 max_execution_time = 300
    
    394 max_input_time = 300
    
    405 memory_limit = 128M
    
    672 post_max_size = 32M
    
    800 upload_max_filesize = 2M
    
    878 date.timezone = Asia/Shanghai
    View Code

    cp /usr/local/php-5.5.38/etc/php-fpm.conf.default /usr/local/php-5.5.38/etc/php-fpm.conf

    vim /usr/local/php-5.5.38/etc/php-fpm.conf

    ; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. user = www-data

    group = www-data

    /usr/local/php-5.5.38/sbin/php-fpm 启动命令

    cd /usr/local/src/php-5.5.38

    cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm 启动命令

    chmod +x /etc/init.d/php-fpm

    杀进程命令 kill -9 id号或者 killall xxx程序名字

    测试是否安装成功:/usr/local/php-5.5.38/bin/php -v

    一般显示正确:

    PHP 5.5.38 (cli) (built: Apr 2 2018 07:20:56)

    Copyright (c) 1997-2015 The PHP Group

    Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

    测试页面

    vim /usr/local/nginx-1.6.3/html/test.php

    <?php

    phpinfo();

    ?>

    -----------------------------------------------------------------------------------------------------------------

    解压 Nginx

    tar -zvxf nginx-1.6.3.tar.gz -C /usr/local/src

    cd nginx-1.6.3

    编译指定nginx安装路径跟功能

    ./configure --prefix=/usr/local/nginx-1.6.3

    --with-http_ssl_module --with-http_spdy_module

    --with-http_stub_status_module --with-pcre

    编译和编译安装

    make && make install

    安装Nginx所需要的依赖包:yum install pcre* openssl*

    /usr/local/nginx-1.6.3/sbin/nginx 启动命令

    /usr/local/nginx-1.6.3/sbin/nginx -s stop 关闭命令

    /usr/local/nginx-1.6.3/sbin/nginx -s reload 重置命令

    测试nginx配置是否正确:/usr/local/nginx-1.6.3/sbin/nginx -t

    测试是否安装成功:/usr/local/nginx-1.6.3/sbin/nginx -v

    测试:curl -s http://localhost | grep nginx.com

    正确结果是:

    nginx.com.

    chmod 755 /usr/local/nginx-1.6.3/html/zabbix/php

    ¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥

    创建用户和组

    groupadd mysql 

    useradd mysql -s /sbin/nologin -M -g mysql

    解压MySQL

    yum install cmake

    tar -zvxf mysql-5.5.32.tar.gz -C /usr/local/src/

    cd mysql-5.5.32

    cmake . -DCMAKE_INSTALL_PREFIX=/apploaclhost/mysql-5.5.32 - DMYSQL_DATADIR=/apploaclhost/data -DMYSQL_UNIX_ADDR=/apploaclhost/mysql-5.5.32/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITHOUT_PARTITION_STORAGE_ENGINE=1 -DWITH_FAST_MUTEXES=1 -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_READLINE=1 -DWITH_EMBEDDED_SERVER=1 -DWITH_DEBUG=0

    make && make install

    ln -s /application/mysql-5.5.32/ /application/mysql

    拷贝配置文件和修改权限

    cp support-files/my-small.cnf /etc/my.cnf

    chown -R mysql.mysql /application/mysql/data/

    chmod 1777 /tmp/

    echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile

    tail -l /etc/profile

    source /etc/profile

    echo $PATH

    cd /application/mysql/scripts/

     ./mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql 初始化

    cp support-files/mysql.server  /etc/init.d/mysqld

    chmod +x /etc/init.d/mysqld

    /etc/init.d/mysqld start

    修改密码:

    mysql>set password for root@'localhost'=password('123456');

    mysql -uroot -p

    -bash: mysql: command not found

    解决办法:

    ln -s /usr/local/mysql-5.5.32/bin/mysql /usr/bin/ #mysql-5.5.32是编译安装的路径

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

    查看所有正在运行的端口命令:netstat -anptl

    解压Zabbix

    tar -zvxf mysql-5.5.32.tar.gz

    cd /home/zabbix-3.2.6

    所需要的依赖包:yum install -y php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel net-snmp net-snmp-devel perl-DBI

    ./configure --prefix=/usr/local/zabbix --enable-server --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-agent --enable-ipv6

     

    make & make install

    三、数据库配置

    # 数据库初始化命令

    mysql_secure_installation

     

    忘记root密码修改root密码

    mysqld_safe --skip-grant-tables(这条命令得挂着改才有效)

    mysql> use mysql;

    mysql> update user set password=password("123456") where user="root";

    mysql> flush privileges;

    # mysql -u root -p

    mysql> create database zabbix character set utf8; ##创建数据库zabbix,并且数据库编码使用utf8

    mysql>grant all on zabbix.*to 'zabbix'@'%'identified by 'zabbix'with grant option; ##允许账户能从本机连接至数据库zabbix

    mysql> flush privileges; ##刷新系统授权

     

    ②导入数据库

    [root@localhost zabbix-3.2.6]# ls

    aclocal.m4 conf configure.ac INSTALL man upgrades

    AUTHORS config.guess COPYING install-sh misc

    bin config.log database m4 missing

    build config.status depcomp Makefile NEWS

    ChangeLog config.sub frontends Makefile.am README

    compile configure include Makefile.in src

    # cd database

    # cd mysql

    [root@localhost mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql

    [root@localhost mysql]# mysql -uzabbix -pzabbix zabbix < images.sql

    [root@localhost mysql]# mysql -uzabbix -pzabbix zabbix < data.sql

    数据库里直接导入法:

    mysql> use zabbix; mysql> source /home/zabbix-3.2.6/database/mysql/schema.sql;
    
    mysql> source /home/zabbix-3.2.6/database/mysql/images.sql;
    
    mysql> source /home/zabbix-3.2.6/database/mysql/data.sql;
    View Code

    #########官网 www.zabbix.com ########

    /usr/local/zabbix/etc/zabbix_server.conf

    vim /usr/local/zabbix/etc/zabbix_server.conf

    38 LogFile=/tmp/zabbix_server.log ##日志文件地址
    
    68 PidFile=/tmp/zabbix_server.pid
    
    77 DBHost=localhost ##数据库主机
    
    87 DBName=zabbix ##数据库名
    
    103 DBUser=zabbix ##数据库用户名
    
    111 DBPassword=zabbix ##数据库密码
    
    299 ListenIP=127.0.0.1,192.168.72.131 ##数据库IP地址
    
    447 AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts ##zabbix运行脚本存放目录
    View Code

    vim /usr/local/zabbix/etc/zabbix_agent.conf

    11 PidFile=/tmp/zabbix_agentd.pid ##进程PID
    
    30 LogFile=/tmp/zabbix_agentd.log ##日志保存位置
    
    69 EnableRemoteCommands=1 ##允许执行远程命令
    
    91 Server=127.0.0.1 被动##server端的ip ,建议这里改成server端的ip,否则可能会在创建监控模板启动报错
    
     
    
    132 ServerActive=127.0.0.1 ##主动模式本机 IP
    
    143 Hostname=Zabbix server ##必须与zabbix创建的hostname相同,也可以是客户端ip
    
    262 Include=/usr/local/etc/zabbix_agentd.conf.d/
    
     
    
    278 UnsafeUserParameters=1 ##启动自定义key
    View Code

    groupadd zabbix

    useradd -g zabbix -s /sbin/nologin zabbix

    修改vim /etc/services,添加下面几行

    zabbix-agent 10050/tcp #zabbix agent
    
    zabbix-agent 10050/udp #zabbix agent
    
    zabbix-trapper 10051/tcp #zabbix trapper
    
    zabbix-trapper 10051/udp #zabbix trapper
    View Code

    拷贝启动命令:

    cp /home/zabbix-3.2.6/misc/init.d/fedora/core/* /etc/init.d/

     

    [root@localhost ~]# vi /etc/init.d/zabbix_server

    BASEDIR=/usr/local/zabbix ##########修改这行 #路径看编译的路径

    [root@localhost ~]# vi /etc/init.d/zabbix_agentd

    BASEDIR=/usr/local/zabbix ##########修改这行

    创建

    mkdir /usr/local/nginx-1.6.3/html/zabbix/

    拷贝Zabbix下的php文件到nginx前端(主要是这里使用的是nginx作为web)

    cp -a /home/zabbix-3.2.6/frontends/php/ /usr/local/nginx-1.6.3/html/zabbix/

    修改使用者和修改权限

    chown zabbix.zabbix /usr/local/nginx-1.6.3/html/zabbix/ -R

    chmod -R 777 /usr/local/nginx-1.6.3/html/zabbix/

    检查Zabbix是否配置正确的命令:

    grep -n '^'[a-Z] /usr/local/zabbix/etc/zabbix_server.conf

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

    配置nginx的vim /usr/local/nginx-1.6.3/conf/nginx.conf

    #设置用户
    
    user nginx;
    
    #工作衍生进程数
    
    worker_processes 1;
    
    #设置错误文件存放路径
    
    #error_log logs/error.log;
    
    #error_log logs/error.log notice;
    
    #error_log logs/error.log info;
    
     
    
    #设置pid存放路径(pid是控制系统中重要文件)
    
    pid /usr/local/nginx-1.6.3/logs/nginx.pid;
    
    #
    
    #设置最大连接数
    
    events {
    
    worker_connections 1024;
    
    }
    
    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;
    
     
    
    sendfile on;
    
    #tcp_nopush on;
    
    #keepalive_timeout 0
    
    keepalive_timeout 65;
    
     
    
    #开启gzip压缩
    
    #gzip on;
    
    include extra/*.conf;
    
    server {
    
    listen 80;
    
    server_name www.zabbix1.com;
    
    index index.html index.htm index.php;
    
    root /usr/local/nginx-1.6.3/html/zabbix/php;
    
     
    
    #设置字符
    
    #charset koi8-r;
    
     
    
    #access_log logs/host.access.log main;
    
     
    
    location / {
    
    root /usr/local/nginx-1.6.3/html/zabbix/php;
    
     
    
    index index.php index.html index.htm;
    
    }
    
    #error_page 404 /404.html;
    
     
    
    #redirect server error pages to the static page /50x.html
    
    #
    
    error_page 500 502 503 504 /50x.html;
    
    location = /50x.html {
    
    root html;
    
    }
    
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    
    location ~ .php$ {
    
    fastcgi_index index.php;
    
    fastcgi_pass 127.0.0.1:9000;
    
    include fastcgi_params;
    
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    
    fastcgi_param SCRIPT_NAME $fastcgi_script_name;
    
     
    
    }
    
    # deny access to .htaccess files, if Apache's document root
    
    #concurs with nginx's one
    
    #
    
    #location ~ /.ht {
    
    # deny all;
    
    #}
    
    }
    
    # another virtual host using mix of IP-, name-, and port-based configuration
    
     
    
    #server {
    
    #listen 8000;
    
    #listen somename:8080;
    
    #server_name somename alias another.alias;
    
     
    
    #location / {
    
    # root html;
    
    # index index.html index.htm;
    
    # }
    
    #}
    
    # HTTPS server
    
     
    
    #server {
    
    #listen 443 ssl;
    
    #server_name localhost;
    
     
    
    #ssl_certificate cert.pem;
    
    #ssl_certificate_key cert.key;
    
     
    
    #ssl_session_cache shared:SSL:1m;
    
    #ssl_session_timeout 5m;
    
     
    
    #ssl_ciphers HIGH:!aNULL:!MD5;
    
    #ssl_prefer_server_ciphers on;
    
     
    
    #location / {
    
    # root html;
    
    # index index.html index.htm;
    
    # }
    
    #}
    
    }
    View Code

    启动Zabbix web页面出现的问题

    问题1提示:  #PHPbcmath extension missing (PHP configuration parameter --enable-bcmath)

    解决步骤

    路径:/usr/local/src/php-5.5.38/ext/bcmath

    /usr/local/php-5.5.38/bin/phpize

    ./configure --with-php-config=/usr/local/php-5.5.38/bin/php-config

    [root@localhost bcmath]# make && make install

    Installing shared extensions: /usr/local/php-5.5.38/lib/php/extensions/no-debug-non-zts-20121212/bcmath.so

    [root@localhost bcmath]# vim /usr/local/php-5.5.38/etc/php.ini

    extension_dir配置的路径, bcmath.so拷贝到该路径下。然后重启php

    或者删除安装目录,重新编译安装即可。

     

    grant all on zabbix.*to 'zabbix'@'localhost'identified by 'zabbix'with grant option;

    处理的方法是要么写个测试脚本,要么就是查看一下是否有授权,或者把%替换localhost即可。

    做了个测试脚本:

    vim /usr/local/nginx-1.6.3/html/zabbix/php/test_mysql.php

    <?php

    $link_id=mysql_connect('192.168.xx.xx:3306','zabbix','zabbix') or mysql_error();

    if ($link_id) {

    echo "mysql successful by chenshuitao !";

    }else{

    echo mysql_error();

    }

    ?>

     

    问题2提示:Zabbix_server 启动失败。。

    netstat -anp | grep zabbix 查看服务是否启动

    setenforce 0 关闭SELinux

    lsof -i:10051

    Zabbix-server 启动正常但是10051端口没有起来,

    解决方法

    看日志 tail -f /tmp/zabbix_server.log的报错如下;vim /usr/local/zabbix/etc/zabbix_server.conf

    1635:20140706:015834.413 [Z3001] connection to database ‘zabbix’ failed: [2002] Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

    1635:20140706:015834.413 Database is down. Reconnecting in 10 seconds.

    看来是mysql sock错误了。 找到 #DBSocket=/usr/local/mysql-5.5.32/tmp/mysql.sock 去掉前面的#然后按照数据库的路径改注释即可。

    zabbix页面乱码解决问题:

    1,到windows系统下下载个新的字体

    2,到zabbix页面的路径下替换原来的字体即可

    /usr/local/nginx-1.6.3/html/zabbix/php/fonts/

    问题3:Zabbix日志提示

     

    解决方案:yum install fping

    问题4提示:

    解决方案:1,查看Zabbix-server日志 命令如下:tail -f /tmp/zabbix_server.log,

    2,修改Zabbix-server配置文件里的

    ListenIP=为本机ip (数据库ip)

    3,重启虚拟机

     

    注: 

    界面切换命令行:Ctrl+alt+f2 切换回来按 alt+f7

    rz sz命令安装:yum install lrzsz -y

    上传命令:rz-y

     

    修改主机名:vim /etc/sysconfig/network

    修改静态ip

    [root@zabbix-server ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

     

     

    /etc/init.d/network restart

     

  • 相关阅读:
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
  • 原文地址:https://www.cnblogs.com/xuanlv-0413/p/9563578.html
Copyright © 2020-2023  润新知