編譯安裝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
以下為下載地址:
 
因為這台機器是無法連接外網的,一些依賴安裝起來就比較費勁。所以要把鏡像掛載在本地
[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的包,那就直接安裝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進入安裝界面

檢測依賴和配置文件是否安裝正確

連接數據庫是否正常

 

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

因為zabbix監控ICMP需要FPING

所以我們要安裝,在YUM 源沒有搜索到這個包,所以只能下載源碼包編譯安裝

FPING5.0

[root@zabbixserver ~]#  tar -zxvf fping-5.0.tar.gz [root@zabbixserver ~]#  cd fping-5.0/
[root@zabbixserver ~]#  ./configure --prefix=/usr/local/fping [root@zabbixserver ~]#  make
[root@zabbixserver ~]#  make install
[root@zabbixserver ~]#/usr/local/fping/sbin/fping -v 
[root@zabbixserver ~]#
chown root:zabbix /usr/local/fping/sbin/fping
[root@zabbixserver ~]#
chmod 4710 /usr/local/fping/sbin/fping
[root@zabbixserver ~]#
ln -s /usr/local/fping/sbin/fping /usr/sbin/fping
[root@zabbixserver ~]#
/usr/sbin/fping -v

 配置圖形時,中文顯示是方框的話可以從自己的WINDOS系統的中文字體拷貝一個字體到路徑/usr/local/nginx/html/assets/fonts下,如果覺得改配置文件麻煩可以直接把導入的字體名字改成本來在這里的字體的名字。我這里拷貝的是中文楷體路徑是“控制面板\所有控制面板項\字體”。

 

[root@zabbixserver ~]# mv simkai.ttf DejaVuSans.ttf

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM