Linux安裝Axis C構建WebService服務

在安裝Axis C++之前有兩個組件是必須安裝的,分別是Apache HTTP Server以及用於處理XML的程序Xerces;爲了編譯Axis以及Apache HTTPD,你的Linux機器還應該裝有gcc編譯器。

3個部件的都採用源碼安裝,它們都有類似的步驟:

  1. 上傳並解壓安裝包
  2. 設置環境變量
  3. 利用configure生成Makefile
  4. 編譯安裝到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用戶安裝,之後再將權限授予對應的用戶。本文也採用這種方式進行。

一、安裝前準備

  1. 確認登陸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的目錄,將它改名爲apache
mv 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目錄,然後將目錄apache2wrx權限授權給登錄用戶。
    當然我們使用第二種方式,使用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賬務接口啓停配置

  1. 添加環境變量
    export AXIS2C_CONF=/usr/local/axis2c/service/BillingService/webservice.conf
    AXIS2C_CONF爲配置文件的全路徑文件名
    重新引用環境變量: . .bashrc
  2. 添加你的應用的接口文件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用戶進行。我們還需要將權限授予合適的用戶。

  3. 修改 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,在目錄和參數名字上有微小的差異,根據名字一般都能猜出來。如有需要,請根據具體情況修改配置內容。

  4. 添加一個apache用戶,用來管理程序的啓停
    adduser apache #(添加apache用戶,按提示進行,密碼設置爲apache)
    將文件路徑/usr/local/axis2c和/usr/local/apache2的屬主更改爲apache
    chown -R apache /usr/local/axis2c/
    chown -R apache /usr/local/apache2/
    這裏,我們使用的是apache用戶,你也可以不使用apache用戶,換成你想要的用戶即可。

  5. 啓動
    進入/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

  6. 停止
    如果是直接啓動axis2_http_server的話,按下ctrl+c即可終止程序。後臺啓動的話可以用kill來終止服務。


歡迎光臨我的網站----蝴蝶忽然的博客園----人既無名的專欄
如果閱讀本文過程中有任何問題,請聯繫作者,轉載請註明出處!

發佈了35 篇原創文章 · 獲贊 47 · 訪問量 37萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章