ZABBIX企业监控实践(2):升级与配置Apache

前面我们完成了ZABBIX环境的安装,在实际项目中,出于安全漏洞或者性能优化方面的考虑,需要升级到最新版本。我们首先对Apache进行升级。

一、准备安装过程

如果已经安装的Apache是通过yum安装,升级前先删除旧版本:

备份httpd.conf配置文件

# cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.bak

卸载旧版本Apache:

#service httpd stop

#yum remove -y httpd*

注:其实通过yum卸载时,会自动将配置文件httpd.conf备份为httpd.conf.rpmsave

如果已经安装Apache是通过是编译的,升级只需覆盖原来安装目录即可,可以查看上一次安装时的编译参数:

# cd /usr/local/apache/build/

# cat config.nice

安装依赖功能软件包

安装zlib:

# yum -y install zlib zlib-devel

安装pcre:

下载地址:http://sourceforge.net/projects/pcre/files/pcre/

# tar -zxvf pcre-8.37.tar.gz

# cd pcre-8.37

# ./configure

# make && make install

如果没有安装pcre则编译安装Apache会提示以下错误:

升级apr:

下载地址:http://apr.apache.org/download.cgi

卸载原有apr

# rpm -e --nodeps apr

# rpm -e --nodeps apr-util

安装apr

# tar -zxvf apr-1.5.2.tar.gz

# tar -zxvf apr-util-1.5.4.tar.gz

# cd apr-1.5.2

# ./configure --prefix=/usr/local/apr

# make && make install

# cd ../apr-util-1.5.4

# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

# make && make install

如果没有升级apr,编译Apache会提示apr版本太低:

二、编译安装Apache

下载地址:http://httpd.apache.org/download.cgi

解压安装包

# tar -zxvf httpd-2.4.16.tar.gz

编译

# ./configure --prefix=/usr/local/apache --with-mpm=worker --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre --enable-rewrite --enable-so --enable-headers --enable-expires --enable-modules=most --enable-deflate

参数说明:


参数


解释说明


prefix


Apache安装目录


with-mpm


指定工作模式,默认的模式是prefork进程模式。让apache以worker方式运行,  worker模式原理是更多的使用线程来处理请求,所以可以处理更多的并发请求。


with-apr


指定apr的目录


with-apr-util


指定apr-util的目录


with-pcre


支持perl的正则表达式


enable-rewrite


支持URL重写


enable-so


启用动态模块加载


enable-headers


提供允许对HTTP请求头的控制


enable-expires


支持 HTTP 控制


enable-modules=most


支持大多数模块


enable-deflate


支持网页压缩

开始安装

# make && make install

注:如果Apache已经make过,最好make clean以保证configure指示的参数能够正确被编译.

安装完毕apache,查看安装后的目录,如下:

# ll /usr/local/apache/

目录文件说明:

bin:Apache编译后的文件,主要是程序命令

conf:Apache配置文件目录,

htdocs:站点目录

logs:Apache日志文件

modules:存放Apache目前使用的模块

manual:Apache操作手册目录

三、添加Apache服务

将Apache的启动脚本复制到/etc/rc.d/init.d目录下,如下:

#cp /usr/local/apache/bin/apachectl /etc/init.d/httpd

启动Apache:

/etc/init.d/httpd start

这里提示没有域名

解决方法:
# vi /usr/local/apache/conf/httpd.conf

修改# ServerName www.example.com:80

为 ServerName localhost:80

添加Apahce开机自启:

httpd启动脚本默认不支持chkconfig,需要进行修改

# vi /etc/init.d/httpd

修改以下内容

#!/bin/bash

#chkconfig:345 60 61

#description:Apache

说明:

chkconfig: 345 60 61中的345是指脚本的运行级别;60是指脚本开机时的启动顺序号, 61是指系统关闭时,脚本的停止顺序号。

description: Apache关于脚本的描述。

添加Apache系统服务:

# chkconfig --add httpd

设置Apache开机启动:

# chkconfig --level 345 httpd on

# chkconfig |grep httpd

查看Apache服务端口是否监听状态

# netstat -lntp|grep 80

# lsof -i :80

四、配置Apache

修改Apache的配置文件

Apache的配置文件httpd.conf存放在/usr/local/apache/conf 目录下,如下:

# ll /usr/local/apache/conf/

# vi /usr/local/apache/conf/httpd.conf

设置网页后缀名index.php

设置域名,这里我们设置为localhost

修改网站根目录,由于前面我们Zabbix web的程序文件放在/var/www/html/zabbix下,为了方便统一管理,这里我们修改网站根目录为/var/www/html

设置Apache与php关联:(这里先不添加,下篇文章对PHP进行升级后再进行设置,否则无法启动httpd服务,并提示找不到libphp5.so模块)

加入以下内容:

LoadModule php5_module       modules/libphp5.so

AddType application/x-httpd-php .php .phtml .html

AddType application/x-httpd-php-source .phps

编辑完成保存退出,重启httpd服务让配置文件生效

# service httpd restart

复制全局命令

# cp /usr/local/apache/bin/httpd /usr/sbin/

查看升级后版本号是否正确:

# httpd v

五、隐藏Apache版本号

为了安全起见,我们通常需要隐藏Apache版本号

未隐藏前显示的信息:

# curl -I 172.16.0.101:80

修改Apache的配置文件隐藏Apache版本号:

vi /usr/local/apache/conf/httpd.conf

分别搜索关键字ServerTokens和ServerSignature,如果没有则自行添加

修改:

ServerTokens OS 为 ServerTokens ProductOnly

ServerSignature On 为 ServerSignature Off

编辑完成保存退出,重启httpd服务让配置文件生效

# service httpd restart

测试结果如下,版本号与操作系统信息已经隐藏:

# curl -I 172.16.0.101:80

接下来会对PHP的升级。。。

时间: 2024-10-14 00:16:12

ZABBIX企业监控实践(2):升级与配置Apache的相关文章

ZABBIX企业监控实践(1):ZABBIX详细部署过程

前言: 从2014年15日,那时我刚刚开始接触ZABBIX,到现在刚好整整一年时间,这一年里,谈不上对ZABBIX进行深入研究,接触过两个ZABBIX的项目,平时或多或少的对这两个项目进行修修补补.直到最近的两个月内,公司决定采用ZABBIX进行二次开发成自己的产品(之前一直在SCOM与ZABBIX之间纠结),所以有了充足的时间对ZABBIX进行系统学习,逐步对ZABBIX有了更深入的了解,也积累了一些学习笔记. 最近打算整理一下笔记,对这年来关于ZABBIX的知识做一些梳理,并将尽量围绕项目要

ZABBIX企业监控实践(3):升级与配置PHP

一.安装前准备 如果已经安装的PHP是通过yum安装,升级前先删除旧版本: 备份php.ini配置文件 #cp /etc/php.ini /etc/php.ini.bak 卸载旧版本PHP: #yum remove -y php* 注:其实通过yum卸载时,会自动将配置文件php.ini备份为php.ini.rpmsave 如果原本是编译安装的,直接升级覆盖安装即可,可以查看之前的编译参数 进入安装目录 # cd /usr/local/php/bin/ # ./php -i | grep con

Zabbix分布式监控(zabbix-proxy)的配置关键点

Zabbix Proxy简介 Zabbix Proxy是实现Zabbix分布式监控的重要组成部分,是连接Zabbix Agent和Zabbix Server的"中间人"."连接器"."路由器"等.Zabbix Proxy将来自Agent的数据推送(push)到Zabbix Server或者由Zabbix Server来拿取(fetch). 与Zabbix Server相比Zabbix Proxy不需要使用或安装GUI(Graphical User

Zabbix分布式监控之Discovery自动发现配置

当我们能够熟练构建Zabbix监控平台之后,我们会发现,对zabbix的认识只是刚开始,今天带大家来学习Zabbix比较牛的功能,自动发现功能.什么是自动发现呢,简单来说就是,可以自动批量去发现局域网若干服务器,并自动添加监控,省去人工手动的添加,节省大量的人力成本! 随着监控主机不断增多,有时候需要添加一批机器,需要将公司的所有服务器添加到zabbix中,学过nagios.cacti的同学都知道,如果要批量必须使用脚本,或者手动传统办法去单个添加设备.分组.项目.图像,如果设备多,会晕倒哦.

zabbix企业应用之自动语音报警平台

我从2013年5月开始研究zabbix,研究的版本是2.0.6,到现在也马上2年了,目前生产版本还是2.0.6. 现在我公司1000+的服务器无论是物理机还是vmware.openstack的云主机.docker容器等等都使用zabbix进行监控. 当前监控方式为:zabbix=>proxy=>client 当前报警方式为:6个等级报警(未分类.消息.警告.一般严重.严重.灾难)全部通过短信或者邮件来通知,严重及其以上使用自动语音报警方式通知. 一.语音报警介绍 1.为什么使用语音报警 之前我

zabbix企业应用之优化监控CDN带宽

最近介绍了很多ansible的使用案例,这次就回归正轨,介绍如何使用zabbix监控CDN带宽,做到在带宽出现异常的时候及时知晓,访问带宽异常造成的经济损失. 这里以蓝汛CDN为例,监控的方法是通过CDN给与的api接口.备注:目前蓝汛api接口只能查看单独频道的带宽,无法查看所有频道的,并且频道id还需要你自己或者客服帮你查下,十分不方便. 1.api接口信息为: (一) 接口地址: https://api.chinacache.com/reportdata/monitor/query?typ

zabbix通过JMX监控tomcat,防火墙策略配置

一.目前的环境 被监控端192.168.153.191 /usr/local/tomcat 下载了catalina-jmx-remote.jar放到了tomcat安装目录的lib目录下,现在为止这个jar包没有派上用场. /usr/local/jdk1.7.0_79 在tomcat的bin目录下的catalina.sh脚本里面添加如下内容(可以写成一行,这个百度下能找到) Html代码 CATALINA_OPTS="${CATALINA_OPTS} -Djava.rmi.server.hostn

zabbix企业应用:利用自动发现监控IIS站点

如果一台windows server有许多个IIS站点,我们想实现这样一个监控目标:监控每个站点的状态.请求.流量.连接数,而且以后新增加的站点也可以自动加入到监控里,不需要再手动添加. 利用zabbix的自动发现(LLD)功能结合脚本可以实现上面的需求,实现对IIS站点的动态添加,动态监控. 先看一下监控的效果: 上图中的"Web Service(wskh)"是指IIS网站名称为wskh:"Web Service(_Total)"是指IIS下所有的站点. 网站流量

zabbix企业应用:监控Dell Compellent存储设备

本文讲解Zabbix通过SNMP协议监控Dell Compellent存储设备. 本文的监控思路和监控网络设备是一样的:首先确定设备是否支持snmp协议,如果支持的话下一步要拿到设备的私有mib库,一般是向厂家索取或者到网上下载.如果没拿到mib库,设备oid的值没办法确定具体的含义,也就没办法监控了.有了mib库后,导入到mib browser里分析每个oid的含义.最后结合Zabbix进行监控. Dell Compellent存储的mib库下载地址:http://down.51cto.com