Zabbix3.0 安装

本实验软件版本:

* Cenos6.8,Nginx:1.9.15 , MySQL:5.5.49 , PHP:5.5.35,zabbix3.0.12

注意

搭建Zabbix前提需要有LAMP/LNMP环境,本文也将列出其详细安装步骤
开始搭建之前,将Nginx:1.9.15 , MySQL:5.5.49 , PHP:5.5.35,zabbix3.0.12几个软件包下载下来,并放到系统中

##一.安装Nginx zhisheng

1.1 安装依赖包

[root@zhisheng ~]# yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre* make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel

1.2 创建用户

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

1.3 将下载好的Nginx解压并进入到目录中

[root@zabbix ~]# tar xvf nginx-1.9.15.tar.gz && cd nginx-1.9.15

###1.4 配置并进行编译

[root@zabbix nginx-1.9.15]# ./configure \
--prefix=/usr/local/product/nginx-1.9.15 \   #制定了安装路径
--user=www \
--group=www \
--with-http_ssl_module \             #支持https
--with-http_v2_module \
--with-http_stub_status_module \     #支持nginx状态查询
--with-pcre                          #

执行configure文件,此文件有两个功能:1、让用户选定编译特性;2、检查编译环境。configure执行后将生成MakeFile文件。
[root@zabbix nginx-1.9.15]# make && make install
make     编译程序
make install   编译成功后就可以安装了

二.安装PHP

###2.1 解压并编译,配置

[root@zabbix ~]# tar xvf php-5.5.35.tar.gz && cd php-5.5.35

[root@zabbix php-5.5.35]# ./configure --prefix=/usr/local/product/php-5.5.35 --with-config-file-path=/usr/local/product/php-5.5.35/etc --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath

[root@zabbix php-5.5.35]# make && make install

[root@zabbix php-5.5.35]# ln -s /usr/local/product/php-5.5.35 /usr/local/php

[root@zabbix php-5.5.35]# cp php.ini-production /usr/local/php/etc/php.ini  \\为php提供配置文件
php.ini-development     //开发环境用
php.ini-production      //生产环境用

[root@zabbix php-5.5.35]# cd /usr/local/php/etc/

[root@zabbix etc]# cp php-fpm.conf.default php-fpm.conf

###2.2 修改php.ini参数(zabbix环境需要修改的参数)

vim /usr/local/php/etc/php.ini
max_execution_time = 300  每个脚本的最大执行时间, 按秒计
memory_limit = 128M  一个脚本最大可使用的内存总量


upload_max_filesize = 2M  文件上载默认地限制为2 M
post_max_size = 16M
post的数值要大于等于upload,否则upload不起作用。

max_input_time = 300  脚本最大输入时间 

date.timezone = PRC  时区

三.安装MySQL

3.1 添加mysql用户,创建mysql的数据目录

[root@zabbix ~]# groupadd mysql  新增mysql用户组
[root@zabbix ~]# mkdir -pv /data/mysql    新建mysql数据库数据文件目录
[root@zabbix ~]# useradd -r -g mysql -d /data/mysql -s /sbin/nologin mysql   新增mysql用户
[root@zabbix ~]# chown -R mysql.mysql /data/mysql

###3.2 安装cmake及依赖(安装编译源码所需的工具和库)

[root@zabbix ~]# tar -xvf mysql-5.5.49.tar.gz && cd mysql-5.5.49

[root@zabbix mysql-5.5.49]#cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/product/mysql5.5.49 \   设置mysql安装目录 
-DDEFAULT_CHARSET=utf8 \ 设置服务器的字符集。
-DENABLED_LOCAL_INFILE=1 \     允许从本地导入数据
-DMYSQL_DATADIR=/data/mysql \  设置mysql数据库文件目录

-DWITH_EXTRA_CHARSETS=all \
-DWITH_READLINE=1 \   指定编译库
-DWITH_SSL=system \        (指定编译库)
-DWITH_ZLIB=system \        (指定编译库)
-DWITH_LIBWRAP=0 \        (指定编译库

-DWITH_INNOBASE_STORAGE_ENGINE=1 \  装 innodb 存储引擎
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \        安装 archive 存储引擎
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \      安装 blackhole 存储引擎

-DMYSQL_TCP_PORT=3306 \  设置mysql服务器监听端口,默认为3306
-DDEFAULT_COLLATION=utf8_general_ci   指定默认编码
[root@zabbix mysql-5.5.49]# make && make install

[root@zabbix mysql-5.5.49]# ln -s /usr/local/product/mysql5.5.49 /usr/local/mysql

[root@zabbix mysql-5.5.49]# chown -R mysql.mysql /usr/local/mysql

从mysql5.5起,mysql源码安装开始使用cmake了,设置源码编译配置脚本。

3.4 拷贝mysql的配置文件

[root@zabbix mysql-5.5.49]# cd /usr/local/mysql/support-files/
[root@zabbix support-files]# cp my-medium.cnf /data/mysql/my.cnf
[root@zabbix support-files]# cp mysql.server /etc/init.d/mysqld
[root@zabbix support-files]# chmod +x /etc/init.d/mysqld

3.5 初始化MySQL

[root@zabbix support-files]# cd /usr/local/mysql/scripts
[root@zabbix crsipts]# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql/

3.6 修改MySQL配置文件my.cnf中数据目录

vim /etc/my.cnf
datadir=/data/mysql/

**问题: **
Starting MySQL…The server quit without updating PID file ([FAILED]/mysql/Server03.mylinux.com.pid).
解决:
修改/etc/my.cnf 中datadir,指向正确的mysql数据库文件目录

3.7 启动MySQL

[root@zabbix ~]# /etc/init.d/mysqld start  或者  service mysqld start 
Starting MySQL.. [ OK ]

3.8 创建软链接

[root@zabbix ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin

[root@zabbix ~]# ln -s /usr/local/mysql/bin/mysqladmin /usr/bin

问题:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/tmp/mysql.sock’ (2)
解决:
新建一个链接或在mysql中加入-S参数,直接指出mysql.sock位置。
ln -s /usr/local/mysql/data/mysql.sock /tmp/mysql.sock
/usr/local/mysql/bin/mysql -u root -S /usr/local/mysql/data/mysql.sock

3.9 登录数据库,创建zabbix数据库及用户名和密码

[root@zabbix ~]# mysql
mysql> create database zabbix default charset utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on zabbix.* to zabbix@'localhost' identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

3.10 为数据库的root创建密码

[root@zabbix ~]# mysqladmin -uroot password "zabbix"

##四.安装zabbix server
###4.1 安装依赖软件

[root@zabbix ~]# yum install mysql-devel net-snmp-devel -y

4.2 安装zabbix

[root@zabbix ~]# tar zxf zabbix-3.0.12.tar.gz && cd zabbix-3.0.12

###4.3 编译zabbix

[root@zabbix zabbix-3.0.12]# groupadd zabbix
[root@zabbix zabbix-3.0.12]# useradd zabbix -s /sbin/nologin -M -g zabbix

4.5 创建软链接

[root@zabbix zabbix-3.0.12]# mkdir /var/lib/mysql
[root@zabbix zabbix-3.0.12]# ln -s /tmp/mysql.sock /var/lib/mysql/

4.6 zabbix server需要导入3个sql文件

[root@zabbix zabbix-3.0.12]# mysql -uroot -pzabbix zabbix < database/mysql/schema.sql
[root@zabbix zabbix-3.0.12]# mysql -uroot -pzabbix zabbix < database/mysql/images.sql
[root@zabbix zabbix-3.0.12]# mysql -uroot -pzabbix zabbix < database/mysql/data.sql

##五.zabbix管理网站配置(Nginx)
###5.1 创建项目目录

[root@zabbix zabbix-3.0.12]# mkdir /data/web/zabbix.zhisheng.com -p
[root@zabbix zabbix-3.0.12]# mkdir /data/logs/zabbix -p

5.2 将前端文件拷贝到项目目录下

[root@zabbix zabbix-3.0.12]# cp -rp frontends/php/* /data/web/zabbix.zhisheng.com/

5.3 编辑nginx虚拟主机

[root@zabbix zabbix-3.0.12]# cd /usr/local/nginx/conf
[root@zabbix conf]# mkdir extra
[root@zabbix conf]# cd extra/
[root@zabbix extra]# vim zabbix.conf
server {
listen 8027;
server_name zabbix.zhisheng.com;
access_log /data/logs/zabbix/zabbix.zhisheng.com.access.log main;
index index.html index.php index.html;
root /data/web/zabbix.zhisheng.com;

location /{
try_files $uri $uri/ /index.php?$args;
}

location ~ ^(.+.php)(.*)$ {
fastcgi_split_path_info ^(.+.php)(.*)$;
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param PATH_INFO $fastcgi_path_info;
}

}

5.4 编辑nginx.conf配置文件

[root@zabbix conf]# vim nginx.conf
user nginx;
worker_processes 1;

#error_log logs/error.log warning;
#error_log logs/error.log notice;
#error_log logs/error.log info;

pid logs/nginx.pid;

events {
worker_connections 1024;
}


http {
include mime.types;
default_type application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

access_log logs/access.log main;

sendfile on;
#tcp_nopush on;

#keepalive_timeout 0;
keepalive_timeout 65;

#gzip on;
include extra/*.conf;

}

5.5 修改zabbix_server.conf文件(配置zabbix数据库)

[root@zabbix conf]# cd /usr/local/zabbix-3.0.12/etc
[root@zabbix etc]# vim zabbix_server.conf
LogFile=/tmp/zabbix_server.log  日志文件的名称
PidFile=/tmp/zabbix_server.pid  PID文件名
DBHost=localhost  数据库的主机地址
DBName=zabbix  数据库名
DBUser=zabbix  DB用户名
DBPassword=zabbix  数据库密码

六.启动服务

[root@zabbix ~]# /usr/local/nginx/sbin/nginx

Nginx启动错误告警:
[root@zabbix nginx-1.8.0]# /usr/local/nginx/sbin/nginx
nginx: [emerg] getpwnam(“www”) failed
解决方案一*
在nginx.conf中 把user nobody的注释去掉既可
解决方案二
错误的原因是没有创建www这个用户,应该在服务器系统中添加www用户组和用户www,如下命令:
[root@zabbix ~]# groupadd -f www
[root@zabbix ~]# useradd -g www ww
[root@zabbix nginx-1.8.0]# /usr/local/nginx/sbin/nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
80端口被占用
[root@zabbix nginx-1.8.0]# netstat -tunlp
找到占用80端口的进程 kill掉就行了

###6.2 启动PHP

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

6.3 启动zabbix server

[root@zabbix ~]# /usr/local/zabbix-3.0.12/sbin/zabbix_server
[root@zabbix ~]# ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/

6.4 添加/etc/hosts文件(对应自己机器IP)

vim /etc/hosts
10.0.2.15 zabbix.zhisheng.com

6.5 查看服务端口

[root@zabbix ~]# netstat -lntup(查看是否有8027)
查看端口

6.6 将服务加入开机自启动

[root@zabbix ~]# echo "/usr/local/nginx/sbin/nginx" >>/etc/rc.local
[root@zabbix ~]# echo "/usr/local/php/sbin/php-fpm" >>/etc/rc.local
[root@zabbix ~]# echo "/etc/init.d/mysqld start" >>/etc/rc.local
[roo@zabbix ~]# echo "/usr/local/zabbix-3.0.3/sbin/zabbix_server" >>/etc/rc.local

七. web端配置zabbix

按下一步进行配置

确保全部是OK再进行下一步

设置数据库

参数默认即可

检查配置信息

下载文件(点击该蓝色下载)

修改文件属主权限

安装完成

默认管理员账号为Admin,密码为zabbix

成功登入

如果想要将界面换成中文,则可以按以下步骤操作

[root@zhisheng conf]# vim /data/web/zabbix.zhisheng.com/include/locales.inc.php

最终效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值