1. 程式人生 > >Zabbix 3.0.20 搭建之路

Zabbix 3.0.20 搭建之路

amp clas rgb body 解決方法 con org nginx代理 -i

Zabbix 3.0.20 LNMP 搭建之路

我一開始搭建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,

MariaDB ,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 VERSIONOS DISTRIBUTIONDATABASE
3.0 LTS (要求php5.3以上)CENTOS 7 / 6Mysql (這裏用mysql)
2.2 LTS ( php 5.3及以下)RED HAT 7 / 6PostgreSQL

在安裝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 搭建之路