源码安装LNMP与搭建Zabbix

时间:2022-09-09 15:40:32

系统环境: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服务

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

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

源码安装LNMP与搭建Zabbix

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

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.)数据库信息都填写正确之后,就会进入到下一步,如下图:

源码安装LNMP与搭建Zabbix

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

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

源码安装LNMP与搭建Zabbix

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

源码安装LNMP与搭建Zabbix

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

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

源码安装LNMP与搭建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&lpar;亲测&rpar;

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

  2. CENTOS6&period;5源码安装LNMP

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

  3. mysql5&period;5&period;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. JS作用域面试题总结

    关于JS作用域问题,是面试的时候面试官乐此不疲的面试题,有时候确实是令人抓狂,今天看到一个讲解这个问题的视频,明白了那些所谓的“原理”顿时有种豁然开朗的感觉~~~ 1.js作用域(全局变量,局部变量) ...

  2. 关于ActionContext&period;getContext&lpar;&rpar;的用法心得

    转: 为了避免与Servlet API耦合在一起,方便Action类做单元测试,Struts 2对HttpServletRequest.HttpSession和ServletContext进行了封装, ...

  3. 在mac中导入hadoop2&period;6&period;0源代码至eclipse

    一.环境准备 1.安装jdk.maven等 2.下载hadoop源代码,并解压 3.将tools.jar复制到Classes中,具体原因见http://wiki.apache.org/hadoop/H ...

  4. C语言实现OOP 版本2

    写版本2的原因,还是发现在不同的具体图形模块里发现了重复的release代码,这是坏味道,所以还是决定消除这些重复代码,DRY! shape.h #ifndef SHAPE_H #define SHA ...

  5. Hadoop之MapReduce分布式计算

    简单介绍一下项目背景——很简单,作死去接下老师的活,然后一干就是半个月,一直忙着从零基础到使用Hadoop中的MapReduce来解决一个实际问题,也就是用来计算一个数据量较大的二度朋友关系. 那么首 ...

  6. 频繁模式挖掘中Apriori、FP-Growth和Eclat算法的实现和对比

    最近上数据挖掘的课程,其中学习到了频繁模式挖掘这一章,这章介绍了三种算法,Apriori.FP-Growth和Eclat算法:由于对于不同的数据来说,这三种算法的表现不同,所以我们本次就对这三种算法在 ...

  7. LOVO学习之思维导图和文档编辑器

    思维导图——是一种图示笔记方法,一种图示笔记工具,一个思考的利器.能将放射性思考具体化,帮助人们理解和记忆事物. 思维导图绘制规则:1,在纸的正*用一个彩色图像或者符号开始画思维导图. 2,把所有主 ...

  8. cmd命令行模式开启或关闭 windows功能 (转载)

    1,用管理员身份运行cmd. 2,运行 dism /online  /Get-Features >C:\1.txt,这样会在C盘生成一个txt文件,文件内容是功能列表,可以对照“打开或关闭win ...

  9. C&num; SpinLock实现

    关于SpinLock自旋锁网上已经有很多说明,这里也copy了一部分,我这里主要关注微软的实现,学习人家的实现方式. 如果由于垃圾回收,基于对象的锁对象开销太高,可以使用SpinLock结构..NET ...

  10. 贪吃蛇Food Java实现&lpar;二&rpar;

    1.antition包Food类 package cn.tcc.snake.antition; import java.awt.Graphics;import java.awt.Point;publi ...