升级apache
升级Apache到最新版本,本来并不复杂,但是因为涉及到不能停止现有的Apache实例的运行,因此要小心翼翼的做。
大致分成三步:
编译新的Apache,
配置新的Apache,
替换旧的Apache。
下面慢慢道来:
1.编译新的Apache,
需要到官网下载最新的src,需要什么依赖包,请参照下载的源码包里面的README和INSTALL。
如果需要安装apr包,请到官网下载,并拷贝到正确的位置。然后就是:
./configure
make
make install
默认安装到/usr/local/apache2 ,可以在configure 参数中指定安装位置。
2.配置新的Apache,
如果安装到了上述位置,则配置文件在/usr/local/apache2/conf 中,此时可以把在用的Apache的配置文件拷贝过来,
如果能把个性化的配置放到自己创建的conf文件中,比如可以叫做httpd.local.conf 文件,这样可以方便以后升级时,修改配置。
如果需要什么组件,在这个时候装上。如果需要启用哪些module,在这个时候启用。
修改好了以后,可以进行测试,测试之前,记得修改下监听端口号,不要使用默认的80了。
测试中,会发现漏了的配置和错误的配置。通过后,可以把端口号改回去。
启动新Apache的命令在/usr/local/apache2/bin 目录下,叫做apachectl。
如果打算把新的Apache作为服务启动,可以把这个文件拷贝到/etc/init.d 下面,再把它加入到系统服务中,以SuSE为例,要这样,
cp apachectl /etc/init.d/apache2.4
chkconfig -a apache2.4
为了服务看起来漂亮,可以把旧的apache启动文件的开头部分复制过来,就是 ###BEGIN INIT INFO 那一段。
另外,测试中,可能会发现缺少libpcre或者tomcat-connector等等问题,直接逐一解决就行啦。
比如,可以通过 ldd httpd 来查看是否缺少动/静态链接库文件。这里要做的就是缺啥补啥。记得补好后,运行一下ldconfig,让Apache找到。
然后,检查一下Apache所有的配置文件,看看是否还有参照旧版本Apache路径的配置文件,如果有的话,都用新的路径替换掉。
3.替换旧的Apache。
这是最后的步骤,要很仔细的,先停掉旧的Apache,例如
service apache2 stop
然后,启动新的apache,例如
service apache2.4 start
确认业务OK后,去掉旧的apache服务,例如
chkconfig -d apache2
至此,已经运行起来新的Apache实例。后续要做的就是,看看系统里面还有哪些依赖于旧的Apache的地方,都修改成依赖新的Apache。
***一点补充,如果使用了mod_jk,要注意了,
需要在worker.properties文件中,明确指定worker的connection_pool_size的值,改成多大?一般来说就是和Apache配置文件中的mpm段落中的ThreadsPerChild的数值一样即可。要不然,运行时会有问题的。在mod_jk.log中会出现类似这样的错误信息:
ajp_connection_tcp_get_message::jk_ajp_common.c (1350): (worker3) can't receive the response header message from tomcat, network problems or tomcat (172.16.7.16:8009) is down (errno=11)
参考,推荐看Apache及相关组件的官网资料,如果看中文的,这里推荐几个。
1. 编译安装apache http://www.cnblogs.com/alexqdh/archive/2012/11/20/2764810.html
2. apache2启动时共享库libpcre找不到 http://www.cnblogs.com/eastson/archive/2012/06/25/2561575.html
3. server下apache2.4.*虚拟主机配置Forbidden You don't have permission to access / on this server. http://www.cnblogs.com/unofficial/p/3931653.html
升级apache的更多相关文章
- 升级 Apache Tomcat的办法
1.下载最新的7系列tomcat cd /usr/local/software wget https://www-us.apache.org/dist/tomcat/tomcat-7/v7.0.92/ ...
- 如何在Centos7下升级Apache至最新版本
Apache是使用最广泛的应用部署软件.并且它也是所有服务器的必要组成部分.安装最新版本的apache意味着拥有更多最新的功能和修复了已知的BUG. 介绍 在这篇教程里面,我将会介绍在Centos7下 ...
- 关于wamp中升级PHP+Apache 的问题
首先个人不建议wamp中升级php版本,如果你不信可以试一试,当你php升级后发想,奥,Apache版本不匹配,然后又去升级Apache,结果搞了半天,弄出来了就好,要是没出来,可能你会气死(好吧,气 ...
- 漏洞复现——apache文件解析漏洞
漏洞描述: 我们可以上传一个文件名末尾包含换行符的文件,以此绕过它的黑名单 影响版本: apache 2.4.0-2.4.29 漏洞分析: <FilesMath "\.(?i:php| ...
- Apache Struts最新漏洞 远程代码执行漏洞预警 2018年11月08日
2018年11月8日,SINE安全监控检测中心,检测到Apache Struts官方更新了一个Struts漏洞补丁,这个漏洞是Apache Struts目前最新的漏洞,影响范围较广,低于Apache ...
- SpringBoot 2.0 + Apache Dubbo 2.7.3 最新版整合方案
前言 2018年2月16日,Apache Dubbo 加入 Apache 基金会孵化器.2019年5月16日,Apache 软件基金会董事会决议通过了 Apache Dubbo 的毕业申请,这意味着 ...
- Apache Druid 远程代码执行 CVE-2021-25646 漏洞复现
Apache Druid 远程代码执行 CVE-2021-25646 漏洞复现 前言 Apache Druid 是用Java编写的面向列的开源分布式数据存储,旨在快速获取大量事件数据,并在数据之上提供 ...
- Apache Log4j 远程代码执行漏洞源码级分析
漏洞的前因后果 漏洞描述 漏洞评级 影响版本 安全建议 本地复现漏洞 本地打印 JVM 基础信息 本地获取服务器的打印信息 log4j 漏洞源码分析 扩展:JNDI 危害是什么? GitHub 项目 ...
- linux安装
1.rpm: • RPM是软件包管理工具,是Redhat Package Manager的缩写,最早由redhat公司引入的,现在已经成为公认的行业标准了.• 什么是package• 简单地说就是归档 ...
随机推荐
- required 引发的小小思考
原创:转载请注明出处 首先,因为遇到问题如下: class MainTabBar: UITabBar { override init(frame: CGRect) { super.init(frame ...
- maven认识
在这里普及一下知识: ┣ maven与ant是同类,构建工具 ┣ svn与cvs,css是同类,版本控制工具 1.为什么要用Maven? 在进行软件开发的过程中,无论什么项目,采用何种技术,使用何种编 ...
- ubuntu apache 安装awstats 流量分析工具(命令方式)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- (二)、Struts第二天
(二).Struts第二天 回顾: 问题: 1. Struts2的Action类是单例还是多例? Filter? Servlet? Listener? 2. 介绍struts2框架引入的相关jar包及 ...
- Sphinx配置过程
http://www.oschina.net/question/84274_11938 http://www.ibm.com/developerworks/library/os-php-sphinxs ...
- Ng-model undefined in the controller
这个问题是我最近在项目中碰到的,暂时没找到原因,找到一个解决方法,还多请大神指教,在Stack Overflow找到解决方法: I am having some "problems" ...
- php获取Linux网卡信息
$data = exec("/sbin/ifconfig"); var_dump($data); 注意:有时候这种方式获取不到,应该是权限问题 在/var/rootP文件中添加ro ...
- win7 系统保留分区 BCDedit
系统保留分区简介编辑 “系统保留”分区示意图 Windows Vista/7出于安全考虑,在新装Windows Vista/7系统过程中,如果利用光盘的分区工具给硬盘分区时,系统默认的将一部分(100 ...
- CASpringAnimation
iOS9新出现的 /** Subclass for mass-spring animations. */ @interface CASpringAnimation : CABasicAnimation ...
- webapp之路--之ios上图标
以前我们用过favicon在浏览器给网站进行身份标识,用法如下: <link href="http://image.feeliu.com/web/favicon.ico" r ...