1. 程式人生 > >CentOS7 LNMP部署zabbix(yum)

CentOS7 LNMP部署zabbix(yum)

1 環境準備
1.1 需要的環境
CentOS 7 虛擬機器兩臺(最少兩臺,分別安裝Server和Agent,有條件可以準備更多) 網路環境(Yum安裝需要網路)
2 開始安裝
提醒:建議在安裝前對虛擬機器拍攝快照或者對虛擬機器進行備份操作
2.1 安裝前的準備
啟用可選 rpms 的軟體倉庫
安裝yum utils工具包,若不安裝則會找不到命令yum-config-manager
# yum -y install yum-utils

啟用yum倉庫
# yum-config-manager --enable rhel-7-server-optional-rpms


2.2 安裝php
使用yum直接安裝php,php-gd,php-mysql,php-fpm php-mbstring php-xml 
# yum install php php-gd php-mysql php-fpm

配置php
編輯/etc目錄下php.ini檔案
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = "Asia/Shanghai"

開機啟動php-fpm
# systemctl enable php-fpm.service

啟動php-fpm
# systemctl start php-fpm


2.3 安裝Mysql/mariadb
對於Zabbix Server和Proxy來說,由於需要將資料儲存起來,所以需要在安裝Zabbix Server和Proxy的伺服器上安裝Mysql資料庫。(由於CentOS 7 預設使用Mariadb替代Mysql,所以此處使用Mariadb。同時為了與Mysql的相容性,所以使用Mariadb5.5版本)
安裝mariadb使用以下命令
# yum install  -y mariadb-server

設定開機啟動並啟動mariadb
# systemctl enable mariadb 
# systemctl start mariadb

在命令列輸入以下命令進入mariadb
# mysql -uroot -p
注:密碼不用輸入直接回車就行
輸入以下命令修改登入密碼
# SET password for 'root'@'localhost'=password('newpassword');

至此資料庫部分安裝完成

2.4 安裝nginx
新增Nginx的yum源
在/etc/yum.repo.d下新增檔案nginx.repo 在檔案中寫入以下程式碼:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
儲存並退出
安裝nginx
使用以下程式碼安裝nginx
# yum install nginx


如果出現nginx.pid檔案找不到的情況下使用
# nginx -c /etc/nginx/nginx.conf 
重新指定配置檔案即可
設定開機啟動並啟動nginx
# systemctl enable nginx
# systemctl start nginx

2.5 開啟防火牆80埠
在命令列輸入以下命令來開啟80埠
# firewall-cmd --zone=public --add-port=80/tcp --permanent

意義解釋:
--zone #作用域
--add-port=80/tcp  #新增埠,格式為:埠/通訊協議
--permanent   #永久生效,沒有此引數重啟後失效
重啟防護牆生效
# systemctl restart firewalld.server


2.6 關閉SELinux
編輯/etc/selinux下的config檔案
SELINUX=disabled 
重啟生效
2.7 測試nginx 是否安裝成功
瀏覽器訪問以下地址
http://{nginx主機的ip}:80
若出現Welcome to nginx! 則說明nginx安裝成功
2.8 配置Nginx
編輯/etc/nginx目錄下nginx.conf檔案
去掉
gzip on
的註釋
編輯/etc/nginx/conf.d目錄下的default.conf檔案
修改
location /{
       ...
       ...
       ...
}
模組中的路徑和首頁未zabbix的路徑為:
root /usr/share/zabbix;
index index.php;

取消
location ~ \.php${
       ...
       ...
       ...
}
模組的註釋,並且修改
Fastcgi_param  SCRIPT_FILENAME   /usr/share/zabbix$fastcgi_script_name;
新增(增大nginx 快取,否則web頁面會出錯)
fastcgi_buffers 8 128k;
fastcgi_buffer_size 128k;


3 安裝Zabbix
3.1 新增 Zabbix 軟體倉庫
安裝軟體倉庫配置包,這個包包含了 yum(軟體包管理器)的配置檔案
# rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm

3.2 安裝Zabbix Server
安裝zabbix server
# yum install zabbix-server-mysql


建立資料庫
# mysql -uroot -p
# create database zabbix character set utf8 collate utf8_bin;
# grant all privileges on zabbix.* to [email protected] identified by '<password>';
# quit;


匯入資料 使用 MySQL 來匯入 Zabbix server 的初始資料庫 schema 和資料
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p Zabbix
(如果沒有這個資料夾可以嘗試重複輸入一遍yum install zabbix-server-mysql)
配置Zabbix Server所使用的資料庫
編輯/etc/zabbix/zabbix_server.conf檔案以下內容
DBHost=localhost  資料庫地址
DBName=zabbix  資料庫名字
DBUser=zabbix  資料庫使用者名稱
DBPassword=<password>  資料庫使用者密碼
DBPort=3306 資料庫埠

開機啟動Zabbix Server程序並啟動zabbix server
# systemctl enable zabbix-server
# systemctl start zabbix-server


3.3 安裝Zabbix 前端
# yum install zabbix-web-mysql

配置zabbix前端/etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Aisa/Shanghai

3.4 測試zabbix 訪問nginx配置的虛擬主機地址,若出現以下畫面則server配置成功 38fc7d69b5a3ba0d5abaed9e58a11d6accb35994
  3.5 安裝Zabbix Agent
安裝Zabbix Agent (安裝前請先在主機上安裝軟體倉庫配置包,詳見2.3,同時關閉selinx和防火牆或允許埠通過,詳見2.2.3和2.3.4)
# yum install zabbix-agent

配置Zabbix Agent
修改/etc/zabbix下zabbix_agentd.conf檔案
Server=Server端IP地址
ServerActive=Server端IP地址
Hostname=主機名(此名稱非常重要,請勿亂填,因為後面在web上新增主機時需要這個名字)


設定Zabbix Agent 開機啟動並啟動
# systemctl enable zabbix-agent
# systemctl start zabbix-agent


如果有什麼錯誤的地方,還希望大家在評論中指出,感謝觀看!!!!