我对Apache HTTP 2.4服务器及其模块开发没什么新意。我一直在玩,并创建了一个示例mod_hello.so模块进行测试。但是在部署时遇到问题: -
问题:无法在Apache http 2.4服务器中部署mod_hello.so文件
执行的步骤: -
- 将mod_hello.so文件复制到/ usr / local / apache / modules /
中
目录
- 编辑了httpd.conf文件以加载模块: - LoadModule
foo_module modules / mod_hello.so
- 重新启动httpd服务
- 但是当我尝试使用URL访问时:localhost / foo我得到404
浏览器上找不到错误。在实际中它应该产生'Hello Word'
浏览器上的消息。
- 在日志中我也检查了但无法找到任何有用的内容
醇>
在上述活动之前,我已完成以下工作
- 从源代码构建Apache服务器2.4并安装在fedora 15系统上
- 用于构建二手APR,APR-UTIL,PCRE
- 一切正常,能够编译示例代码并获得所需的mod_hello.so文件
醇>
非常感谢任何有关调试此问题的帮助
日志
error_log中
- AH00558:httpd:无法可靠地完全确定服务器
限定域名,使用localhost.localdomain。设置
'ServerName'指令全局抑制此消息
- AH00558:httpd:无法可靠地完全确定服务器
限定域名,使用localhost.localdomain。设置
'ServerName'指令全局抑制此消息
- [11月12日星期三13:48:17.753498 2014] [核心:警告] [pid 13514:tid
3077613776] AH00098:pid文件/usr/local/apache/logs/httpd.pid
覆盖 - 以前Apache运行的不干净关闭?
的access_log
- :: 1 - - [12 / Nov / 2014:12:58:06 -0800]“GET / HTTP / 1.1”200 45
- :: 1 - - [12 / Nov / 2014:12:58:06 -0800]“GET /favicon.ico HTTP / 1.1”404
209
- :: 1 - - [12 / Nov / 2014:12:58:06 -0800]“GET /favicon.ico HTTP / 1.1”404
209
- :: 1 - - [12 / Nov / 2014:13:48:24 -0800]“GET / HTTP / 1.1”200 45
- :: 1 - - [12 / Nov / 2014:13:48:32 -0800]“GET / foo HTTP / 1.1”404 201
- :: 1 - - [12 / Nov / 2014:13:48:34 -0800]“GET / foo HTTP / 1.1”404 201
解决方案
我在apache / conf / extra / mod_hello.conf中创建了一个新的conf文件,并在其中添加了以下行
LoadModule helloworld_module modules/libhello.so
<Location /helloworld>
SetHandler helloworld
</Location>
在上述更改后,将以下行添加到httpd.conf文件中
Include conf/extra/mod_hello.conf
重新启动服务器
./httpd -X