LNMP+Zabbix搭建

cmake2.8.8,Nginx-1.6.3,Php-5.5.38,Mysql-5.5.32,Zabbix-3.2.6

修改 /etc/selinux/config 文件中的 SELINUX="" 为 disabled #关闭防火墙命令

setenforce 0 即时生效

关闭防火墙的方法为:

1. 永久性生效

开启:chkconfig iptables on

关闭:chkconfig iptables off

所有需要用到的编译工具和库:

yum install make  autoconf automake curl curl-devel gcc gcc-c++ gtk+-devel zlib-devel openssl openssl-devel pcre-devel  perl kernel-headers compat*  cpp glibc libgomp libstdc++-devel keyutils-libs-devel libsepol-devel libselinux-devel krb5-devel  libXpm* freetype freetype-devel freetype* fontconfig fontconfig-devel libpng* ncurses* libtool* libxml2-devel  bison libaio-devel

1,进入yum源配置目录

cd /etc/yum.repos.d

2,备份系统自带的yum源

mv CentOS-Base.repo CentOS-Base.repo.backup

3,下载新的CentOS-Base.repo 到/etc/yum.repos.d/

CentOS 5

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo

CentOS 6

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

CentOS 7

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

4,下载完yum源后,执行下边命令更新yum配置,使操作立即生效

yum makecache

# make //确定你的服务器有安装make,如果没有安装请执行 yum install make

先安装所有需要的开发软件依赖包命令如下:

yum install gcc* make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel -y

##这是安装MySQL数据库所需要的依赖包:yum -y install freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel libmcrypt-devel zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel mhash mcrypt bzip2-devel

解压 cmake

tar -zvxf cmake-2.8.8.tar.gz

cd cmake-2.8.8

./configure

make && make install

----------------------------------------------------------------------------------------

解压PHP

tar -zvxf php-5.5.38.tar.gz -C /usr/local/src/ # /home/

cd php-5.5.38

编译php

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

按照官方要求配置php

cp php.ini-production /usr/local/php-5.5.38/etc/php.ini

###cp /usr/local/php-5.5.38/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf

cp /home/php-5.5.38/sapi/fpm/sapi/fpm/php-fpm /usr/local/bin/

[root@localhost php-5.5.38]# vim etc/php.ini

 max_execution_time = 

 max_input_time = 

 memory_limit = 128M

 post_max_size = 32M

 upload_max_filesize = 2M

 date.timezone = Asia/Shanghai

cp /usr/local/php-5.5.38/etc/php-fpm.conf.default /usr/local/php-5.5.38/etc/php-fpm.conf

vim /usr/local/php-5.5.38/etc/php-fpm.conf

; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. user = www-data

group = www-data

/usr/local/php-5.5.38/sbin/php-fpm 启动命令

cd /usr/local/src/php-5.5.38

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm 启动命令

chmod +x /etc/init.d/php-fpm

杀进程命令 kill -9 id号或者 killall xxx程序名字

测试是否安装成功:/usr/local/php-5.5.38/bin/php -v

一般显示正确:

PHP 5.5.38 (cli) (built: Apr 2 2018 07:20:56)

Copyright (c) 1997-2015 The PHP Group

Zend Engine v2.5.0, Copyright (c) 1998-2015 Zend Technologies

测试页面

vim /usr/local/nginx-1.6.3/html/test.php

<?php

phpinfo();

?>

-----------------------------------------------------------------------------------------------------------------

解压 Nginx

tar -zvxf nginx-1.6.3.tar.gz -C /usr/local/src

cd nginx-1.6.3

编译指定nginx安装路径跟功能

./configure --prefix=/usr/local/nginx-1.6.3 \

--with-http_ssl_module --with-http_spdy_module \

--with-http_stub_status_module --with-pcre

编译和编译安装

make && make install

安装Nginx所需要的依赖包:yum install pcre* openssl*

/usr/local/nginx-1.6.3/sbin/nginx 启动命令

/usr/local/nginx-1.6.3/sbin/nginx -s stop 关闭命令

/usr/local/nginx-1.6.3/sbin/nginx -s reload 重置命令

测试nginx配置是否正确:/usr/local/nginx-1.6.3/sbin/nginx -t

测试是否安装成功:/usr/local/nginx-1.6.3/sbin/nginx -v

测试:curl -s http://localhost | grep nginx.com

正确结果是:

nginx.com.

chmod 755 /usr/local/nginx-1.6.3/html/zabbix/php

¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥

创建用户和组

groupadd mysql

useradd mysql -s /sbin/nologin -M -g mysql

解压MySQL

yum install cmake

tar -zvxf mysql-5.5.32.tar.gz -C /usr/local/src/

cd mysql-5.5.32

cmake . -DCMAKE_INSTALL_PREFIX=/apploaclhost/mysql-5.5.32 \- DMYSQL_DATADIR=/apploaclhost/data \-DMYSQL_UNIX_ADDR=/apploaclhost/mysql-5.5.32/tmp/mysql.sock \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \-DENABLED_LOCAL_INFILE=ON \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_FEDERATED_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \-DWITHOUT_PARTITION_STORAGE_ENGINE=1 \-DWITH_FAST_MUTEXES=1 \-DWITH_ZLIB=bundled \-DENABLED_LOCAL_INFILE=1 \-DWITH_READLINE=1 \-DWITH_EMBEDDED_SERVER=1 \-DWITH_DEBUG=0

make && make install

ln -s /application/mysql-5.5.32/ /application/mysql

拷贝配置文件和修改权限

cp support-files/my-small.cnf /etc/my.cnf

chown -R mysql.mysql /application/mysql/data/

chmod 1777 /tmp/

echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile

tail -l /etc/profile

source /etc/profile

echo $PATH

cd /application/mysql/scripts/

./mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql 初始化

cp support-files/mysql.server  /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

/etc/init.d/mysqld start

修改密码:

mysql>set password for root@'localhost'=password('123456');

mysql -uroot -p

-bash: mysql: command not found

解决办法:

ln -s /usr/local/mysql-5.5.32/bin/mysql /usr/bin/ #mysql-5.5.32是编译安装的路径

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

查看所有正在运行的端口命令:netstat -anptl

解压Zabbix

tar -zvxf mysql-5.5.32.tar.gz

cd /home/zabbix-3.2.6

所需要的依赖包:yum install -y php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel net-snmp net-snmp-devel perl-DBI

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

make & make install

三、数据库配置

# 数据库初始化命令

mysql_secure_installation

忘记root密码修改root密码

mysqld_safe --skip-grant-tables(这条命令得挂着改才有效)

mysql> use mysql;

mysql> update user set password=password("123456") where user="root";

mysql> flush privileges;

# mysql -u root -p

mysql> create database zabbix character set utf8; ##创建数据库zabbix,并且数据库编码使用utf8

mysql>grant all on zabbix.*to 'zabbix'@'%'identified by 'zabbix'with grant option; ##允许账户能从本机连接至数据库zabbix

mysql> flush privileges; ##刷新系统授权

②导入数据库

[root@localhost zabbix-3.2.6]# ls

aclocal.m4 conf configure.ac INSTALL man upgrades

AUTHORS config.guess COPYING install-sh misc

bin config.log database m4 missing

build config.status depcomp Makefile NEWS

ChangeLog config.sub frontends Makefile.am README

compile configure include Makefile.in src

# cd database

# cd mysql

[root@localhost mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql

[root@localhost mysql]# mysql -uzabbix -pzabbix zabbix < images.sql

[root@localhost mysql]# mysql -uzabbix -pzabbix zabbix < data.sql

数据库里直接导入法:

mysql> use zabbix; mysql> source /home/zabbix-3.2./database/mysql/schema.sql;

mysql> source /home/zabbix-3.2./database/mysql/images.sql;

mysql> source /home/zabbix-3.2./database/mysql/data.sql;

#########官网 www.zabbix.com ########

/usr/local/zabbix/etc/zabbix_server.conf

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

 LogFile=/tmp/zabbix_server.log ##日志文件地址

 PidFile=/tmp/zabbix_server.pid

 DBHost=localhost ##数据库主机

 DBName=zabbix ##数据库名

 DBUser=zabbix ##数据库用户名

 DBPassword=zabbix ##数据库密码

 ListenIP=127.0.0.1,192.168.72.131 ##数据库IP地址

 AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts ##zabbix运行脚本存放目录

vim /usr/local/zabbix/etc/zabbix_agent.conf

 PidFile=/tmp/zabbix_agentd.pid ##进程PID

 LogFile=/tmp/zabbix_agentd.log ##日志保存位置

 EnableRemoteCommands= ##允许执行远程命令

 Server=127.0.0.1 被动##server端的ip ,建议这里改成server端的ip,否则可能会在创建监控模板启动报错

 ServerActive=127.0.0.1 ##主动模式本机 IP

 Hostname=Zabbix server ##必须与zabbix创建的hostname相同,也可以是客户端ip

 Include=/usr/local/etc/zabbix_agentd.conf.d/

 UnsafeUserParameters= ##启动自定义key

groupadd zabbix

useradd -g zabbix -s /sbin/nologin zabbix

修改vim /etc/services,添加下面几行

zabbix-agent /tcp #zabbix agent

zabbix-agent /udp #zabbix agent

zabbix-trapper /tcp #zabbix trapper

zabbix-trapper /udp #zabbix trapper

拷贝启动命令:

cp /home/zabbix-3.2.6/misc/init.d/fedora/core/* /etc/init.d/

[root@localhost ~]# vi /etc/init.d/zabbix_server

BASEDIR=/usr/local/zabbix ##########修改这行 #路径看编译的路径

[root@localhost ~]# vi /etc/init.d/zabbix_agentd

BASEDIR=/usr/local/zabbix ##########修改这行

创建

mkdir /usr/local/nginx-1.6.3/html/zabbix/

拷贝Zabbix下的php文件到nginx前端(主要是这里使用的是nginx作为web)

cp -a /home/zabbix-3.2.6/frontends/php/ /usr/local/nginx-1.6.3/html/zabbix/

修改使用者和修改权限

chown zabbix.zabbix /usr/local/nginx-1.6.3/html/zabbix/ -R

chmod -R 777 /usr/local/nginx-1.6.3/html/zabbix/

检查Zabbix是否配置正确的命令:

grep -n '^'[a-Z] /usr/local/zabbix/etc/zabbix_server.conf

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

配置nginx的vim /usr/local/nginx-1.6.3/conf/nginx.conf

#设置用户

user nginx;

#工作衍生进程数

worker_processes ;

#设置错误文件存放路径

#error_log logs/error.log;

#error_log logs/error.log notice;

#error_log logs/error.log info;

#设置pid存放路径(pid是控制系统中重要文件)

pid /usr/local/nginx-1.6./logs/nginx.pid;

#

#设置最大连接数

events {

worker_connections ;

}

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 

keepalive_timeout ;

#开启gzip压缩

#gzip on;

include extra/*.conf;

server {

listen 80;

server_name www.zabbix1.com;

index index.html index.htm index.php;

root /usr/local/nginx-1.6.3/html/zabbix/php;

#设置字符

#charset koi8-r;

#access_log logs/host.access.log main;

location / {

root /usr/local/nginx-1.6.3/html/zabbix/php;

index index.php index.html index.htm;

}

#error_page 404 /404.html;

#redirect server error pages to the static page /50x.html

#

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

location ~ \.php$ {

fastcgi_index index.php;

fastcgi_pass 127.0.0.1:9000;

include fastcgi_params;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;

}

# deny access to .htaccess files, if Apache's document root

#concurs with nginx's one

#

#location ~ /\.ht {

# deny all;

#}

}

# another virtual host using mix of IP-, name-, and port-based configuration

#server {

#listen 8000;

#listen somename:8080;

#server_name somename alias another.alias;

#location / {

# root html;

# index index.html index.htm;

# }

#}

# HTTPS server

#server {

#listen 443 ssl;

#server_name localhost;

#ssl_certificate cert.pem;

#ssl_certificate_key cert.key;

#ssl_session_cache shared:SSL:1m;

#ssl_session_timeout 5m;

#ssl_ciphers HIGH:!aNULL:!MD5;

#ssl_prefer_server_ciphers on;

#location / {

# root html;

# index index.html index.htm;

# }

#}

}

启动Zabbix web页面出现的问题

问题1提示:  #PHPbcmath extension missing (PHP configuration parameter --enable-bcmath)

解决步骤

路径:/usr/local/src/php-5.5.38/ext/bcmath

/usr/local/php-5.5.38/bin/phpize

./configure --with-php-config=/usr/local/php-5.5.38/bin/php-config

[root@localhost bcmath]# make && make install

Installing shared extensions: /usr/local/php-5.5.38/lib/php/extensions/no-debug-non-zts-20121212/bcmath.so

[root@localhost bcmath]# vim /usr/local/php-5.5.38/etc/php.ini

extension_dir配置的路径, 把bcmath.so拷贝到该路径下。然后重启php

或者删除安装目录,重新编译安装即可。

grant all on zabbix.*to 'zabbix'@'localhost'identified by 'zabbix'with grant option;

处理的方法是要么写个测试脚本,要么就是查看一下是否有授权,或者把%替换localhost即可。

做了个测试脚本:

vim /usr/local/nginx-1.6.3/html/zabbix/php/test_mysql.php

<?php

$link_id=mysql_connect('192.168.xx.xx:3306','zabbix','zabbix') or mysql_error();

if ($link_id) {

echo "mysql successful by chenshuitao !";

}else{

echo mysql_error();

}

?>

问题2提示:Zabbix_server 启动失败。。

netstat -anp | grep zabbix 查看服务是否启动

setenforce 0 关闭SELinux

lsof -i:10051

Zabbix-server 启动正常但是10051端口没有起来,

解决方法

看日志 tail -f /tmp/zabbix_server.log的报错如下;vim /usr/local/zabbix/etc/zabbix_server.conf

1635:20140706:015834.413 [Z3001] connection to database ‘zabbix’ failed: [2002] Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

1635:20140706:015834.413 Database is down. Reconnecting in 10 seconds.

看来是mysql sock错误了。 找到 #DBSocket=/usr/local/mysql-5.5.32/tmp/mysql.sock 去掉前面的#然后按照数据库的路径改注释即可。

zabbix页面乱码解决问题:

1,到windows系统下下载个新的字体

2,到zabbix页面的路径下替换原来的字体即可

/usr/local/nginx-1.6.3/html/zabbix/php/fonts/

问题3:Zabbix日志提示

解决方案:yum install fping

问题4提示:

解决方案:1,查看Zabbix-server日志 命令如下:tail -f /tmp/zabbix_server.log,

2,修改Zabbix-server配置文件里的

ListenIP=为本机ip (数据库ip)

3,重启虚拟机

注:

界面切换命令行:Ctrl+alt+f2 切换回来按 alt+f7

rz sz命令安装:yum install lrzsz -y

上传命令:rz-y

修改主机名:vim /etc/sysconfig/network

修改静态ip

[root@zabbix-server ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

/etc/init.d/network restart

LNMP+Zabbix搭建的更多相关文章

  1. LNMP+zabbix分布式监控搭建及版本升级

    LNMP+zabbix分布式监控搭建需要组件:gcc gcc-c++ openssl* pcre pcre-devel gd gd-devel libjpeg-devel libpng-devel l ...

  2. zabbix学习(一)——LNMP环境搭建及zabbix安装

    第一部分:LNMP环境搭建 一.环境说明: OS:   centos7.6_x64nginx:nginx-1.16.0php:   php-7.1.11mysql:mysql-5.6.44 zabbi ...

  3. LNMP环境搭建——MySQL篇

    The world's most popular open source database 1.Install MySQL root@kallen:~# apt-get install mysql-s ...

  4. LNMP环境搭建之php安装,wordpress博客搭建

    LNMP环境搭建之php安装,wordpress博客搭建 一.介绍: 1.什么是CGI CGI全称是"通用网关接口"(Common Gateway Interface),HTTP服 ...

  5. LNMP+Zabbix的安装与部署

    LNMP+Zabbix的安装与部署 一.Zabbix简介 1.zabbix是一个基于WEB界面的,并提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务 ...

  6. 企业级监控软件zabbix搭建部署之zabbix server的安装

    企业级监控软件zabbix搭建部署之zabbix server的安装 zabbix线上已经应用半年多了,关于zabbix在生产环境中的使用心得,以及一些经验写下来,希望让大家少走弯路,共同学习! 环境 ...

  7. LNMP平台搭建---MySQL安装篇

    在前两篇中,安装了一个基本的Web服务器,但是只能提供静态网页查看,要做成动态网站,就必须要数据库或其他编程语言支持了,这里先介绍MySQL数据库的安装. MySQL是一个开源的数据库,在互联网行业应 ...

  8. LNMP环境搭建

    LNMP环境搭建 Linux + Nginx + MySQL + PHP PHP是一种脚本语言,当前中国乃至世界上使用PHP语言开发的网站非常普遍 Nginx是一个web服务软件,和apache是一类 ...

  9. LNMP平台搭建---Nginx安装篇

    在上一篇博文<LNMP平台搭建---Linux系统安装篇>中,我们安装了CentOS版本的Linux操作系统,现在,我们来安装一个Web服务器,大标题写着LNMP,其中的N就是Nginx, ...

随机推荐

  1. 无需超级用户mpi多机运行

    在之前的一篇博文中(Linux下mpi环境配置与运行步骤(Ubuntu为例) ),有讨论过怎样使用MPI在两个不同的机器上运行程序,在那篇博文中使用了超级用户权限.不幸的是.有些情况下,我们不能拥有操 ...

  2. js jquery 结束循环

    js 中跳出循环用break,结束本次循环用continue,jqeruy 中循环分别对应 return false 和return true. jquery 中each循环 跳出用return tr ...

  3. C#设计模式学习笔记-单例模式随笔

    最近学习 设计模式,从单例模式入手 啥是单例模式: 要实现一个单例类的话,首先,肯定是不能让用户自行生产的,那就是说明不能让用户new,所以,就必须把构造函数设置成为私有的 因为静态变量的生命周期跟整 ...

  4. Spark-shell 启动WARN---java.net.BindException: Address already in use

    同时打开了两个SecureCRT的终端界面,其中一个已经进入了Spark-shell,在另一个SecureCRT界面中执行 "spark-shell --master yarn --depl ...

  5. SVN使用(自己总结)

    1.第一次导入,注意要新建个readme.txt文件用于记录版本更改,每次导入时 要填写import message 2.第二次增加文件导入时 勾选未受控版本文件(新增加文件) 完成上传就可更新增加的 ...

  6. [k8s]组件日志级别说明

    kubectl 执行命令时候 --v 调试, 也可以用作其他组件的 --v配置 参考: https://kubernetes.io/docs/user-guide/kubectl-cheatsheet ...

  7. ping: icmp open socket: Operation not permitted 的解决办法

    ping: icmp open socket: Operation not permitted 的解决办法:为ping加上suid即可.报错时ping的属性: [root@localhost ~]# ...

  8. 491. Palindrome Number【easy】

    Check a positive number is a palindrome or not. A palindrome number is that if you reverse the whole ...

  9. layui基础上的tree菜单动态渲染;

    var layout=[ { title:'脚本对象名称', treeNodes:true, headerClass:'value_col', colClass:'value_col', style: ...

  10. PHP代码审计学习之命令执行漏洞挖掘及防御

    [1]可能存在命令执行漏洞的函数: 00x1:常用的命令执行函数:exec.system.shell_exec.passthru 00x2:常用的函数处理函数:call_user_func.call_ ...