【思考】由安装zabbix至排障php一系列引发的思考
【思考】由安装zabbix至排障php一系列引发的思考
linux的知识点林立众多,很有可能你在排查一个故障的时候就得用到另一门技术的知识;
由于linux本身的应用依赖的库和其它环境环环相扣,但又没有很好隔离应用,所以催生了Docker这种虚拟容器的技术,
虽然我现在还没有去掌握Docker,但我已经觉得迫在眉睫需要去学习并好好应用上了。
大概2016年8、9月份我知道了有Docker这种东西,到2017年1月份也只是大致上对它有一些了解和看了有关它技术的开篇的文档。
因为其它如mysql、nginx、zabbix等项目更迫切需要我先去掌握运用,所以我对Docker还一直只停留在感兴趣的层面。
使我深刻认识到有必要先去掌握Docker的这一点想法的是最近进行的安装zabbix的实验。
因为只是第一次参照大神们的文档和各种资料进行安装使用zabbix,所以整个实验环境我是为了省心方便而就在之前实验DZ论坛安装的虚拟机环境上。
系统和apache都没有问题,出现问题的是当时php的编译安装版本比较低,所以在安装完zabbix,通过浏览器访问的时候就出现了错误提示。
提示某行‘[’语法有问题,然后实际去检测是没有问题的,毕竟也是zabbix官方的安装包中的配置文件阿!
于是百度了一下,了解到了php的版本在5.4之下是会有识别[语法的问题,所以php版本得升级。
我马上又尝试了一下升级php的操作、编译安装5.6.3到yum换源安装5.6.3,高版本是安装成功了,但低版本在编译的时候和apache及库文件有千丝万缕关系,测试php info的时候还是显示5.2.7的信息。
看来得删除之前低版本时编译安装生成的各种文件甚或配置文件……我有点懵逼了,不想为了一个实验而去做那么复杂的事,而这个实验用的虚拟机一里面是早已被我实验过各种项目的,环境很乱,我也是有心到一定时候放弃它的。
所以我选择了在另一台虚拟机上再次做安装zabbix的实验,而这次选的虚拟机环境,是完全还没有安装php的,只有安装了Nginx,此前用来做反向代理实验的。
zabbix也适合装在LNMP的环境上,所以我也开始动手了,而这次动手我选择先装PHP,并且是yum换源安装,不用编译安装后卸载那么麻烦。
且PHP编译安装要指定的各项模块也很多和复杂,库文件也很多,依赖文件也N多,有必要的时候再去读官网和各路大神的资料文档去弄通透再进行编译安装吧,不然依样安装完还是不得要领。
当然无可否认依样多后还是能领悟出不少东西的,就好比这次我yum换源安装,在另一台虚拟机这测试时死活找不到php的包进行安装了。
我对比起两台虚拟机上的yum配置和仓库环境,再临急抱佛脚到网上细看了一下yum的文档和知识,发现了症结所在。
此前忘了我装什么东西,配置了sohu的源及貌似webtatic字样开头的yum源(查看/etc/yum.repos.d目录下),就这几个与另一台测试能成功yum安装php的虚拟机一上的repo不同,于是删除了这几个不同的repo配置文件,再测试就成功了。
也就是说本来我是做zabbix实验要点亮zabbix这个监控软件的技能树的,但是过程中我又变成了要去先将前置的小技能树php和yum都要进行加点了……
可见linux的不简单就在此,当然,我相信如果在干净的环境下再去做实验这事是少了很多排障发现,不过这种事多了,发现这个时间成本重了,而且排障解决了是有成就感,但也暴露了搭建实验的环境不成、杂乱这一弱点。
之前是想通过多建虚拟机或快照还原去解决的、只是建立在虚拟机VMware上的操作还不如试试Docker?这个想法决定在完成zabbix的安装后就去实现。
再说下去,yum安装php5.6.3是解决了,而且新的虚拟机内存配置比之前的那台要大,速度竟然真的快多了,似乎是昨天虚拟机一yum安装php是花了30分钟还不止,今天的15分钟左右就完成了?
完成归完成,建立了一个测试php信息的php文件后,在nginx上也配置好,然后测试用浏览器访问info.php这个文件又出现了另一个错误:php页面不像虚拟机一显示页面信息,而是提示下载。
最终通过百度又get到了两个知识点,一是更全面深刻认识到Nginx中对php支持的配置了,二是php-fpm这个解析器的作用。
此前由于我还在yum install 安装php-fpm的等待时间中就去做生成测试php这个步聚。那么还少了php-fpm的解析作用当然是不成功的,可见饭还是要一口口吃的。
当然,后来在查证资料前我就想到了有这个可能性,于是是在自行安装完php-fpm后重新启动fpm和nginx后再去相互印证查到的资料。
info.php这个文件成功显示出php的版本信息了,在那一刻还是满小激动的,有点侦探推理得出真相的小成就感。我想这就是linux的另一种迷人之处吧。
它无形中就是一种适合中二男人的不那么中二的游戏。不是有一句话说男人至死都是中二的么?
本篇由于只是归纳思考与总结,故当中的技术点并没有一一列出,在随后的zabbix安装实验文档中便会一一详尽揭示。
所谓思考远比技术本身重要。在linux运维这一途中,尽信书不如无书是真理,因为除非自己去重新编写,否则没有那一本书中的文档是会完全贴合你的,
特别是新人上路,想要不翻车,就得努力思考,结合站在众大神的肩膀上眺望,再从自身出发解决问题融汇知识。
文:食梦貘
2017年1月6日
【思考】由安装zabbix至排障php一系列引发的思考的更多相关文章
- 记一次KUBERNETES/DOCKER网络排障
https://coolshell.cn/articles/18654.html 总结在前面: 1.kill -9杀死docker进程,系统一定是要遍历所有的docker子进程来一个一个发退出信号的, ...
- [转帖]记一次KUBERNETES/DOCKER网络排障
记一次KUBERNETES/DOCKER网络排障 https://coolshell.cn/articles/18654.html 记得之前在一个公众号里面看过这个文章 讲的挺好的.. 物理机直接跑d ...
- 【排障】tomact未能看到网页
[排障]tomact未能看到网页 文:食梦貘 这是几个月前的事情了,那时候我在安装xwiki,需要用到tomcat,但是初次安装好时碰上过一个故障: 安装tomcat后,客户机用IE网址上输入:服务端 ...
- 【原】个人对win7开机黑屏只有鼠标排障总结
个人对win7开机黑屏只有鼠标排障总结 文:铁乐猫 第一种情况是explorer.exe进程丢失或损坏有关: 判断方法是按Ctrl+Alt+Del键能呼出任务管理器,结束explorer.exe进程, ...
- centos7如何安装zabbix
只需要按照第三次修改版本的内容安装就可以了(水平线内的内容),主要是执行两个脚本就可以完成自动化安装了,其他内容是以前写的,仅留下来作为参考 第三次修改:(此次为zabbix4.0版本的,进一步的自动 ...
- MongoDB系统CentOS 7.1 crash的排障过程
[作者] 王栋:携程技术保障中心数据库专家,对数据库疑难问题的排查和数据库自动化智能化运维工具的开发有强烈的兴趣. [问题描述] 最近我们有多台MongoDB的服务器CentOS 7.1系统发生了cr ...
- 记一次nginx -t非常慢的排障经历
在一次修改nginx配置时候,执行 case: #/usr/local/nginx/sbin/nginx -t 出现执行命令出现很久没返回结果,也没返回成功或是失败,就是一直卡住的状态,严重影响ngi ...
- TraceID在AspNETCore日志排障中的应用
前言 .NetCore日志,相信大家多少都接触过,博客园有关 ① AspNetCore依赖注入第三方日志组件 ②第三方日志组件Nlog,Serilog 应用方法的博文层出不穷. 结合程序的部署结构 ...
- Centos 源码安装zabbix 2.4.5
Zabbix简介 Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案.zabbix能监视各种网络参数,保证服务器系统 的安全运营:并提供柔软的通知机制以让系统管 ...
随机推荐
- python 遇到 syntaxerror: non-ascii character '/xd6' in file 我 教你解决 (python问题)(转)
遇到标题上的问题,按照我的解决广方案来吧 ===================================== (一) 用记事本创建一个文件ChineseTest.py,默认ANSI: s = ...
- MSP430单片机输入与输出
MSP430单片机的输入输出线绝大多数是服用的,除了个别的端口外,基本上是8为为一组,不同的型号的MSP430的端口有所不同,就msp430F5438而言,一共有11个I/O端口,其中除了第十一P11 ...
- 获取EntityFrameWork返回的错误和ModelState中的错误
都是通过循环才能找到具体的错误信息 具体方法参见这两篇文章: EntityFrameWork: http://www.cnblogs.com/shouzheng/archive/2012/04/19/ ...
- 深入浅出 JavaScript 变量、作用域和内存 v 0.5
本文主要从原理入手分享变量和作用域的相关知识,最后结合本文所分享知识,再次深入了解下闭包的运行原理. 主要参考<JS高级程序设计> <JS权威指南> <高性能 JS> ...
- 数组(Array)
1. 数组(Array):相同类型数据的集合就叫做数组. 2. 数组的定义与赋值(系统会默认初始化) 普通数组: package com.li; public class Array{ public ...
- 问题-关于 in []使用过程中报错" Constant expression violates subrange bounds"
问题现象:在DELPHI中使用户in [] 时参数大于255后,报错,错误如下:Constant expression violates subrange bounds E1012常量表达式超出子界 ...
- poll()
# include < sys/ poll. h> int poll ( struct pollfd * fds, unsigned int nfds, int timeout) ; 和s ...
- A Tour of Go Map literals
Map literals are like struct literals, but the keys are required. package main import "fmt" ...
- Qt QDebug :Cannot retrieve debugging output!
调试Qt程序时用Qdebug类输出调试信息: qDebug("read My Com"); 这个问题是个小问题,其实跟程序没关系.当你同时开多个Qt程序(Creator编程 ...
- server2008服务器iis设置的一些经验
安装顺序会有一定得影响,如果是先安装IIS,再安装.NET Framework,系统应该可以正常解析.aspx页面:但是,如果是先安装了.NET Framework,再安装IIS,则会由于相关的IIS ...