1. 程式人生 > >apxs新增apache擴充套件模組

apxs新增apache擴充套件模組

一,為什麼要用apxs

          apxs是一個為Apache HTTP伺服器編譯和安裝擴充套件模組的工具,用於編譯一個或多個源程式或目的碼檔案為動態共享物件,使之可以用由提供的指令在執行時載入到Apache伺服器中。

我們在裝apache的時候,有的模組我們並不需要,所以就沒有裝,但是將來的某個時候我們又需要這個模組了,怎麼辦呢,我們需要把apache重新編譯一下嗎?如果你要這樣做也可以,不過有一個更好的辦法來解決這個問題。用apxs來新增你所需要的模組,這個和php自帶的phpize很像。

要使用apxs,你的平臺必須支援DSO特性, 而且Apache的httpd必須內建了mod_so模組。檢視一下

httpd -l | grep mod_so

如果沒有東西,說明沒有裝,如果顯示有東西呢,說明裝了。

#所有引數:

[[email protected] proxy]# apxs
apxs -g  [ -S name=value ] -n modname
apxs -q [ -S name=value ] query ...
apxs -c [ -S name=value ] [ -o dsofile ] [ -I incdir ] [ -D name=value ] [ -L libdir ] [ -l libname ] [ -Wc,compiler-flags ] [ -Wl,linker-flags ] files ...
apxs -i [ -S name=value ] [ -n modname ] [ -a ] [ -A ] dso-file ...
apxs -e [ -S name=value ] [ -n modname ] [ -a ] [ -A ] dso-file ...

部分引數說明:

-n modname

它明確設定了-i(install)和-g (template generation)選項的模組名稱。 對-g選項,它是必須的; 對-i選項,apxs工具會按檔名判斷至少是推測出這個模組名稱。

-q

查詢某種apxs設定的資訊。 query引數可以是下列一個或多個字串:CC, CFLAGS, CFLAGS_SHLIB, INCLUDEDIR, LD_SHLIB, LDFLAGS_SHLIB, LIBEXECDIR, LIBS_SHLIB, SBINDIR, SYSCONFDIR, TARGET.這個引數用於手動查詢某些設定。比如,要手動處理Apache的C標頭檔案,可以在Makefile中使用

-g

此選項生成一個名為name的子目錄(見選項-n)和其中的兩個檔案: 一個是名為mod_name.c的樣板模組源程式, 可以用作建立你自己的模組的模板,或是學習使用apxs機制的良好開端; 另一個則是對應的Makefile,用於編譯和安裝此模組。

-c

此選項表示需要執行編譯操作。 它首先會編譯C源程式(.c)files為對應的目的碼檔案(.o), 然後,連線這些目的碼和files中其餘的目的碼檔案(.o and .a), 以生成動態共享物件dsofile。如果沒有指定-o選項, 則此輸出檔名由files中的第一個檔名推測得到, 所以,預設時,它一般會是mod_name.so

-i

此選項表示需要執行安裝操作, 以安裝一個或多個動態共享物件到伺服器的modules目錄中。

-a

此選項自動在httpd.conf檔案中增加一個LoadModule行,以啟用此模組,或者,如果此行已經存在,則啟用之。

-A

與-a選項類似,但是它增加的LoadModule指令由一個井號字首(#), 即,此模組已經準備就緒,但尚處於禁用狀態。

-e

此選項表示需要執行編輯操作,它可以與-a和-A選項配合使用, 與-i操作類似,修改Apache的httpd.conf配置檔案,但是並不安裝此模組。

二,新增apache模組

進入apache的解壓目錄,就是你從網上下載下來的壓縮檔案,然後解壓產生的目錄(原始碼目錄)

cd   apache的目錄/modules/proxy

[[email protected] proxy]# /usr/local/apache2/bin/apxs -c -i mod_proxy_balancer.c

出現下面的東西說明裝好了。

----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/apache2/modules

#要安裝的模組裝好了
[[email protected] apache2]$ ls ./modules/
httpd.exp     mod_fastcgi.so    mod_proxy.so           mod_rewrite.so
libphp5.so    mod_fcgid.so      mod_proxy_balancer.so
mod_cache.so  mod_mem_cache.so  mod_proxy_http.so

相關推薦

apxs新增apache擴充套件模組

一,為什麼要用apxs           apxs是一個為Apache HTTP伺服器編譯和安裝擴充套件模組的工具,用於編譯一個或多個源程式或目的碼檔案為動態共享物件,使之可以用由提供的指令在執行時載入到Apache伺服器中。 我們在裝apache的時候,有的模組我們並不

apxs新增apache模組,根phpize很類似

一,為什麼要用apxs 我們在裝apache的時候,有的模組我們並不需要,所以就沒有裝,但是將來的某個時候我們又需要這個模組了,怎麼辦呢,我們需要把apache重新編譯一下嗎?如果你要這樣做也可以,不過有一個更好的辦法來解決這個問題。用apxs來新增你所需要的模組,這個

為PHP新增memcache擴充套件模組

Memcache memcache是一套分散式的快取記憶體系統,由LiveJournal的Brad Fitzpatrick開發,但目前被許多網站使用以提升網站的訪問速度,尤其對於一些大型的、需要頻繁訪問資料庫的網站訪問速度提升效果十分顯著。 Memcache工作流程 先檢查客戶端

動態新增php擴充套件模組

有時php編譯安裝好之後,發現摸個編譯引數漏掉了,需要的模組不支援但又不想重新編譯php,這時我們可以動態的新增php模組。 如我之前有一個編譯時漏掉了--enable-mbstring 現在給新增上。 新增擴充套件模組只要在php的安裝包裡找到相應的模組原始碼重新編譯後

OpenCV contrib 3.2.0擴充套件模組新增與編譯(VS2017+OpenCV3.2.0)詳解與排坑

一Cmake配置與生成 安裝cmake下載地址:https://cmake.org/download/ 獲取最新版本:cmake-3.8.1-win64-x64.msi(可執行程式,不是壓縮包) 下載完畢直接執行安裝,只有一個步驟要注意, 選擇‘addCmake t

APXS編譯Apache模組

apxs 是Apache的擴充套件工具,用於編譯一個或多個源程式或目的碼檔案為動態共享物件,使之可以用LoadModule指令在執行時載入到Apache 伺服器中。 apache安裝時—enable-so 引數必須新增上 ./configure --prefix=/usr/

APXS編譯Apache模組

apxs 是Apache的擴充套件工具,用於編譯一個或多個源程式或目的碼檔案為動態共享物件,使之可以用LoadModule指令在執行時載入到Apache 伺服器中。 apache安裝時—enable-so 引數必須新增上 ./configure --prefix=/usr

Apache伺服器自定義擴充套件模組編寫流程

靈感: 應業務的要求,我需要在Apache上擴展出自定義的功能模組,以便處理特殊請求,study了半天,終於摸透了編寫Apache擴充套件模組編寫流程。為了方便以後記憶及查詢,特記錄此篇 環境: 作業系統:Ubuntu 17.10 server 64b

apache安裝模組工具apxs

前言 以下是在自己的騰訊雲vps(ubuntu16.04)操作,通過oneinstack安裝lamp的,本文通過apxs安裝mod_proxy.so模組。 正文 apxs是apache管理模組的工具,它做的是將mod.c生成mod.so,並使其能被apache載

AliOS-Things--EMW3060--nano--新增一個新模組

https://github.com/alibaba/AliOS-Things/wiki/Add-a-new-component-example.zh 一、新增一個元件:info_a 架構簡介 |----AliOS-Things |----example

【C++】 Debug 版的 C/C++ Python 擴充套件模組連結錯誤:Error LNK1104 cannot open file 'python27_d.lib

Debug 版的 C/C++ Python 擴充套件模組連結錯誤:Error LNK1104 cannot open file 'python27_d.lib' 環境配置 (1)python的lib 以及標頭檔案分別加到vc的include/lib directories中去。

Dockerfile 檔案中新增 redis 擴充套件

我的 dockerfile 檔案如下 FROM php:7.1.8-apache ENV TZ=Asia/Shanghai ENV APACHE_LOG_DIR /var/log/apache2_log COPY sources.list /etc/apt/sources.list RUN

C++開發python windows版本的擴充套件模組示例

C++開發python windows版本的擴充套件模組示例測試環境介紹和準備測試環境:作業系統:windows10Python版本:3.7.0VS版本:vs2015社群版(免費)相關工具下載:VS版本vs2015社群版(免費)win10SDK(安裝vs2015是可以選擇,如果沒有安裝則需要獨立安裝)Pyth

LGame-0 3 Android與JavaSE遊戲引擎 正式釋出,新增SRPG製作模組

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

phpstudy新增redis擴充套件

作業系統   windows; 直接貼步驟記錄下 一.      劃重點,執行phpinfo(), 觀察第四行 x86  好了記住這個 x86   三.    http://pecl.php.net/package/r

Linux-LNMP-PHP擴充套件模組安裝

/usr/local/php/bin/php -m //檢視模組 下面安裝一個redis的模組cd /usr/local/src/ wget https://codeload.github.com/phpredis/phpredis/zip/develop mv develop phpredis-dev

mac php新增mongodb擴充套件

1、下載安裝mongo驅動擴充套件包 $ git clone https://github.com/mongodb/mongo-php-driver.git $ cd mongo-php-driver $ git submodule update --init $ phpize $ ./co

關於 Windows 下 編譯 opencv 擴充套件模組 opencv_contrib 的一些建議

       最近在學習opencv,其中用到了人臉識別模組,那這個就要用到opencv中的face人臉識別的那部分功能,當在VS 2017中新增 #include <opencv2/face.hpp> 時發現不對啊(我的是opencv3.3.0)

[樂意黎原創]Centos主機動態安裝PHP的bcmath,Libmcrypt,mhash,mcrypt等擴充套件模組方法

如下,Centos裡啟動 php-fpm 時,控制檯總在拋若干警告。 [[email protected]] #service php-fpm start Starting php-fpm daemon is success[28-Nov-2018 17:45:40] NOTIC

linux下編譯安裝最新版phalcon centos下PHP7新增phalcon擴充套件

linux下編譯安裝phalcon 1、下載原始碼包    執行命令:  git clone --depth=1 git://github.com/phalcon/cphalcon.git 進入目錄  執行命令: