Apache已经安装完毕并投入运行,但是后来却发现部分模块没有加载,当然有两个方法:
1. 一是完全重新编译Apache, 再安装
2. 编译模块为SO文件,使用LoadModule指令加载扩展模块。
 
apache安装后追加mod_rewrite
1.apache1.3
apache_1.3.34.tar.gz 解压后的目录为 /root/apache_1.3.34 文中简称为“源码目录” apache安装目录 /usr/local/apache 文中简称为“目标目录” 步骤: 1、Apache安装rewrite模块的时候需要DBM支持,否则无法编译,所以首先要安装一个GDBM 下载地址:ftp://ftp.gnu.org/gnu/gdbm/  安装步骤: 进入安装目录,  ./configure  make  make install  make install-compat (最后行也要执行。否则无法编译出ndbm.h头文件) 如果您不能确定服务器上是否已经装有DBM,那么可以安装一下。否则这步可以跳过。 2、现在到apache源码目录的标准模块目录中(/root/apache_src/src/modules/standard/)中,使用如下指令编译出so文件: /usr/local/apache/bin/apxs -c mod_rewrite.c -lgdbm 即可得到mod_rewrite.so文件。 备注:"-lgdbm"是用为说明在编译mod_rewrite.c时要把gdbm链接进来。这样在第6步启动apache时就不会报出"dbm fetch"的错误了。
3、现在让apache的apxs来自动向http.conf配置文件中加入LoadModule语句并将mod_rewrite.so文件拷贝到apache/libexec目录 /usr/local/apache/bin/apxs -i -A -n rewrite /root/apache_1.3.34/src/modules/standard/mod_rewrite.so  备注:命令中的rewrite参数是告诉apxs命令mod_rewrite.so文件中的模块名。在命令执行后,apxs会在LoadModule中为rewrite加上"_module"以标名模块名称。 如果你在启动apache时发现总是给出“不能定位API”之类的错误,那就是说明LoadModule后面的模块名的语法要根据您的apache版本加以改变。 4、停止apache  apache/bin/apachectl stop 5、运行配置文件检查命令  apache/bin/apachectl configtest 如显示Syntax OK,则表示整个操作成功。那么可以到第6步。否则根据提示信息进行调试。但只要按照此文所说进行操作是不会出错的。 6、启动apache  apache/bin/apachectl start
 
2.apache2.
增加mod_rewrite模块 # find . -name mod_rewrite.c //在apache的源码安装目录中寻找mod_rewrite.c文件 # cd PATH/to/mod_rewrite.c //进入包含mod_rewrite.c文件的目录 # /usr/local/apache/bin/apxs -c mod_rewrite.c //apxs应指定绝对路径,在你当前正在使用apache的bin目录里 # /usr/local/apache/bin/apxs -i -a -n mod_rewrite mod_rewrite.la  如果没有什么错误的话,应该在你的apache的modules目录中编译出一个mod_rewrite.so文件。 编辑httpd.conf文件,确认httpd.conf中已经包含mod_rewrite.so的加载语句,如下: LoadModule rewrite_module modules/mod_rewrite.so 这时,你的apache应该已经支持rewrite了。 完成之后,重启服务器apache. 重启apache出现如下错误: www# /usr/local/apache/bin/apachectl restart httpd: Syntax error on line 54 of /usr/local/apache/conf/httpd.conf: Can't locate API module structure `mod_rewrite_module' in file /usr/local/apache/modules/mod_rewrite.so: Undefined symbol "mod_rewrite_module"
httpd.conf中为 LoadModule mod_rewrite_module modules/mod_rewrite.so 改为 LoadModule rewrite_module modules/mod_rewrite.so 启动正常!

apache动态添加模块的更多相关文章

  1. 【01】Nginx:编译安装/动态添加模块

    写在前面的话 说起 Nginx,别说运维,就是很多开发人员也很熟悉,毕竟如今已经 2019 年了,Apache 更多的要么成为了历史,要么成为了历史残留. 我们在提及 Nginx 的时候,一直在强调他 ...

  2. Nginx动态添加模块 平滑升级

    已经安装好的Nginx动态添加模块 说明: 已经安装好的Nginx,需要添加一个未被编译安装的模块,需要怎么弄呢? 这里已安装第三方nginx-rtmp-module模块为例 nginx的模块是需要重 ...

  3. 【Nginx】如何为已安装的Nginx动态添加模块?看完我懂了!!

    写在前面 很多时候,我们根据当时的项目情况和业务需求安装完Nginx后,后续随着业务的发展,往往会给安装好的Nginx添加其他的功能模块.在为Nginx添加功能模块时,要求Nginx不停机.这就涉及到 ...

  4. 十三、给已安装的nginx动态添加模块

    给已安装的nginx动态添加模块说明:已经安装好的nginx,需要添加一个未被编译安装的模块,需要怎么弄呢?具体:这里以安装 --with-http_ssl_module模块为例nginx的模块是需要 ...

  5. Linux下Nginx的安装、升级及动态添加模块

    系统基于ubuntu server 14.04.4 amd64 安装 第一步 下载并解压Nginx压缩包 从Nginx官网下载Nginx,或者在Linux上执行wget http://nginx.or ...

  6. Linux下,Nginx的安装、升级及动态添加模块

    系统基于ubuntu server 14.04.4 amd64 安装 第一步 下载并解压Nginx压缩包 从Nginx官网下载Nginx,或者在Linux上执行wget http://nginx.or ...

  7. Nginx动态添加模块

    前言 有时候要使用已安装好的Nginx的功能时,突然发现缺少了对应模块,故需对其进行动态添加模块. 操作 # 查看已安装模块 [root@kazihuo ~]# nginx -V nginx vers ...

  8. 为Apache动态增加模块

    Apache已经安装完毕并投入运行,但是后来却发现部分模块没有加载,当然有两个方法: 1. 一是完全重新编译Apache, 再安装 2. 编译模块为SO文件,使用LoadModule指令加载扩展模块. ...

  9. 不重装nginx实现动态添加模块

    如果项目在提供服务的过程中,因为需求使然,需要对nginx进行模块的动态添加,可以按照如下流程进行操作 一.查看nginx当前已经安装了那些模块 1) 进入nginx执行文件目录 cd   /usr/ ...

随机推荐

  1. extjs底层源码实现继承分析

    先说明一下在js中一般的继承是怎么写的 var farther=function(name){ this.name=name }; farther.prototype={ constructor:fa ...

  2. 舒适的路线 (code[vs] 1001)

    传送门 :code[vs]  1001 思路:拿到这题的首先的思路 , 就是跑一遍最短路. 可是在尝试了一会后发现不会写,于是果断弃 尝试另外的算法.. 于是就有的以下的算法.并查集 + 乱搞(有点像 ...

  3. CentOS部署yum本地源和共享

    约定yum本地源的机器IP为192.168.1.100,需要访问共享源的IP为192.168.1.101 关闭并禁止selinux和firewalld 创建本地源 1.上传centos7光盘镜像到指定 ...

  4. JTree事件

    package com.wf; import javax.swing.*; import javax.swing.event.TreeSelectionEvent; import javax.swin ...

  5. Webservice WCF WebApi

    注明:改编加组合 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下,你有很多的选择来构建一个HTTP Service ...

  6. Exchange 2010 实用小技巧

    #Exchange安装必须开启防火墙服务 #批量建用户: for /f  "tokens=1,2,3,4,5,6,7 delims=," %a in (c:\users.csv) ...

  7. ajax客户端请求与服务端响应浅谈

    AJAX,即Asynchronous Javascript And XML,AJAX本质是在HTTP协议的基础上以异步的方式与服务器进行通信. 所谓的异步,是指某段程序执行不会阻塞其他程序执行,其表现 ...

  8. 去掉UItableview section headerview黏性

    UITabelView在style为plain时,在上拉是section始终粘在最顶上而不是跟随滚动而消失或者出现 可以通过设置UIEdgeInsetsMake: - (void)scrollView ...

  9. trove,测试,db小解析

    # Copyright 2014 Tesora Inc.# All Rights Reserved.## Licensed under the Apache License, Version 2.0 ...

  10. webAPI---发布(IIS)--发布遇到问题(500.19,500.21,404.8,404.3)

    WebAPI的内容部分直接转自官方文档,英语水平有限,不做翻译, 发布网站在本文的后半部分 HTTP is not just for serving up web pages. It is also ...