LNMP架构下zabbix的实现

很长时间没有更新了,一个原因是琐事缠身,大部分时间做的都是些没有意义的事,另一个原因是随着年龄的增长,真的是没有那么多的精力。
这几天难得清闲,做了个LNMP下的zabbix,这个文档是留给自己看的,所以是绝对可以实现做出来的。(所有安装包事先下载好,这里就不再多说了)
不废话,上干货:

#安装nginx
yum -y install pcre-devel
tar zxf nginx-1.8.0.tar.gz
cd nginx-1.8.0/
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre
make && make install

#安装php
yum -y install bzip2-devel libcurl-devel libxml2-devel gd-devel openjpeg-devel
tar zxf php-5.6.15.tar.gz
cd php-5.6.15
./configure --prefix=/usr/local/php-5.6.15 --with-config-file-path --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-gd-native-ttf --with-iconv-dir --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath --enable-mbstring --enable-sockets
make && make install

#通过范例创建php配置文件
cp ~/php-5.6.15/php.ini-production /usr/local/php-5.6.15/etc/php.ini
cp /usr/local/php-5.6.15/etc/php-fpm.conf.default /usr/local/php-5.6.15/etc/php-fpm.conf

#修改php监听
vim /usr/local/php-5.6.15/etc/php-fpm.conf
listen = /tmp/php.socket
listen.mode = 0660

################修改执行权限 listen.mode = 0660 ###############
chmod 0666 /tmp/php.socket
#启动 php-fpm
/usr/local/php-5.6.15/sbin/php-fpm -c /usr/local/php-5.6.15/etc/php.ini
#############################################################

########先卸载掉mariadb
yum -y remove mariadb

#########安装mysql
tar xf mysql-5.6.27-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
cd /usr/local
ln -sv mysql-5.6.27-linux-glibc2.5-x86_64 mysql

#创建数据存放目录及用 户
mkdir -p /data/mysql
groupadd mysql
useradd -g mysql -M -s /sbin/nologin mysql
chown -R mysql.mysql /data/mysql
chown -R mysql.mysql /usr/local/mysql

#创建mysql配置文件及启动脚本
#cd /usr/local/mysql
cp /usr/local/mysql/support-files/my-default.cnf /etc/my.cnf

#vim /etc/my.cnf

[mysqld]
datadir=/data/mysql
socket=/tmp/mysql.sock
user=mysql
character-set-server=utf8
max_connections=1024
default_storage_engine=INNODB
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

symbolic-links=0
innodb_buffer_pool_size = 2048M
log_bin=mysql-bin
binlog_format=mixed
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

##########生成启动服务
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld

chmod +x /etc/rc.d/init.d/mysqld
###初始化数据库 ###注意:一定要在/usr/local/mysql目录下运行,否则会报错 “FATAL ERROR: Could not find ./bin/my_print_defaults” 原因是使用的相对路径

#初始化数据库
cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql --datadir=/data/mysql

#对数据库进行安全检查
mysql_secure_installation 初始化 输入root密码

############启动数据库
systemctl stop mariadb
systemctl disable mariadb
systemctl mask mariadb
systemctl start mysqld
systemctl enable mysqld

###########系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,需要映射一个链接到/usr/bin目录下,相当于建立一个链接文件
ln -s /usr/local/mysql/bin/mysql /usr/bin

#查一下数据库里有没有 mysql.innodb_table_stats 如果没有,要通过脚本加进去,否则后面zabbix无法正常使用
#mysql
mysql> use mysql;
mysql> source /usr/local/mysql/share/mysql_system_tables.sql;

##########创建 zabbix 库及用户并授权
###grant all privileges on zabbix.* to ‘‘@localhost identifieded by ‘‘; ######为本地所有用户赋权
######上面这个只是例子,还是按照下面的命令执行####################

mysql
#以下为对mysql数据库进行操作
mysql> create database zabbix;
mysql> grant all privileges on zabbix.* to [email protected] identified by ‘zabbix‘;
mysql> flush privileges;

#安装 jdk、监控 tomcat 需要
rpm -ivh jdk-8u25-linux-x64.rpm

#安装依赖包
yum -y install net-snmp-devel mysql-devel

#安装 zabbix_server
tar zxvf zabbix-3.0.28.tar.gz
cd zabbix-3.0.28/
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-java
make && make install

#创建用户
groupadd zabbix
useradd -g zabbix zabbix

#导入数据
cd /root/zabbix-3.0.28/database/mysql
mysql -uzabbix -pzabbix zabbix<schema.sql
mysql -uzabbix -pzabbix zabbix<images.sql
mysql -uzabbix -pzabbix zabbix<data.sql

#修改配置文件
cd /usr/local/zabbix/
#vim /usr/local/zabbix/etc/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix

#做一个软连接,否则启动zabbix_server 时会报找不到数据库文件
mkdir /var/lib/mysql
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

#启动 zabbix_server
/usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf

#ZABBIX web 安装
#前端文件拷贝
mkdir /data/www
cd ~/zabbix-3.0.28/frontends/php/
cp -rf * /data/www/
useradd nginx
chown -R nginx.nginx /data/www

#配置nginx
vim /usr/local/nginx/conf/nginx.conf
#配置文件修改-----原有的不动
#在前面添加一项。否则/tmp/php.socket 会因为权限问题造成nginx无法访问
user root;
#后面的也要修改
server {
listen 80;
server_name localhost;
index index.html index.php index.htm; #这个是要加的
root /data/www; #这个是要加的
location / {
try_files $uri $uri/ /index.php?$args; #这个是要加的
}
location ~ ^(.+.php)(.)$ {
fastcgi_split_path_info ^(.+.php)(.
)$;
include fastcgi.conf;
fastcgi_pass unix:/tmp/php.socket;
fastcgi_index index.php;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
}

############创建 nginx 用户
useradd nginx
###########启动 nginx
/usr/local/nginx/sbin/nginx

#浏览器 http://localhost/setup.php
#下一步

#修改php.ini
vim /usr/local/php-5.6.15/etc/php.ini

####在末行加入
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/shanghai
always_populate_raw_post_data = -1

#重启php
ps -aux | grep php
kill -9
/usr/local/php-5.6.15/sbin/php-fpm -c /usr/local/php-5.6.15/etc/php.ini

#############################浏览器设置#############################
#下一步
#设置数据库: mysql localhost 0 zabbix zabbix zabbix
#下一步 localhost 10051 ZABBIX
#浏览器验证
#如果提示不能创建配置文件,可以按提示把配置文件download下来

zabbix 客户端安装
1 直接 yum 安装
#yum -y install http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-agent-2.4.7-1.el6.x86_64.rpm
2 修改配置文件
#vim /etc/zabbix/zabbix_agentd.conf
Server=10.1.13.46
ServerActive=10.1.13.46
Hostname=app1
HostMetadataItem=system.uname
3 启动 zabbix-agent
#service zabbix-agent start
4 在 zabbix 上查看,主机已自动添加监控

############补充:如何让服务随系统自动启动########
vim ~/lnmp.sh
#!/bin/bash
#php
/usr/local/php-5.6.15/sbin/php-fpm -c /usr/local/php-5.6.15/etc/php.ini
#mysql
systemctl restart mysqld
#nginx
/usr/local/nginx/sbin/nginx
#zabbix server
/usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf

#在rhel7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限
chmod +x /etc/rc.d/rc.local
#然后把自定义脚本加入到rc.local中
bash /root/lnmp.sh

原文地址:https://blog.51cto.com/arhat/2419872

时间: 2024-11-06 09:29:29

LNMP架构下zabbix的实现的相关文章

一键实现基于LNMP架构的zabbix基本安装

#!/bin/bash #简易安装zabbix+LNMP # lnmp(){ #关闭防火墙&核心安全功能 systemctl stop firewalld.service systemctl disable firewalld.service &> /dev/null setenforce 0 sed -i "7cSELINUX=disabled" /etc/sysconfig/selinux #yum安装nginx wget http://nginx.org/p

LNMP架构下访问php页面出现500错误

默认情况下,如果被访问的php脚本中包含语法错误,服务器会返回一个空的“200 ok”页面. 在php.ini中的fastcgi.error_header选项允许在这种情况下产生一个HTTP错误码,以使web服务器可以正确拦截并处理这个错误码,类似直接在php代码中调用header()返回500状态码,如header("HTTP/1.1 500 Internal Server Error"); 重新配置:在 php.ini 中设置 display_errors = on 开启错误显示,

解决:LNMP架构下访问php页面出现500错误

默认情况下,如果被访问的php脚本中包含语法错误,服务器会返回一个空的“200 ok”页面 在php.ini中的fastcgi.error_header选项允许在这种情况下产生一个HTTP错误码 以使web服务器可以正确拦截并处理这个错误码,类似直接在php代码中调用header()返回500状态码,如 header("HTTP/1.1 500 Internal Server Error"); 重新配置:在 php.ini 中设置 display_errors = on 开启错误显示,

【中级篇】Linux下部署LNMP架构及应用

部署LNMP架构及应用 1.          实验需求: 1)     搭建Nginx 2) 构建PHP运行环境 3) 搭建MySQL 数据库 2.          实验环境: Linux服务器系统版本:Red Hat Enterprise Linux 6.5  IP:192.168.10.30 WIN7系统客户机: IP: 192.168.10.1 3.      实验步骤: 基本安装操作: 1.搭建Nginx 配置: 这里要把光盘挂载到yum源里 再次执行配置的参数: 这时可能还会有报错

nginx监控及lnmp架构

系统级别监控toppsnetstatss日志 配置Nginx状态信息增加编译参数 --with-http_stub_status_module配置文件中增加 stub_status on;https://coding.net/u/aminglinux/p/nginx/git/blob/master/mon/stat.md 配置Nginx状态 Nginx有内置一个状态页,需要在编译的时候指定参数--with-http_stub_status_module参数方可打开.也就是说,该功能是由http_

linux运维、架构之路-Lnmp架构部署

一.Lnmp架构原理 二. Lnmp架构软件安装 1.Nginx安装脚本 #!/bin/bash useradd -s /sbin/nologin -M www mkdir -p /server/tools/ cd /server/tools/ wget http://nginx.org/download/nginx-1.10.3.tar.gz tar xf nginx-1.10.3.tar.gz yum install pcre-devel openssl-devel -y cd /home/

LNMP架构应用实战——Nginx配置虚拟主机

LNMP架构应用实战--Nginx配置虚拟主机        前面介绍了nginx服务的安装与配置文件,今天介绍下它的另一种实用配置--"虚拟主机",每个虚拟主机可以是一个独立的网站,可以具有独立的域名,同一台服务器上的不同的虚拟主机之间是独立的,用户访问不同虚拟主机如同访问不同的服务器一样,因此它不需要为一个单独的WEB站点提供单独一个nginx服务器和一个单独的nginx进程 1.nginx虚拟主机简单介绍 同apache服务一样,它也有三种不同的虚拟主机,基于域名的虚拟主机.基于

LNMP架构应用实战——Nginx服务配置文件介绍

LNMP架构应用实战--Nginx服务配置文件介绍 nginx的配置文件比较简单,但功能相当强大,可以自由灵活的进行相关配置,因此,还是了解下其配置文件的一此信息 1.Nginx服务目录结构介绍 安装完成后,在安装路径下就会有Nginx目录信息 [[email protected] application]# tree nginx nginx +-- client_body_temp +-- conf          #nginx服务配置文件目录 |   +-- fastcgi.conf  

Lnmp架构之PHP

Lnmp架构搭建+创建Discuz论坛 PHP,一个嵌套的缩写名称,是英文超级文本预处理语言(PHP:Hypertext Preprocessor)的缩写.PHP 是一种 HTML 内嵌式的语言,PHP与微软的ASP颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用. PHP 独特的语法混合了C.Java.Perl 以及 PHP 自创新的语法.它可以比 CGI 或者 Perl 更快速的执行动态网页. LNMP的简介: L