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;
    }
相關文章
相關標籤/搜索