httpd添加新模块

*/

.hljs {
display: block;
overflow-x: auto;
padding: 0.5em;
color: #333;
background: #f8f8f8;
}

.hljs-comment,
.hljs-template_comment,
.diff .hljs-header,
.hljs-javadoc {
color: #998;
font-style: italic;
}

.hljs-keyword,
.css .rule .hljs-keyword,
.hljs-winutils,
.javascript .hljs-title,
.nginx .hljs-title,
.hljs-subst,
.hljs-request,
.hljs-status {
color: #333;
font-weight: bold;
}

.hljs-number,
.hljs-hexcolor,
.ruby .hljs-constant {
color: #099;
}

.hljs-string,
.hljs-tag .hljs-value,
.hljs-phpdoc,
.tex .hljs-formula {
color: #d14;
}

.hljs-title,
.hljs-id,
.coffeescript .hljs-params,
.scss .hljs-preprocessor {
color: #900;
font-weight: bold;
}

.javascript .hljs-title,
.lisp .hljs-title,
.clojure .hljs-title,
.hljs-subst {
font-weight: normal;
}

.hljs-class .hljs-title,
.haskell .hljs-type,
.vhdl .hljs-literal,
.tex .hljs-command {
color: #458;
font-weight: bold;
}

.hljs-tag,
.hljs-tag .hljs-title,
.hljs-rules .hljs-property,
.django .hljs-tag .hljs-keyword {
color: #000080;
font-weight: normal;
}

.hljs-attribute,
.hljs-variable,
.lisp .hljs-body {
color: #008080;
}

.hljs-regexp {
color: #009926;
}

.hljs-symbol,
.ruby .hljs-symbol .hljs-string,
.lisp .hljs-keyword,
.tex .hljs-special,
.hljs-prompt {
color: #990073;
}

.hljs-built_in,
.lisp .hljs-title,
.clojure .hljs-built_in {
color: #0086b3;
}

.hljs-preprocessor,
.hljs-pragma,
.hljs-pi,
.hljs-doctype,
.hljs-shebang,
.hljs-cdata {
color: #999;
font-weight: bold;
}

.hljs-deletion {
background: #fdd;
}

.hljs-addition {
background: #dfd;
}

.diff .hljs-change {
background: #0086b3;
}

.hljs-chunk {
color: #aaa;
}

#container {
padding: 15px;
}
pre {
border: 1px solid #ccc;
border-radius: 4px;
display: block;
background-color: #f8f8f8;
}
pre code {
white-space: pre-wrap;
}
.hljs,
code {
font-family: Monaco, Menlo, Consolas, ‘Courier New‘, monospace;
}
:not(pre) > code {
padding: 2px 4px;
font-size: 90%;
color: #c7254e;
background-color: #f9f2f4;
white-space: nowrap;
border-radius: 4px;
}
-->

有些时候因为特殊需求,需要在已安装的httpd上添加一些额外的模块,这时候要使用httpd-devel中的apxs工具。要使用这个扩展机制,你的平台必须支持DSO特性,即要求Apache httpd必须内建了mod_so模块。

apxs添加模块的方法很简单,以下是几个可能用上的选项。

-c mod_foo.c:将c文件编译为.so文件。
-i:表示安装一个或多个模块到apache服务所在目录的modules目录中。
-a:表示自动在httpd.conf中加入LoadModule行。
-A:表示自动在httpd.conf中加入#LoadModule行,也就是说安装了模块但是不启用。
-n:显式指定-i需要安装的模块名。

例如:添加mod_proxy.so模块。

cd httpd-2.4.23/modules  # 进入到httpd源码的解压目录
apxs -c -i -A proxy/mod_proxy.c proxy/proxy_util.c

安装成功后的最后几行会告诉你要去修改配置文件,看情况是否要修改LoadModule指令来加载模块。

有时候添加一个模块后重启失败了并提示undefined Symbol,说明还需添加另外相关的所需模块。

例如,上面如果只安装apxs -c -i -a proxy/mod_proxy.c时重启httpd。

Starting httpd: httpd: Syntax error on line 117 of /etc/apache/httpd.conf: Cannot load modules/mod_proxy.so into server: /usr/local/apache/modules/mod_proxy.so: undefined symbol: ap_proxy_strmatch_domain

这说明还需要装相关的devel或者util对应的模块。

回到Linux系列文章大纲:http://www.cnblogs.com/f-ck-need-u/p/7048359.html

回到网站架构系列文章大纲:http://www.cnblogs.com/f-ck-need-u/p/7576137.html


回到数据库系列文章大纲:http://www.cnblogs.com/f-ck-need-u/p/7586194.html


转载请注明出处:http://www.cnblogs.com/f-ck-need-u/p/8413455.html

注:若您觉得这篇文章还不错请点击右下角推荐,您的支持能激发作者更大的写作热情,非常感谢!

原文地址:https://www.cnblogs.com/f-ck-need-u/p/8413455.html

时间: 2024-08-01 12:15:41

httpd添加新模块的相关文章

NGINX编译安装后添加新模块的方法

刚忙完研发又有新的需求过来,测试服务器的nginx需要有HttpUpstreamRequestHashModule和HttpStubStatusModule:擦!安装软件环境时怎么不说清楚:妹的,悲剧. 测试服务器崩溃的是不是我安装的软件,天啊.赶紧搞吧!!! 环境:centos 6.4 64位 编译安装nginx 1:查看nginx版本和安装时间带的具体参数  /usr/local/nginx/sbin/nginx  -V 2:下载相应的版本的nginx源码包[nginx-1.5.11.tar

如何给在用的nginx添加新模块?

有一个在用的nginx,以yum方法安装的,怎样在不改动配置的情况下,为它添加模块. 以添加spdy模块为例. 编译新模块 预编译 ./configure --prefix=/etc/nginx --sbin-path=/usr/sbin --conf-path=/etc/nginx/nginx.conf --pid-path=/run/nginx.pid --error-log-path=/var/log/nginx/error.log --with-http_spdy_module --wi

nginx添加新模块及第三方模块

一.编译添加新模块 1.查看以前编译安装nginx的信息    /usr/local/nginx/sbin/nginx -V 2.进入nginx源码目录           cd nginx-1.8.0 3.重新编译代码和模块 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module 4.

php中添加新模块支持

php安装额外的扩展模块php安装完成以后,如果php中缺少某个模块,这是我们也不可能重新编译php,只能通过php的模块扩展来安装缺少的功能模块使用/usr/local/php7/bin/php -m 查看php已编译的模块,也可查看未编译的模块,配合grep查看是否存在模块可以下载一个第三方的的php扩展,这里只使用php内置模块演示:进入内置模块目录(第三方需要解压后进入其目录中),在目录中执行/usr/local/php7/bin/phpize,生成./configure编译文件,如果p

如何向编译安装好的软件添加新模块

主要是解决一些烦恼,有时候编译安装好了一个软件:就不想覆盖了.方法如下 这里以nginx为例: 比如已编译安装好的nginx例为: ./configure --user=www --group=www --add-module=../ngx_cache_purge-2.0 --prefix=/usr/local/webserver/nginx --with-http_ssl_module 现在想添加nginx的status 模块,我们只要加入需要添加的模块,重新编译: ./configure -

给已经在用的nginx添加新模块

已经在用的nginx服务器,需要安装一个新的模块 首先通过-V参数查看当前编译安装的参数: linux_server01:~ # nginx -V nginx version: nginx/1.6.2 built by gcc 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux)  TLS SNI support enabled configure arguments: --prefix=/datas/nginx --user=nginx_srv

nginx重新编译添加新模块

找到安装nginx的源码根目录,如果没有的话下载新的源码 http://nginx.org tar xvzf nginx-1.3.2.tar.gz 查看ngixn版本极其编译参数 /usr/local/nginx/sbin/nginx -V 进入nginx源码目录 cd nginx-1.3.2 以下是重新编译的代码和模块 ./configure --prefix=/usr/local/nginx--with-http_stub_status_module --with-http_ssl_modu

03_Nginx添加新模块

?? 1 进入nginx安装目录,查看nginx版本及其编译参数: [[email protected] nginx]# ./nginx -V nginx version: nginx/1.8.0 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-3) (GCC) built with OpenSSL 1.0.1c 10 May 2012 TLS SNI support enabled configure arguments: --sbin-path=/usr

ECShop添加新模块,管理权限报错

提示报错信息: Warning: join(): Invalid arguments passed in D:\phpStudy\WWW\TimmyMall\admin\privilege.php on line 607 Warning: Invalid argument supplied for foreach() in D:\phpStudy\WWW\TimmyMall\admin\privilege.php on line 609 解决方法: 权限数据库,新加模块的parent_id找不到