那位高手帮我看一下启动apache提示一下错误是怎么回事啊 系统是linux的

那位高手帮我看一下启动apache提示一下错误是怎么回事啊 系统是linux的,第1张

1,不知你的linux系统是什么版本(eg:centos, fedora)---因为不同的系统apache配置路径不同

2,我的是rhel6.2,路径:/etc/httpd/conf/httpd.conf---查看less /etc/httpd/conf/httpd.conf(第...行)

3,我的建议(懒人做法)---重装apache(yum install httpd)---按错误是你缺少了mod_foo.so模块

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11388944.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存