当前位置 主页 > 服务器问题 > Linux/apache问题 >

    Apache在线升级该注意哪些

    栏目:Linux/apache问题 时间:2018-12-06 11:30

      升级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。