在安裝Axis C++之前有兩個組件是必須安裝的,分別是Apache HTTP Server以及用於處理XML的程序Xerces;爲了編譯Axis以及Apache HTTPD,你的Linux機器還應該裝有gcc編譯器。
3個部件的都採用源碼安裝,它們都有類似的步驟:
- 上傳並解壓安裝包
- 設置環境變量
- 利用configure生成Makefile
- 編譯安裝到
usr/local/
對應目錄下
本文部署路徑爲apache安裝在/usr/local/apache2
,Axis2C
1.6 安裝到/usr/local/axis2c
,Xerces
3.0.1安裝到/usr/local/
,Xerces 3.0.1以頭文件和庫文件分別分別在/usr/local/include
和/usr/local/lib
中。
提示:安裝過程中如果出錯,要注意檢查環境變量設置是否正確以及是否生效。如果運行./configure出錯,請檢查安裝的工具鏈如gcc,libtool等是否符合版本要求。如何make install出錯,請確定當前用戶是否有相應的安裝權限。
推薦安裝方式:統一使用root用戶安裝,之後再將權限授予對應的用戶。本文也採用這種方式進行。
一、安裝前準備
- 確認登陸root用戶
su - root
二、Linux主機源碼安裝Apache
1.上傳並解壓安裝包
從http://httpd.apache.org/下載源代碼httpd-2.2.27.tar.gz(或其他版本),上傳到linux主機.
解壓源碼包 tar -zxvf httpd-2.2.27.tar.gz
這時會出現一個httpd-2.2.27
的目錄,將它改名爲apachemv httpd-2.2.27 apache
2.設置環境變量
無
3.利用configure生成Makefile
進入apache
目錄下cd apache
設置安裝參數 ./configure --prefix=/usr/local/apache2
--enable-module=so
第一個參數prefix
爲安裝的路徑,第二個參數enable-module=so
表示允許動態加載模塊。prefix
參數指明將apache
安裝到/usr/local/apache2
目錄,如果登錄用戶不是root
,可能沒有權限在/usr/local
下創建目錄的權限,這樣在make
install
時會報錯誤。解決的辦法有兩個
- 修改
prefix
參數,使之指向一個登錄用戶有創建目錄權限的路徑 - 用
root
用戶在/usr/local
目錄下創建apache2
目錄,然後將目錄apache2
的wrx
權限授權給登錄用戶。
當然我們使用第二種方式,使用root用戶安裝。
4.編譯安裝到對應目錄下 make
make install
總之,安裝順序執行的命令序列如下,如果都沒有出錯,表示安裝成功: tar -zxvf httpd-2.2.6.tar.gz
mv httpd-2.2.6 apache
cd apache
./configure --prefix=/usr/local/apache2
--enable-module=so
make
make install #可能需要root權限
接下來Xerces 3.0.1和Axis2C 1.6 的安裝都是類似的步驟.
三、Xerces 3.0.1源碼安裝
1.上傳並解壓安裝包
在http://archive.apache.org/dist/xml/xerces-c/下載源碼,上傳的Linux主機。
解壓包 tar -zxvf xerces-c-3.0.0.tar.gz
2.設置環境變量
添加環境變量,vi .bashrc,在文件最後添加如下一行 export XERCESCROOT=$HOME/xerces-c-3.0.1
export LIBPATH=$HOME/xerces-c-3.0.1:$LIBPATH
重新引用環境變量:
. .bashrc
注意$HOME/xerces-c-3.0.1
是我們解壓文件的路徑。
3.利用configure生成Makefile
進入源代碼目錄 cd $XERCESCROOT/
運行腳本生成makefile文件: autoconf
./reconf #注意這一步
./configure --prefix=/usr/local
4.編譯安裝到對應目錄下 make
make install #可能需要root權限
四、Axis2C 1.6 源碼安裝
1.上傳並解壓安裝包
下載安裝包http://axis.apache.org/axis2/c/core/download.cgi,並上傳到linux主機。
解壓包 tar -zxvf axis2c-src-1.6.0
2.設置環境變量 vi ~/.bashrc
,在文件最後添加如下一行export AXIS2_HOME=$HOME/axis2c-src-1.6.0
export AXIS2C_HOME=/usr/local/axis2c/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${AXIS2C_HOME}/lib/
export PATH=$PATH:${AXIS2C_HOME}/bin/tools/wsdl2c/
重新引用環境變量:
. .bashrc
3.利用configure生成Makefile
進入目錄 cd axis2c-src-1.6.0
運行腳本生成makefile文件: autoconf
./configure
4.編譯安裝到對應目錄下 make
make install #可能需要root權限
5.啓動驗證:
首先啓動httpd服務,運行命令apachectl start
進入/usr/local/axis2c/bin
目錄,啓動sudo
./axis2_http_server
在瀏覽器中輸入http://ip:9090/axis/services
,ip爲服務器的ip地址。如果訪問成功,則說明啓動成功,否則回頭檢查以上3個部件的安裝是否成功.
五、啓動配置說明
5.1 axis2c賬務接口啓停配置
- 添加環境變量
export AXIS2C_CONF=/usr/local/axis2c/service/BillingService/webservice.conf
AXIS2C_CONF
爲配置文件的全路徑文件名
重新引用環境變量:. .bashrc
-
添加你的應用的接口文件WebSimple
接口文件會以一個文件夾WebSimple的上傳,將其複製到/usr/local/axis2c/services/
目錄下,文件結構如下:
|--/usr/local/axis2c/services/
|------WebSimple/
|----------service.xml
|----------WebSimple.wsdl
|----------libWebSimple.so
|----------webservice.conf
其中WebSimple.wsdl是webservice的接口定義文件,service.xml爲對應的xml文件,libWebSimple.so爲動態庫,webservice.conf爲配置文件。
自此,安裝的步驟已經基本完成。但是程序的啓停還只能用root用戶進行。我們還需要將權限授予合適的用戶。 -
修改 apache httpd配置
apache主要目錄和文件說明
主配置文件位置/usr/local/apache2/conf/httpd.conf
或者/etc/httpd/conf/*
日誌文件/usr/local/apache2/logs
配置文件httpd.conf部分參數說明ServerRoot "/usr/local/apache2"
服務器文件位置Listen 80
或者Port 80
在standlone方式下監聽的端口號User daemon
進程運行的屬主Group daemon
進程運行的屬組ServerAdmin [email protected]
管理員信箱(可以修改爲自己的郵箱)ServerName www.example.com:8000
服務器指定名稱和端口號,名稱也可以是ip地址DocumentRoot "/usr/local/apache2/htdocs"
文檔服務的根目錄ScriptAlias /cgi-bin/ "/usr/local/apache2/cgi-bin/"
爲一個目錄建立別名
不同版本的apache,在目錄和參數名字上有微小的差異,根據名字一般都能猜出來。如有需要,請根據具體情況修改配置內容。 -
添加一個apache用戶,用來管理程序的啓停
adduser apache #(添加apache用戶,按提示進行,密碼設置爲apache)
將文件路徑/usr/local/axis2c和/usr/local/apache2
的屬主更改爲apachechown -R apache /usr/local/axis2c/
chown -R apache /usr/local/apache2/
這裏,我們使用的是apache用戶,你也可以不使用apache用戶,換成你想要的用戶即可。 -
啓動
進入/usr/local/axis2c/bin
目錄,啓動axis2服務程序./axis2_http_server
。如果準備使用後臺啓動的話,可以使用nohup ./axis2_http_server &
.
驗證:在瀏覽器中輸入http://ip:9090/axis/services/WebSimple?wsdl
,ip爲該服務器的ip地址。如果訪問成功,會返回一個xml文件。
提示:如果啓動axis2_http_server
程序失敗,可能是當前用戶沒有權限,需要切換到用權限的用戶來啓動,如:su - apache
。 -
停止
如果是直接啓動axis2_http_server
的話,按下ctrl+c即可終止程序。後臺啓動的話可以用kill來終止服務。
歡迎光臨我的網站----蝴蝶忽然的博客園----人既無名的專欄。
如果閱讀本文過程中有任何問題,請聯繫作者,轉載請註明出處!