本实验软件版本:
* 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

最终效果

网友评论