為Apache動態增加模塊


Apache已經安裝完畢並投入運行,但是后來卻發現部分模塊沒有加載,當然有兩個方法:

 

1. 一是完全重新編譯Apache, 再安裝

2. 編譯模塊為SO文件,使用LoadModule指令加載擴展模塊。

 

這里只講第二個方法

 

情景:現在需要啟用Apache的deflate模塊,即壓縮輸出,以加快網站下載,節省網絡帶寬

服務器 Red Hat AS 4

Aapache安裝在/usr/local/apache2/

Apache安裝源文件保存在/usr/local/soft/httpd-2.2.8/下

 

要求:加載mod_deflate.c模塊,使Apache支持壓縮輸出

 

1. 現在檢查 /usr/local/apache2/conf/httpd.conf, 沒有發現類似:LoadModule deflate_module        modules/mod_deflate.so

說明,Apache沒有加載此模塊

 

2. 再檢查 /usr/local/apache2/modules/, 在此目錄下並沒有發現mod_deflate.so 文件,說明此模塊未被編譯好,那么需要先編譯模塊,再加載之

 

3. 先進入mod_deflate.c文件所在目錄:

[root@localhost.localdomain ~/]#cd /usr/local/soft/httpd-2.2.8/modules/filte r

 

4. 利用apxs文件編譯目標模塊

[root@localhost.localdomain /usr/local/soft/httpd-2.2.8/modules/filters]#/usr/local/apache2/bin/apxs -i -c -a mod_deflate.c

 

說明:-i  安裝, -c 編譯指定模塊 -a激活模塊(即向httpd.conf添加 LoadModule指令)

 

運行結果:

................

----------------------------------------------------------------------
chmod 755 /usr/local/apache2/modules/mod_deflate.so
[activating module `deflate' in /usr/local/apache2/conf/httpd.conf]

 

表示模塊編譯后存放為 /usr/local/apache2/modules/mod_deflate.so, 並自動在httpd.conf中激活了模塊

 

那么,我們現在檢查/usr/local/apache2/conf/httpd.conf, 會發現程序已經自動添加了

LoadModule deflate_module     modules/mod_deflate.so

 

5. 那么,我們重啟Apache即可:

[root@localhost.localdomain ~]#/usr/local/apache2/bin/apachectl restart

 

 

 

如果在上述第二步中發現模塊文件已經存在,則不需要再編譯模塊,手工修改httpd.conf,重啟Apache即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM