文章出處

Brief                                

  在部署Httpd時為方便管理和安全等原因,我們僅會安裝所需的模塊,那么后期功能擴展時則需要通過Httpd內置提供的apxs程序來進行模塊添加。

  而apxs程序則位于apache/bin目錄下。

 

Premise                              

  首先我們的平臺必須支持DSO特性,而且Httpd必須已經內建了mod_so模塊。

  DSO(Dynamic Shared Object,動態共享對象)

    是一種動態連接/加載的機制,從而可以在運行時將編譯成特殊格式的代碼加載到可執行程序的地址空間。然后通過mod_so提供的LoadModule指令在運行時加載到Httpd服務器中。

  mod_so模塊

    作用:運行時加載DSO模塊(Httpd進程啟動時可加載DSO模塊來擴展功能)

        后綴:.so或.dll

  檢查是否已內建mod_so模塊: > httpd -l | grep mod_so 

 

Install module by apxs                      

  apxs的全稱為APache eXtenSion作為Httpd服務器編譯和安裝擴展模塊的工具,用于編譯一個或多個程序或目標代碼文件為動態共享對象。

   > apxs -i -a -c <file> 

  <file>可以是C源碼文件(.c)、地址獨立的目標代碼文件(.o)甚至是一個庫(.a)。

  Httpd默認支持的模塊C源碼文件位于apache/modules/metadata/目錄下,如mod_headers.c (若要配置請求頭、響應頭的信息必須通過它)

   > /app/apache/bin/apxs -i -a -c /app/apache/modules/metadata/mod_headers.c   執行后在/app/apache/modules/下多了一個mod_headers.so文件

  然后我們再在/app/apache/conf/httpd.conf中添加

LoadModule headers_module /modules/mod_headers.so

<IfModule headers_module>

    Header add Access-Control-Allow-Origin *

    Header add Access-Control-Allow-Method "POST,GET,OPTIONS"

</IfModule>

 

Thanks                            

http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/dso.html

http://blog.51yip.com/apachenginx/871.html

http://man.chinaunix.net/newsoft/ApacheMenual_CN_2.2new/programs/apxs.html


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()