centos7编译安装zabbix(附带编译安装lnmp)

先把防火墙和selinux关闭: sytemctl stop firewalld
setenforce 0
1.yum安装依赖:
yum -y install wget openssl* gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel 
zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel
libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers make gd gd2 gd-devel gd2-devel libxslt 
libxslt-devel libaio libaio-devel

 



安装zabbix以前须要先搭建 lnmp 或 lamp

Nginx
1.下载Nginx源代码:
              wget http://nginx.org/download/nginx-1.13.5.tar.gz

              groupadd   www
              useradd -r -g www  www

 



2.解压安装
             tar  -zxf   nginx-1.13.5.tar.gz
             cd   nginx-1.13.5.tar.gz
             ./configure --user=www --group=www --prefix=/usr/local/nginx 
             make && make install
 

 

3.启动Nginx服务:/usr/local/nginx/sbin/nginx &
cd /usr/local/nginx/sbin/
./nginx 
./nginx -s stop     (中止)
./nginx -s quit      
./nginx -s reload    (平滑重启)
 

4.访问网页 : http://ip (如果没有关闭防火墙或selinux会报错)php



.mysql
1.安装mysql (下载安装包):
 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz
2.建立mysql用户和组:
                 groupadd  mysql
                 useradd -r  -g  mysql  mysql
3.解压安装包并建立date目录 :
                       tar -zxf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz # mv mysql-5.7.19-linux-glibc2.12-x86_64 /usr/local/mysql
                       cd /usr/local/mysql
                       mkdir data logs
                       echo "" > logs/error.log 

4.初始化MySQL: ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --port=3306
(初始化以后会生成一个随机的root帐号的密码,以下(若是初始化的时候有指定log-error的路径,则在log-error中查看密码,或者使用  --initialize-insecure 不生成随机密码)
5.受权: 
       cd /usr/local 
       chown -R mysql:mysql mysql
6.启动MySQL服务:
/usr/local/mysql/bin/mysqld_safe --user=mysql & 

7.数据库配
# vim /etc/my.cnf

[client]
port=3306
socket=/tmp/mysql.sock
default-character-set=utf8

[mysql]
no-auto-rehash
default-character-set=utf8

[mysqld]
user    = mysql
port    = 3306
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
socket  = /tmp/mysql.sock
pid-file = mysql3306.pid
log-error=/usr/local/mysql/logs/error.log
skip_name_resolve = 1
open_files_limit    = 65535
back_log = 1024
max_connections = 1500
max_connect_errors = 1000000
table_open_cache = 1024
table_definition_cache = 1024
table_open_cache_instances = 64
thread_stack = 512K
external-locking = FALSE
max_allowed_packet = 32M
sort_buffer_size = 16M
join_buffer_size = 16M
thread_cache_size = 2250
query_cache_size = 0
query_cache_type = 0
interactive_timeout = 600
wait_timeout = 600
tmp_table_size = 96M
max_heap_table_size = 96M

###***slowqueryparameters
long_query_time = 0.1
slow_query_log = 1
slow_query_log_file = /usr/local/mysql/logs/slow.log

###***binlogparameters
log-bin=mysql-bin
binlog_cache_size=4M
max_binlog_cache_size=8M
max_binlog_size=1024M
binlog_format=MIXED
expire_logs_days=7

###***master-slavereplicationparameters
server-id=3306
#slave-skip-errors=all

[mysqldump]
quick
max_allowed_packet=32M

八、拷贝服务文件
 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
 

9、重启MySQL服务html

 
 /etc/init.d/mysqld restart
十、配置环境变量
# vi /etc/profile
#最后一行添加如下两行:
export MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin #保存退出 source /etc/profile
11.修改root密码
https://www.cnblogs.com/jekaysnow/p/8849533.html       Centos7.4 修改MySQL5.7 root 密码 
十二、设置开机自启
chkconfig --add mysqld chkconfig mysqld on

安装PHP

  一、安装依赖库——libmcryptmysql

 wget http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz tar zxvf libmcrypt-2.5.8.tar.gz cd libmcrypt-2.5.8/ ./configure make && make install /sbin/ldconfig cd libltdl/ ./configure --enable-ltdl-install make && make install ln -sf /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la ln -sf /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so ln -sf /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4 ln -sf /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8 ldconfig

  二、安装依赖库——mhashlinux

 wget http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz
https://pan.baidu.com/s/1TDM7z2EbulwJ0OjmAnxDhw  提取码:cb92

tar zxvf mhash-0.9.9.9.tar.gz cd mhash-0.9.9.9/ ./configure make && make install ln -sf /usr/local/lib/libmhash.a /usr/lib/libmhash.a ln -sf /usr/local/lib/libmhash.la /usr/lib/libmhash.la ln -sf /usr/local/lib/libmhash.so /usr/lib/libmhash.so ln -sf /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2 ln -sf /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1 ldconfig

  三、安装依赖库——mcrypt ( 这依赖我没安装,能够作后面的操做,如果有强迫症,直接yum安装)nginx

 wget http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz
 tar zxvf mcrypt-2.6.8.tar.gz
 cd mcrypt-2.6.8/
 ./configure
 make && make install

四、下载PHP安装包c++

wget -O php-7.1.10.tar.gz http://hk1.php.net/get/php-7.1.10.tar.gz/from/this/mirror

  五、解压安装包sql

复制代码
 tar -zxf php-7.1.10.tar.gz cd php-7.1.10
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www
--with-mysqli --with-pdo-mysql --with-iconv-dir --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 --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets
--with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts --enable-opcache --with-xsl
或者
# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www
--with-mysqli --with-pdo-mysql --with-iconv-dir --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 --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc
--enable-zip --enable-soap --without-pear --with-gettext --disable-fileinfo --enable-maintainer-zts --with-libdir=lib64
make && make install
复制代码

  六、修改配置文件数据库

 cp php.ini-development /usr/local/php/etc/php.ini
 cp ./sapi/fpm/php-fpm.conf /usr/local/php/etc/php-fpm.conf cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf

  七、php-fpm随系统自启动apache

 cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

  八、启动PHPvim

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

  九、设置PHP的环境变量

 vim /etc/profile

export PHP_HOME=/usr/local/php export PATH=$PATH:$PHP_HOME/bin 重启生效 source /etc/profile

   十、设置开启自启动

 cd /etc/init.d/chmod 744 php-fpm
 chkconfig --add php-fpm
 chkconfig php-fpm on

4、zabbix

 

一、下载源码包

 

 wget -O zabbix-3.4.2.tar.gz http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.4.2/zabbix-3.4.2.tar.gz/download

 

二、安装依赖库

 

 yum -y install net-snmp-devel libxml2-devel libcurl-deve libevent libevent-devel

 

三、解压并编译

 

 tar -zxf zabbix-3.4.2.tar.gz cd zabbix-3.4.2 ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

 

四、安装

 

 make && make install

 

五、建立zabbix用户和用户组

 

 groupadd zabbix
 useradd -r -g zabbix zabbix
cd /usr/local && chown -R zabbix:zabbix zabbix

 

六、建立zabbix数据库,并导入表结构

 

复制代码
# mysql -uroot -p
mysql> create database if not exists zabbix default character set utf8 collate utf8_general_ci;
mysql> use zabbix;
mysql> source /tmp/zabbix-3.4.2/database/mysql/schema.sql;
mysql> source /tmp/zabbix-3.4.2/database/mysql/images.sql;
mysql> source /tmp/zabbix-3.4.2/database/mysql/data.sql;
复制代码

 

七、建立日志目录

 

# cd /usr/local/zabbix
# mkdir logs
# chown zabbix:zabbix logs

 

八、修改zabbix_server.conf

 

复制代码
# vim ./etc/zabbix_server.conf

LogFile=/usr/local/zabbix/logs/zabbix_server.log PidFile=/tmp/zabbix_server.pid DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix DBSocket=/tmp/mysql.sock Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf
复制代码

 

九、修改zabbix_agent.conf

 

# vim ./etc/zabbix_agentd.conf

PidFile=/tmp/zabbix_agentd.pid LogFile=/usr/local/zabbix/logs/zabbix_agentd.log Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.con

 

十、启动zabbix_server 和 zabiix_agent服务

 

# /usr/local/zabbix/sbin/zabbix_server
# /usr/local/zabbix/sbin/zabbix_agent

 

  PS:若是再启动的时候报错:error while loading shared libraries: libmysqlclient.so.20: cannot open shared object file: No such file or directory

 

  解决方法:

 

# ln -s /usr/local/mysql/lib/libmysqlclient.so.20 /usr/lib/ # ldconfig

 

  而后再次启动服务

 

十一、拷贝WEB应用程序,/data/html为nginx或者Apache的运行PHP程序的目录

 

# mv /tmp/zabbix-3.4.2/frontends/php/ /data/html/zabbix
# chown -R www:www /data/html/zabbix

 

十二、访问zabbix:http://ip/zabbix/index.php,初始化安装的默认帐号:Admin,密码:zabbix

 

 

有可能出现的错误(仅供参考):

遇到问题----connect() failed (111: Connection refused) while connecting to upstream解决  
https://www.aliyun.com/jiaocheng/124488.html
设置ngnix下的文件在浏览器端直接下载而不是被浏览器默认打开
https://blog.csdn.net/abld99/article/details/51850577

nginx 访问 .php文件变成下载
nginx 访问 .php文件变成下载

[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)错误缘由
   https://blog.csdn.net/leyangjun/article/details/48129751

apache中php的测试文件
https://jingyan.baidu.com/article/86fae346fa692f3c48121a71.html
https://blog.csdn.net/shawearn1027/article/details/51170844

zabbix-server 启动不成功,日志文件中出现"[Z3001] connection to database 'zabbix' failed: [1045] Access denied for user 'zabbix'@'localhost' (using password: YES)
"则

方法:mysql> grant all on zabbix.* to 'zabbix'@'localhost' identified by  'zabbix'  with grant option;
Query OK, 0 rows affected, 2 warnings (0.14 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.85 sec)

 

2018/11/21 16:33:38 [error] 41177#0: *16 open() "/usr/local/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.0.188, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.0.145"

location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
相关文章
相关标签/搜索