云服务器Apache如何在线升级?

[复制链接] |主动推送
查看48 | 回复0 | 2024-9-11 18:10:59 | 显示全部楼层 |阅读模式
  升级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。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则