本实验软件版本:

* 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 安装依赖包

[[email protected] ~]# 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 创建用户

[[email protected] ~]# useradd nginx -s /sbin/nologin -M

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

[[email protected] ~]# tar xvf nginx-1.9.15.tar.gz && cd nginx-1.9.15

###1.4 配置并进行编译

[[email protected] 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文件。
[[email protected] nginx-1.9.15]# make && make install
make     编译程序
make install   编译成功后就可以安装了

二.安装PHP

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

[[email protected] ~]# tar xvf php-5.5.35.tar.gz && cd php-5.5.35

[[email protected] 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

[[email protected] php-5.5.35]# make && make install

[[email protected] php-5.5.35]# ln -s /usr/local/product/php-5.5.35 /usr/local/php

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

[[email protected] php-5.5.35]# cd /usr/local/php/etc/

[[email protected] 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的数据目录

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

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

[[email protected] ~]# tar -xvf mysql-5.5.49.tar.gz && cd mysql-5.5.49

[[email protected] 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   指定默认编码
[[email protected] mysql-5.5.49]# make && make install

[[email protected] mysql-5.5.49]# ln -s /usr/local/product/mysql5.5.49 /usr/local/mysql

[[email protected] mysql-5.5.49]# chown -R mysql.mysql /usr/local/mysql

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

3.4 拷贝mysql的配置文件

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

3.5 初始化MySQL

[[email protected] support-files]# cd /usr/local/mysql/scripts
[[email protected] 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

[[email protected] ~]# /etc/init.d/mysqld start  或者  service mysqld start 
Starting MySQL.. [ OK ]

3.8 创建软链接

[[email protected] ~]# ln -s /usr/local/mysql/bin/mysql /usr/bin

[[email protected] ~]# 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数据库及用户名和密码

[[email protected] ~]# mysql
mysql> create database zabbix default charset utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on zabbix.* to [email protected]'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创建密码

[[email protected] ~]# mysqladmin -uroot password "zabbix"

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

[[email protected] ~]# yum install mysql-devel net-snmp-devel -y

4.2 安装zabbix

[[email protected] ~]# tar zxf zabbix-3.0.12.tar.gz && cd zabbix-3.0.12

###4.3 编译zabbix

[[email protected] zabbix-3.0.12]# groupadd zabbix
[[email protected] zabbix-3.0.12]# useradd zabbix -s /sbin/nologin -M -g zabbix

4.5 创建软链接

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

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

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

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

[[email protected] zabbix-3.0.12]# mkdir /data/web/zabbix.zhisheng.com -p
[[email protected] zabbix-3.0.12]# mkdir /data/logs/zabbix -p

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

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

5.3 编辑nginx虚拟主机

[[email protected] zabbix-3.0.12]# cd /usr/local/nginx/conf
[[email protected] conf]# mkdir extra
[[email protected] conf]# cd extra/
[[email protected] 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配置文件

[[email protected] 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数据库)

[[email protected] conf]# cd /usr/local/zabbix-3.0.12/etc
[[email protected] 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  数据库密码

六.启动服务

[[email protected] ~]# /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

[[email protected] ~]# /usr/local/php/sbin/php-fpm

6.3 启动zabbix server

[[email protected] ~]# /usr/local/zabbix-3.0.12/sbin/zabbix_server
[[email protected] ~]# 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 查看服务端口

[[email protected] ~]# netstat -lntup(查看是否有8027)
查看端口

6.6 将服务加入开机自启动

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

七. web端配置zabbix

按下一步进行配置

Zabbix3.0 安装

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

Zabbix3.0 安装

设置数据库

Zabbix3.0 安装

参数默认即可

Zabbix3.0 安装

检查配置信息

Zabbix3.0 安装

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

Zabbix3.0 安装

修改文件属主权限

Zabbix3.0 安装

安装完成

Zabbix3.0 安装

默认管理员账号为Admin,密码为zabbix
Zabbix3.0 安装

成功登入

Zabbix3.0 安装

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

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

Zabbix3.0 安装

最终效果

Zabbix3.0 安装

相关文章: