系统环境:CentOS release 6.5 (Final)

搭建Zabbix 3.0对PHP环境要求>= 5.4

一、下载NMP的软件包:

N:wget http://nginx.org/download/nginx-1.8.0.tar.gz

P:wget http://cn2.php.net/distributions/php-5.6.28.tar.gz

M:https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.36.tar.gz

二、搭建LNMP平台

1、M

1.)检测系统自带的mysql-libs包,并进行卸载

2.)由于MySQL源码安装:从mysql5.5以后是通过cmake来编译的安装的,但cmake要依赖ncurses,所以你懂的,有需要依赖就装给它!

下载如下插件并编译安装:

ncurses:ftp://ftp.gnu.org/gnu/ncurses/ncurses-5.8.tar.gz

cmake:https://cmake.org/files/v3.0/cmake-3.0.2.tar.gz

./configure           make ; make install

3.)编译安装Mysql

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/MySQL/ -DMySQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMySQL_UNIX_ADDR=/tmp/MySQL.sock -DMySQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

make ; make install

#######编译参数详解:

# -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ #安装路径
# -DMYSQL_DATADIR=/usr/local/mysql/data \ #数据文件存放位置
# -DSYSCONFDIR=/etc \ #my.cnf路径
# -DWITH_MYISAM_STORAGE_ENGINE=1 \ #支持MyIASM引擎
# -DWITH_INNOBASE_STORAGE_ENGINE=1 \ #支持InnoDB引擎
# -DWITH_MEMORY_STORAGE_ENGINE=1 \ #支持Memory引擎
# -DWITH_READLINE=1 \ #快捷键功能(我没用过)
# -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock \ #连接数据库socket路径
# -DMYSQL_TCP_PORT=3306 \ #端口
# -DENABLED_LOCAL_INFILE=1 \ #允许从本地导入数据
# -DWITH_PARTITION_STORAGE_ENGINE=1 \ #安装支持数据库分区
# -DEXTRA_CHARSETS=all \ #安装所有的字符集
# -DDEFAULT_CHARSET=utf8 \ #默认字符

4.)安装完成后续的操作:

useradd mysql

chown -R mysql.mysql /usr/local/mysql
chown -R mysql.mysql /mysql/data/

5.)初始化数据库(初始完之后会在数据文件中生成一些文件)

cd /usr/local/MySQL/scripts

./mysql_install_db    --user=mysql    --basedir=/usr/local/MySQL  --datadir=/usr/local/MySQL/data

6.)copy主配置文件到/etc/。
cp /usr/local/MySQL/support-files/my-default.cnf     /etc/my.cnf
注意:老版本名称是my-medium.cnf3

7.)将mysql添加到系统服务:
cp /usr/local/MySQL/support-files/mysql.server     /etc/init.d/mysqld

8.)修改配置文件:/etc/my.cnf

basedir #mysql的安装目录
datadir #mysq的数据目录
port #端口号默认是3306

server_id # 唯一的服务辨识号,数值位于 1 到 2^32-1之间。此值在master和slave上都需要设置。如果 “master-host” 没有被设置,则默认为1,但是如果忽略此选项,MySQL不会作为master生效

socket  #为MySQL客户程序与服务器之间的本地通信指定一个套接字文件。默认文件中不用配置,若是想将socket指定其他目录请根据编译时的目录设置软连接。

9.)修改默认MySQL账户密码并允许root从任何主机远程连接服务器(和zabbix无关,可忽略)

mysql> use mysql;
mysql> update user set password=PASSWORD('123456') where user='root';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; #开启远程登录
mysql> flush privileges;

10. )创建zabbix数据库

mysql> create database zabbix charset utf8;

mysql> grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';

mysql> flush privileges;

注意事项:

重新编译时,需要清除旧的对象文件和缓存信息。

#make clean

#rm -f CMakeCache.txt

#rm -rf /etc/my.cnf

也可以使用二进制文件不用编译快速安装,这是一个已经比源码包大很多的一个已经完成编译安装步骤的封装包,下载完之后需要对配置进行一些修改:
https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.36-linux-glibc2.5-x86_64.tar.gz

2.N

1.)相关插件安装:yum -y install pcre-devel zlib zlib-devel openssl openssl-devel

2.)创建用户并编译安装:

groupadd www
useradd www -g www -s /sbin/nologin -M

./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-pcre
 make ; make install

3.P

1.)安装gd/curl/xml等开发库
yum install -y gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel

2.)解压编译并安装,如下参数是支持zabbix 3.0所必须安装的

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/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

make ;make install

3.)收尾工作:

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/src/php-5.6.28/php.ini-production /usr/local/php/etc/php.ini

4.)启动php:/usr/local/php/sbin/php-fpm

5.)编辑nginx配置文件,验证是否可以访问php

user www www;
error_log /usr/local/nginx/logs/nginx_error.log crit;
pid /usr/local/nginx/logs/nginx.pid; events
{
use epoll;
worker_connections ;
}
http
{
server
{
listen ;
server_name localhost;
index index.html index.htm index.php;
root /usr/local/nginx/html; location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
}
}
}

创建php测试页:
vim /usr/local/nginx/html/1.php
<?php
phpinfo();
?>
访问测试:http://address/1.php

三、搭建zabbix

1.)下载需要的插件:

yum install libdbi-dbd-mysql net-snmp-devel curl-devel net-snmp libcurl-devel libxml2-devel

2.)下载tar 包

wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.0.3/zabbix-3.0.3.tar.gz/download

3)解压编译安装 :

./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql=/usr/local/MySQL/bin/mysql_config --with-net-snmp --with-libcurl --with-libxml2

注意:--with-mysql=/usr/local/MySQL/bin/mysql_config:不这样写可能会出现找不到MySQL图书馆的错误。“路径根据环境写”

make && make install

4.)创建用户:

groupadd zabbix
useradd -g zabbix zabbix

5.)安装完后就进行数据库文件导入操作

cd /root/zabbix-3.0.4/database/mysql

 mysql -uzabbix -p zabbix < schema.sql
mysql -uzabbix -p zabbix < images.sql
mysql -uzabbix -p zabbix < data.sql

6.)配置PHP

vim  /usr/local/php/etc/php.ini

date.timezone = Asia/Shanghai
post_max_size = 16M
max_execution_time = 300
max_input_time = 300

7.)编辑配置文件

vim /usr/local/zabbix-server/etc/zabbix_server.conf

ListenPort=10051
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ListenIP=0.0.0.0

8.)启动Zabbix 并查看监听的端口

/usr/local/zabbix-server/sbin/zabbix_server -c /usr/local/zabbix-server/etc/zabbix_server.conf

netstat -nplt | grep zabbix_server

9.)可能出现的错误

✡启动报错:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

提示lib错误方案:

cp /usr/local/MySQL/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

vim /etc/ld.so.conf →>》 /usr/local/MySQL/lib/libmysqlclient.so.18
ldconfig

安装完成zabbix启动mysql错误,解决方案:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

✡后台报错:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

116852:20170525:154449.330 Cannot connect to the database. Exiting...
zabbix_server [116907]: cannot recreate Zabbix semaphores for IPC key 0x7a004442 Semaphore ID 4294967295: [22] Invalid argument
zabbix_server [117197]: cannot recreate Zabbix semaphores for IPC key 0x7a004442 Semaphore ID 4294967295: [22] Invalid argument

++++++++++++++++++++++解决办法:ipcrm -S 0x7a004442

10291:20161122:091648.178 using configuration file: /etc/zabbix/zabbix_agentd.conf
10291:20161122:091648.178 cannot set resource limit: [13] Permission denied
10291:20161122:091648.178 cannot disable core dump, exiting...

++++++++++++++++++++++解决办法:setenforce 0

10)拷贝zabbix web文件到Nginx根目录

rm -fr /usr/local/nginx/html/*

cd /root/zabbix-3.0.4/frontends/php/

cp -a . /usr/local/nginx/html/

chown -R www.www /usr/share/nginx/html/*

11.)配置Nginx

user  www;
worker_processes ; events {
worker_connections ;
} http {
include mime.types;
default_type application/octet-stream; sendfile on; keepalive_timeout ; server {
listen ;
server_name localhost; access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log error; location / {
root /usr/local/nginx/html;
index index.html index.htm index.php;
} error_page /50x.html;
location = /50x.html {
root /usr/local/nginx/html;
} location ~ \.php$ {
root /usr/local/nginx/html;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

当上诉的配置完成后,依次启动各个服务后进入浏览器输入IP即可进入zabbix的配置面

12.)zabbix页面配置

PHP 配置检查界面,结果是 OK 表示正常,如果是 fail 状态,请修改相关的 php 配置参数,并重启php服务


可能会出现的错误:PHP option "always_populate_raw_post_data" must be set to "-1"
解决方案:将php.ini中相应的注释去掉,重启php

13.)检查都通过后,就进入到下面这个界面,选择数据库及相关配置信息,其中有数据库地址、端口、用户名及密码。

在操作连接数据库时可能会出现

The frontend does not match Zabbix database. Current database version (mandatory/optional): 2050061/2050061. Required mandatory version: 3000000. Contact your system administrator.

遇到这种问题需要删除一下创建的zabbix库,然后在从新导入zabbix库文件。

14.)数据库信息都填写正确之后,就会进入到下一步,如下图:

这里出现权限报错,将配置文件下载下来保存到/usr/local/nginx/html/conf/zabbix.conf.php文件中。如果手动写入配置文件之后如果还报错,可以忽略,将浏览器关闭并重新打开连接即可。登录账号Admin,登录密码zabbix

15.)完成上面操作就安装完了,下面就进入到了Zabbix 3.0主界面。

16.)点击页眉最右侧的小人头像进入如下界面配置语言

17.)Zabbix缺省使用DejaVuSans字体来生成图表中的动态文字,所以在将界面切换成中文后,图表中的中文汉字会因为缺少对应的字体文件而现实不正常,汉字会显示为一个一个小方块。

(1)、windows操作系统 ----  控制面板 ---- 字体 ---- 自行选择一种字体复制出来再上传到zabbix服务器上。

(2)上传到 /usr/local/nginx/html/fonts/,并且把TTF后缀改为ttf,然后修改/usr/local/nginx/html/include/defines.inc.php,将其中多处使用“DejaVuSans“的地方,替换为”SIMKAI“重启httpd服务,中文图表中的汉字就显示正常了。

至此zabbix的安装已经完成,不幸运的小伙伴搭建完成后可能会出现配置都对,但就是css样式无法加载,web页面只显示文字不显示图片的问题。我遇到过两次这种问题但是都没有解决,都是通过重新搭建修复的,我从网上找到了如下的解决方案,可以试试。ps:知道什么原因造成的小伙伴请评论留言。

zabbix web页面css样式不显示只显示文字问题:
查看nginx报错文件,若是有类似FastCGI sent in stderr: "Access to the script。。。这样子的错误,就去php配置文件里面更改这个文件:security.limit_extensions = .php .php3 .php4 .php5 .js .css .jpg .gif .png .jpeg .html .ico .bmp

源码安装LNMP与搭建Zabbix的更多相关文章

  1. linux 手动源码安装lnmp(亲测)

    linux 手动源码安装lnmp笔记(亲测)<pre>先安装这2个yum install gccyum install g++</pre><pre>先在linux ...

  2. CENTOS6.5源码安装LNMP

    CENTOS6.5源码安装LNMP 一.安装前准备 ########################################################################## ...

  3. mysql5.5.30源码安装及主从搭建

    双机热备(实验环境) 主服务器:ip地址192.168.100.244,mysql版本5.5.30,源码安装 从服务器:ip地址192.168.100.245 一.源码安装mysql5.5 启动目录: ...

  4. 源码安装LNMP

    需要准备的安装包以及下载地址(只是一个大概地址,版本和下载方式需要自行选择): Nginx http://nginx.org/en/download.html nginx主程序包 MySQL http ...

  5. ubuntu 源码安装 lnmp 环境

    准备篇 下载软件包 1.下载nginx http://nginx.org/download/nginx-1.2.0.tar.gz 2.下载pcre  (支持nginx伪静态) ftp://ftp.cs ...

  6. 在CentOS下源码安装 Xen并搭建Windows虚拟机

    前言 首先要感谢xing的帮助,在他的指导之下才完成环境的搭建,本文档的部分内容来自他的文档.另外,还要感谢——互联网. 1.       环境介绍 Linux: CentOS 6.3 Xen: Xe ...

  7. 源码安装LNMP环境

    新装CentOS 6.7,安装默认服务版本basic server 安装顺序linux(忽略...)--> Nginx--> Mariadb--> PHP 为了不影响测试效果,首先关 ...

  8. centos源码安装lnmp

    参考博客:http://blog.csdn.net/yanzi1225627/article/details/49123659 服务器环境为:CentOS6.6 64位(虚拟机) 一.安装前准备 创建 ...

  9. 源码安装zabbix

    源码安装zabbix 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.     欢迎加入:高级运维工程师之路 598432640 前言:参考网上多篇源码安装的连接,自己把安装过程丢在这 ...

随机推荐

  1. SQL server-自增主键

    1.CREATE   TABLE   表名(     字段名   [int]   IDENTITY   (1,   1)   NOT   NULL   ,    //--(seed = 1,incre ...

  2. 巨蟒python全栈开发flask5

    1.轮询&&长轮询&&长连接 2.GeventWebsocket 3.Websocket群聊 4.Websocket单聊 5.websocket握手 6.websock ...

  3. 第三课补充01——set类型 sorted类型命令操作详解,redis管道及事务

    1. set类型的命令操作: (1)sadd命令:向key指定的set集合添加成员 ##sadd命令:是设置set集合类型的数据,sadd  <key> <mumber> [& ...

  4. Powershell Function Get-TimeZone

    代码原文地址: https://gallery.technet.microsoft.com/scriptcenter/Get-TimeZone-PowerShell-4f1a34e6 <# .S ...

  5. Android WebView 加载网页

    通过Android 中 WebView 控件加载HTML5 页面,这是实现Android 混合开发的基础. 选择加载的网页可以是本地,也可用使远程的.需要添加访问互联网的权限:<uses-per ...

  6. 深入Redis内部-Redis 源码讲解(转)

    Redis作为 NoSQL 数据库的杰出代表,一直广受关注,其轻量级的敏捷架构,向来有存储中的瑞士军刀之称.下面推荐的一篇文章,从源码的角度讲解了Redis 的整个工作流程,是了解 Redis 流程的 ...

  7. 流畅的python 使用一等函数实现设计模式

    案例分析:重构“策略”模式 经典的“策略”模式 电商领域有个功能明显可以使用“策略”模式,即根据客户的属性或订单中的商品计算折扣.假如一个网店制定了下述折扣规则. 有 1000 或以上积分的顾客,每个 ...

  8. ORACLE性能优化- Buffer cache 的调整与优化

    Buffer Cache是SGA的重要组成部分,主要用于缓存数据块,其大小也直接影响系统的性能.当Buffer Cache过小的时候,将会造成更多的 free buffer waits事件. 下面将具 ...

  9. 009-JDK可视化监控工具-JConsole

    Console工具在JDK/bin目录下,启动JConsole后,将自动搜索本机运行的jvm进程,不需要jps命令来查询指定.双击其中一个jvm进程即可开始监控,也可使用“远程进程”来连接远程服务器. ...

  10. phpexcel导出带生成图片完美案例

    // 导出exl public function look_down(){ $id = I('get.id'); $m = M ('offer_goods'); $where['offer_id'] ...