zoukankan      html  css  js  c++  java
  • 为Apache动态增加模块

    Apache已经安装完毕并投入运行,但是后来却发现部分模块没有加载,当然有两个方法:

    1. 一是完全重新编译Apache, 再安装

    2. 编译模块为SO文件,使用LoadModule指令加载扩展模块。

    这里只讲第二个方法

    情景:现在需要启用Apache的deflate模块,即压缩输出,以加快网站下载,节省网络带宽

    服务器 Red Hat AS 4

    Aapache安装在/usr/local/apache2/

    Apache安装源文件保存在/usr/local/soft/httpd-2.2.8/下

    要求:加载mod_deflate.c模块,使Apache支持压缩输出

    1. 现在检查 /usr/local/apache2/conf/httpd.conf, 没有发现类似:LoadModule deflate_module        modules/mod_deflate.so

    说明,Apache没有加载此模块

    2. 再检查 /usr/local/apache2/modules/, 在此目录下并没有发现mod_deflate.so 文件,说明此模块未被编译好,那么需要先编译模块,再加载之

    3. 先进入mod_deflate.c文件所在目录:

    [root@localhost.localdomain ~/]#cd /usr/local/soft/httpd-2.2.8/modules/filte r

    4. 利用apxs文件编译目标模块

    [root@localhost.localdomain /usr/local/soft/httpd-2.2.8/modules/filters]#/usr/local/apache2/bin/apxs -i -c -a mod_deflate.c

    说明:-i  安装, -c 编译指定模块 -a激活模块(即向httpd.conf添加 LoadModule指令)

    运行结果:

    ................

    ----------------------------------------------------------------------
    chmod 755 /usr/local/apache2/modules/mod_deflate.so
    [activating module `deflate' in /usr/local/apache2/conf/httpd.conf]

    表示模块编译后存放为 /usr/local/apache2/modules/mod_deflate.so, 并自动在httpd.conf中激活了模块

    那么,我们现在检查/usr/local/apache2/conf/httpd.conf, 会发现程序已经自动添加了

    LoadModule deflate_module     modules/mod_deflate.so

    5. 那么,我们重启Apache即可:

    [root@localhost.localdomain ~]#/usr/local/apache2/bin/apachectl restart

    如果在上述第二步中发现模块文件已经存在,则不需要再编译模块,手工修改httpd.conf,重启Apache即可

  • 相关阅读:
    Netty相关知识积累
    Java内存管理
    使用nginx-upload-module搭建文件上传服务器
    mysql 5.7自动安装脚本
    CDH5集群搭建
    Linux常用命令
    编译原理要点四
    编译原理要点三
    编译原理要点二:
    编译原理要点
  • 原文地址:https://www.cnblogs.com/frankielf0921/p/5931787.html
Copyright © 2011-2022 走看看