系统环境: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. Oracle-Rman(物理备份)

    Rman(物理备份) Rman -recover manager Rman 备份的对象 数据文件 数据文件 (Data File) 控制文件 控制文件 (Control File) 参数文件 参数文件 ...

  2. 【Python之路】第二十二篇--Django【基础篇】

    1 Django流程介绍 MTV模式       著名的MVC模式:所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层:他们之间以一种插件似的,松耦合的方式连接在一起. 模型负责业 ...

  3. query_string查询支持全部的Apache Lucene查询语法 低频词划分依据 模糊查询 Disjunction Max

    3.3 基本查询3.3.1词条查询 词条查询是未经分析的,要跟索引文档中的词条完全匹配注意:在输入数据中,title字段含有Crime and Punishment,但我们使用小写开头的crime来搜 ...

  4. XML 解析之 jaxp 解析器

    XML 的解析方式有两种方式: DOM 解析和 SAX 解析. DOM 解析: 根据 XML 的层级结构, 在内存中分配一个树形结构, 把 XML 的标签, 属性和文本都封装成对象. 优点: 可以实现 ...

  5. 剑指Offer——从尾到头打印链表

    题目描述: 输入一个链表,从尾到头打印链表每个节点的值. 分析: 方法1:利用栈的性质,先从头到尾遍历链表每个节点的值存入栈中,最后一个一个出栈顺序便是从尾到头的. 方法2:直接从头到尾遍历链表存储节 ...

  6. Android 屏幕切换动画

    public void overridePendingTransition (int enterAnim, int exitAnim) Call immediately after one of th ...

  7. 七牛云 如何配置域名的 CNAME

    CNAME 简介 CNAME 即指别名记录,也被称为规范名字.这种记录允你将多个名字映射到同一台计算机. 当需要将域名指向另一个域名,再由另一个域名提供 ip地址,就需要添加 CNAME 记录. 为什 ...

  8. 对ASIHTTPRequest的封装

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/quanqinayng/article/details/37659751 .h文件  // // Ht ...

  9. 1.Oracle数据库查看用户锁表和对表解锁的sql语句

    ① 查看用户锁表 select sess.sid, sess.serial#, lo.oracle_username, lo.os_user_name, ao.object_name, lo.lock ...

  10. 对 tensorflow 中 tf.nn.embedding_lookup 函数的解释

    http://stackoverflow.com/questions/34870614/what-does-tf-nn-embedding-lookup-function-do embedding_l ...