1. 程式人生 > 實用技巧 >CENTOS8.0+NGINX+MYSQL +PHP編譯安裝ZABBIX5.0

CENTOS8.0+NGINX+MYSQL +PHP編譯安裝ZABBIX5.0

LNMP系統安裝環境準備:

系統版本:CentOS Linux release 8.2.2004 (Core) PHP版本:php-7.4.9 NGINX版本:nginx-1.19.2 MYSQL版本:MySQL 8.0 zabbix版本:zabbix-5.0.3 以下為下載地址: PHP NGINX ZABBIX 因為這臺機器是無法連線外網的,一些依賴安裝起來就比較費勁。所以要把映象掛載在本地
[root@zabbixserver ~]#mount /dev/cdrom /media/
編輯YUM源
[root@zabbixserver ~]#vim /etc/yum.repos.d/CentOS-Media.repo
[c8
-media-BaseOS] name=CentOS-BaseOS-$releasever - Media baseurl=file:///media/BaseOS gpgcheck=0 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial [c8-media-AppStream] name=CentOS-AppStream-$releasever - Media baseurl=file:///media/AppStream gpgcheck=0 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
[root@zabbixserver ~]#dnf clean all [root@zabbixserver ~]#dnf makecache [root@zabbixserver ~]#dnf repolist
把下載的原始碼包都上傳到伺服器上,並解壓。
[root@zl-zabbixserver ~]# tar -zxvf nginx-1.19.2.tar.gz

[root@zl-zabbixserver ~]# tar -zxvf php-7.4.9.tar.gz

[root@zl-zabbixserver ~]# tar -zxvf zabbix-5.0.3.tar.gz
[root@zabbixserver ~]# ls
-l 總用量 35712 -rw-------. 1 root root 1512 8月 31 22:33 anaconda-ks.cfg -rw-r--r--. 1 root root 37238 9月 4 09:40 history.txt drwxr-xr-x. 9 zabbix zabbix 186 9月 3 11:28 nginx-1.19.2 -rw-r--r--. 1 root root 1048727 9月 3 11:18 nginx-1.19.2.tar.gz -rw-r--r--. 1 root root 48452 9月 1 17:02 oniguruma-devel-6.8.2-1.el8.x86_64.rpm drwxrwxr-x. 19 root root 4096 9月 3 16:38 php-7.4.9 -rw-r--r--. 1 root root 16516067 9月 3 16:34 php-7.4.9.tar.gz drwxr-xr-x. 13 nginx nginx 4096 9月 3 15:43 zabbix-5.0.3 -rw-r--r--. 1 root root 18893485 9月 1 00:25 zabbix-5.0.3.tar.gz

安裝MYSQL

[root@zabbixserver ~]#dnf install mysql mysql-server -y

[root@zabbixserver ~]#ln -s /var/lib/mysql/mysql.sock /tmp/

啟動MYSQL

[root@zabbixserver ~]#systemctl start mysqld

進入MYSQL並設定ROOT密碼

[root@zabbixserver ~]#mysql

mysql>use mysql;
mysql> alter user 'root'@'localhost'IDENTIFIED BY 'MyNewPass@123';
mysql>flush privileges;

建立zabbix資料庫

mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> alter user 'root'@'localhost'IDENTIFIED BY 'MyNewPass@123';
mysql> grant all privileges on zabbix.* to 'zabbix'@'localhost';
mysql>flush privileges;

匯入zabbix資料

mysql>use zabbix;
mysql>source /root/zabbix-5.0.3/database/mysql/schema.sql
mysql>source /root/zabbix-5.0.3/database/mysql/data.sql
mysql>source /root/zabbix-5.0.3/database/mysql/images.sql
mysql>exit

編譯安裝PHP

[root@zabbixserver ~]#cd php-7.4.9/

[root@zabbixserver ~]#mkdir /usr/local/php7

[root@zabbixserver ~]#./configure --prefix=/usr/local/php7 \
                    --with-curl --with-freetype \
--enable-gd \
--with-jpeg \
--with-gettext \
--with-kerberos \
--with-libdir=lib64\
--with-libxml \
--with-mysqli \
--with-openssl\
--with-pdo-mysql\
--with-pdo-sqlite \
--with-pear \
--enable-sockets \
--with-mhash \
--with-ldap-sasl \
--with-xsl \
--with-zlib \
--enable-fpm \
--enable-bcmath \
--enable-mbregex \
--enable-mbstring \
--enable-opcache \
--enable-pcntl \
--enable-shmop \
--enable-soap \
--enable-sockets \
--enable-sysvsem \
--enable-xml \
--with-zip \
--with-config-file-path=/usr/local/php7/etc \
-with-bz2 \
--enable-sysvsem [root@zabbixserver ~]#make && make install

編譯過程如果少了什麼包可以通過YUM安裝

可能會缺少的一些依賴包

[root@zabbixserver ~]#dnf install freetype-devel libxslt-devel libzip  libzip-devel bzip2 libcurl  libcurl-devel libjpeg libjpeg-turbo-devel -y
[root@zabbixserver ~]# cp /root/php-7.4.9/sapi/fpm/www.conf /usr/local/php7/etc/php-fpm.conf

[root@zabbixserver ~]#useradd -s /sbin/nologin -M nginx

[root@zabbixserver ~]#sed -i "s/nobody/nginx/g"  /usr/local/php7/etc/php-fpm.conf
[root@zabbixserver ~]#cp /etc/php.ini /usr/local/php7/etc/

[root@zabbixserver ~]#vim /usr/local/php7/etc/php.ini
  post_max_size = 16M   max_execution_time = 300
  max_input_time = 300   date.timezone = Asia/Shanghai
  memory_limit = 128M   upload_max_filesize = 2M

啟動PHP-FPM

[root@zabbixserver ~]#/usr/local/php7/sbin/php-fpm

[root@zabbixserver ~]# ps -ef |grep php-fpm
root 165931 1 0 9月03 ? 00:00:02 php-fpm: master process (/usr/local/php7/etc/php-fpm.conf)
nginx 166515 165931 0 07:56 ? 00:01:40 php-fpm: pool www
nginx 166552 165931 0 08:56 ? 00:01:27 php-fpm: pool www
nginx 167539 165931 0 10:43 ? 00:01:06 php-fpm: pool www
root 172471 2098 0 16:49 pts/0 00:00:00 grep --color=auto php-fpm

編譯安裝NGINX

[root@zabbixserver ~]#cd nginx-1.19.2/

[root@zabbixserver ~]#./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-pcre --with-pcre-jit --with-http_ssl_module 

[root@zabbixserver ~]#make && make install
編輯NGINX支援PHP-FPM
user nginx;
worker_processes 1;

events{
   worker_connections 1024;


}

http {
   server_tokens off;

   proxy_buffer_size 128k;

   proxy_buffers  32 32k;

   proxy_busy_buffers_size 128k;

   include     mime.types;

   default_type application/octet-stream;
   sendfile    on;
   keepalive_timeout 65;
   server {
      listen   80;

      access_log /usr/local/nginx/logs/ssl.access.log;

      error_log /usr/local/nginx/logs/ssl.error.log;
      location / {
      root html;
      index index.php index.html index.htm;
   }

   error_page 500 502 503 504 /50x.html;

   location = /50x.html {

         root  html;

   }

   location ~ \.php$ {
      root            /usr/local/nginx/html;

      fastcgi_buffer_size 128k;

      fastcgi_buffers 4 256k;

      fastcgi_busy_buffers_size 256k;

      fastcgi_pass  127.0.0.1:9000;

      fastcgi_index  index.php;

      fastcgi_param SCRIPT_FILENAME

      $document_root$fastcgi_script_name;

      include     fastcgi_params;

    }

  }

}

啟動NGINX

[root@zabbixserver ~]#/usr/local/nginx/nginx 

[root@zabbixserver ~]#ps -ef |grep nginx
root 165780 1 0 9月03 ? 00:00:00 nginx: master process /usr/local/nginx/nginx
nginx 165781 165780 0 9月03 ? 00:00:06 nginx: worker process
nginx 166515 165931 0 07:56 ? 00:01:46 php-fpm: pool www
nginx 166552 165931 0 08:56 ? 00:01:33 php-fpm: pool www
nginx 167539 165931 0 10:43 ? 00:01:11 php-fpm: pool www
root 172905 2098 0 17:24 pts/0 00:00:00 grep --color=auto nginx
編譯安裝ZABBIX
 [root@zabbixserver ~]#cd zabbix-5.0.3/
 [root@zabbixserver ~]#mkdir -m u=rwx,g=rwx,o= -p /usr/local/zabbix
 [root@zabbixserver ~]#chown zabbix:zabbix /usr/local/zabbix
 [root@zabbixserver ~]#dnf install -y net-snmp-devel
 [root@zabbixserver ~]#./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
 [root@zabbixserver ~]#make && make install
[root@zabbixserver ~]# grep -v ^# /usr/local/zabbix/etc/zabbix_server.conf   LogFile=/tmp/zabbix_server.log   DBHost=localhost
  DBName=zabbix
  DBUser=zabbix
  DBPassword=zabbix   ListenIP=127.0.0.1
  Timeout=4
  LogSlowQueries=3000   StatsAllowedIP=127.0.0.1 [root@zabbixserver ~]# grep -v ^# /usr/local/zabbix/etc/zabbix_agentd.conf   LogFile=/tmp/zabbix_agentd.log
  Server=127.0.0.1
  ServerActive=127.0.0.1
  Hostname=zabbixserver


啟動ZABBIX
[root@zabbixserver ~]#/usr/local/zabbix/sbin/zabbix_server
[root@zabbixserver ~]#/usr/local/zabbix/sbin/zabbix_agentd
 [root@zabbixserver ~]# ps -ef |grep zabbix
  zabbix 166623 1 0 09:24 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_server
  zabbix 166624 166623 0 09:24 ? 00:00:03 /usr/local/zabbix/sbin/zabbix_server: configuration syncer [synced c
  onfiguration in 0.043215 sec, idle 60 sec]
  zabbix 166625 166623 0 09:24 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_server: housekeeper [deleted 0 hist/tr
  ends, 0 items/triggers, 0 events, 0 sessions, 0 alarms, 0 audit items, 0 records in 0.003919 sec, idle for 1 hour(s)]
  zabbix 166626 166623 0 09:24 ? 00:00:01 /usr/local/zabbix/sbin/zabbix_server: timer #1 [updated 0 hosts, sup
  pressed 0 events in 0.000622 sec, idle 59 sec]
  zabbix 166627 166623 0 09:24 ? 00:00:01 /usr/local/zabbix/sbin/zabbix_server: http poller #1 [got 0 values i
  n 0.000509 sec, idle 5 sec]
  zabbix 166628 166623 0 09:24 ? 00:00:02 /usr/local/zabbix/sbin/zabbix_server: discoverer #1 [processed 0 rul
  es in 0.000687 sec, idle 60 sec]
  zabbix 166630 166623 0 09:24 ? 00:00:05 /usr/local/zabbix/sbin/zabbix_server: history syncer #1 [processed 0
  values, 0 triggers in 0.000028 sec, idle 1 sec]
  zabbix 166631 166623 0 09:24 ? 00:00:04 /usr/local/zabbix/sbin/zabbix_server: history syncer #2 [processed 0   zabbix 166717 1 0 09:37 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_agentd
  zabbix 166718 166717 0 09:37 ? 00:00:03 /usr/local/zabbix/sbin/zabbix_agentd: collector [idle 1 sec]
  zabbix 166719 166717 0 09:37 ? 00:00:04 /usr/local/zabbix/sbin/zabbix_agentd: listener #1 [waiting for conne
  ction]
  zabbix 166720 166717 0 09:37 ? 00:00:04 /usr/local/zabbix/sbin/zabbix_agentd: listener #2 [waiting for conne
  ction]
  zabbix 166721 166717 0 09:37 ? 00:00:04 /usr/local/zabbix/sbin/zabbix_agentd: listener #3 [waiting for conne

拷貝zabbix前端到nginx目錄

[root@zabbixserver ~]#cp -R ~/zabbix-5.0.3/ui/*  /usr/local/nginx/html/
[root@zabbixserver ~]#cp /usr/local/nginx/html/conf/zabbix.conf.php.example /usr/local/nginx/html/zabbix.conf.php
[root@zabbixserver ~]#grep -v ^# /usr/local/nginx/html/zabbix.conf.php
<?php
// Zabbix GUI configuration file.

$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = 'localhost';
$DB['PORT'] = '3306';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'zabbix';
$DB['PASSWORD'] = 'zabbix';


防火牆放開80埠

[root@zabbixserver ~]#firewall-cmd --permanent --add-port=80/tcp
[root@zabbixserver ~]#firewall-cmd --reload 

訪問zabbix前端http://IP進入安裝介面

檢測依賴和配置檔案是否安裝正確

連線資料庫是否正常

最後貼上一張安裝好後的圖