httpd添加新模塊

有些時候由於特殊需求,須要在已安裝的httpd上添加一些額外的模塊,這時候要使用httpd-devel中的apxs工具。要使用這個擴展機制,你的平臺必須支持DSO特性,即要求Apache httpd必須內建了mod_so模塊。apache

apxs添加模塊的方法很簡單,如下是幾個可能用上的選項。dom

-c mod_foo.c:將c文件編譯爲.so文件。
-i:表示安裝一個或多個模塊到apache服務所在目錄的modules目錄中。
-a:表示自動在httpd.conf中加入LoadModule行。
-A:表示自動在httpd.conf中加入#LoadModule行,也就是說安裝了模塊可是不啓用。
-n:顯式指定-i須要安裝的模塊名。工具

例如:添加mod_proxy.so模塊。spa

[root@localhost ~]# cd /root/httpd-2.4.29/modules
[root@localhost modules]# apxs -c -i -A proxy/mod_proxy.c proxy/proxy_util.c

安裝成功後的最後幾行會告訴你要去修改配置文件,看狀況是否要修改LoadModule指令來加載模塊。code

有時候添加一個模塊後重啓失敗了並提示undefined Symbol,說明還需添加另外相關的所需模塊。server

chmod 755 /usr/local/apache/modules/mod_proxy.so
[preparing module `proxy' in /etc/apache/httpd.conf]

例如,上面若是隻安裝apxs -c -i -a proxy/mod_proxy.c時重啓httpd。blog

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對應的模塊。編譯

相關文章
相關標籤/搜索