Zabbix 3.0.20 搭建之路
我一開始搭建zabbix時,在百度上搜索zabbix的資料,魚龍混雜,大部分都是Zabbix2.2的搭建資料,搭建之路很苦逼。其中不乏有很多坑,特別是nginx屬主屬組權限的賦予和zabbix網頁文件的設置這兩塊,對於我一個剛剛接觸服務這一塊的人來說,很難去把握住其中的要點。故在此記錄下自己搭建的過程。全程只用一個yum裝包,額。
一、 搭建準備:
linux/平臺centos7.5 ,php5.4 + php-fpm + VMworkstation12
>>> centos 7.5自帶php5.4的yum源很方便,php5.3不支持zabbix3.0版本,centos6的要改自帶的php5.3的yum源後再裝php。
nginx
version: nginx/1.14.0
>>>centos默認不帶nginx的yum源,需要在/etc/yum.repo目錄下手動加源,然後用yum裝
[root@localhost ~]#vim /etc/yum.repo/nginx.repo
[nginx]
enable=1
gpgcheck=1
gpgkey=http://nginx.org/packages/keys/nginx_signing.key
name=nginx.o
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
mysql Ver 15.1 Distrib 5.5.56-MariaDB
>>> centos 7以上的mysql,
二 、 nginx 、php 、mysql的安裝和配置:
2.1、安裝nginx並配置
[root@localhost ~]#yum install nginx
裝完然後更改nginx的默認設置
[root@localhost ~]# cat /etc/nginx/conf.d/default.conf
# The default server
server {
listen 80;
server_name localhost;
root /usr/share/zabbix;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/share/zabbix;
index index.php;
# example
#ModSecurityEnabled on;
#ModSecurityConfig /etc/nginx/modsecurity.conf;
}
#error_page 404 /404.html;
#location = /404.html {
#root /usr/share/zabbix;
#}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /usr/share/zabbix; #nginx識別zabbix的目錄,重要
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#location ~ /\.ht {
# deny all;
#}
}
[root@localhost ~]#service nginx start
這個時候,在本地打開localhost,即自己的ip號可以看到nginx代理服務。最小系統可以yum install lynx,lynx localhost查看網頁。然後在/var/www目錄下新建一個index.html,直接用瀏覽器訪問localhost/index.html 就可以直接看到你在index.html文件輸入的內容了,nginx設置成功。
2.2、安裝Mysql、mariadb-server
[root@localhost ~]#yum install -y mysql
[root@localhost ~]#yum install mariadb-server -y
[root@localhost ~]#systemctl start mariadb.service #啟動服務
[root@localhost ~]#systemctl enable mariadb.service #開機啟動
接著等後面裝完zabbix再建立zabbix的數據庫。
2.3、安裝php、php-mysql、php-fpm
[root@localhost ~]# yum install php php-mysql php-fpm
配置php:
[root@localhost ~]# vim /etc/php.ini
date.timezone = Asia/Shanghai
max_execution_time = 300
max_input_time = 300
post_max_size = 16M
memory_limit = 128M
配置php-fpm:
[root@localhost ~]# vim /etc/php-fpm.d/www.conf
將
user = nobody
group = nobody
改為
user = nginx
group = nginx
[root@localhost ~]# systemctl start php-fpm #啟動php-fpm
[root@localhost ~]# systemctl enable php-fpm #設置開機自啟
添加php詳情頁面
[root@localhost ~]# vim /var/www/index.php
<?php
phpinfo();
?>
然後訪問localhost/index.php看到php詳情頁,php配置成功。
三、安裝zabbix並配置zabbix數據庫
3.1、安裝zabbix
進入 https://www.zabbix.com/download
ZABBIX VERSION | OS DISTRIBUTION | DATABASE | |
3.0 LTS (要求php5.3以上) | CENTOS 7 / 6 | Mysql (這裏用mysql) | |
2.2 LTS ( php 5.3及以下) | RED HAT 7 / 6 | PostgreSQL |
在安裝zabbix先看一下自己的php版本:
[root@localhost ~]# rpm -qa|grep php
php-fpm-5.4.16-45.el7.x86_64
php-mysql-5.4.16-45.el7.x86_64
php-5.4.16-45.el7.x86_64
----------------------------------------------------------
接下來按照網頁給的那些教程走,復制粘貼,
安裝zabbix3.0的源碼包:
# rpm -i https://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
安裝 Zabbix server, frontend, agent
# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
查看zabbix安裝情況:
[root@localhost ~]# rpm -qa|grep zabbix
zabbix-server-mysql-3.0.20-1.el7.x86_64
zabbix-release-3.0-1.el7.noarch
zabbix-web-mysql-3.0.20-1.el7.noarch
zabbix-agent-3.0.20-1.el7.x86_64
zabbix-web-3.0.20-1.el7.noarch
>>>zabbix安裝完成。
zabbix設置:
[root@localhost ~]#cat /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
3.2 創建zabbix數據庫(教程的步驟,密碼自定義哦)
[root@localhost ~]# mysql -uroot
password
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> quit;
[root@localhost ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pzabbix
四、zabbix主文件的移動,讓nginx識別
一開始按照別人的教程,
將zabbix的頁面文件copy到指定目錄(跟apache配置的相同即可)
mkdir /var/www/html/zabbix
cp -a frontends/php/* /var/www/html/zabbix/
chown -R apache.apache /var/www/html/zabbix/
這一步有點迷,也是困惑了我最久的地方。首先我沒有frontends/php/這個文件夾,
先安裝個搜索軟件:
[root@localhost ~]# yum install mlocate
更新搜數據庫:
[root@localhost ~]#updatedb
[root@localhost ~]#locate frontends
涼了。GG!
解決方法:
後來我更改了nginx識別zabbix網頁文件的默認配置文件,/etc/nginx/conf.d/default.conf
location ~ \.php$ {
root /usr/share/zabbix; #nginx識別zabbix的目錄,重要
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
修改了這裏的內容後,再賦予nginx權限:
chown nginx.nginx /etc/zabbix/web -R
chwon -R apache:apache /var/lib/php/session
然後在wins10的google瀏覽器打開localhost/zabbix/setup.php,就可以看到zabbix安裝界面了。
比如我的http://192.168.194.128/zabbix.php
五、遇到過的錯誤和解決方法
5.1、zabbix3.2 httpd頁面500錯誤
nginx
原因是php由APACHE啟動,/etc/zabbix/web目錄權限如下,所以導致apache無進入這個目錄的權限。
修改一下屬主:
[root@zabbix-grafana web]# chown apache.apache -R .*
[root@zabbix-grafana web]# ll
總用量 8
-rwxr-xr-x. 1 zabbix zabbix 1036 2月 27 17:23 maintenance.inc.php
-rwxr-xr-x. 1 zabbix zabbix 424 4月 12 16:10 zabbix.conf.php
[root@zabbix-grafana web]# pwd
/etc/zabbix/web
https://blog.csdn.net/xiegh2014/article/details/70228992
5.2、zabbix web站點安裝時無法跳轉到下一步或者點擊下一步沒有反應
lamp平臺 執行命令 chwon -R apache:apache /var/lib/php/session
lnmp平臺 執行命令 chwon -R nginx:anginx /var/lib/php/session
來自 <http://blog.51cto.com/vickyzhang/1968929>
Zabbix 3.0.20 搭建之路