閱讀369 返回首頁    go 阿裏雲 go 技術社區[雲棲]


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.上傳並解壓安裝包
https://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.上傳並解壓安裝包
https://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.上傳並解壓安裝包
下載安裝包https://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
在瀏覽器中輸入https://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 you@example.com 管理員信箱(可以修改為自己的郵箱)
    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 &.
    驗證:在瀏覽器中輸入https://ip:9090/axis/services/WebSimple?wsdl,ip為該服務器的ip地址。如果訪問成功,會返回一個xml文件。
    提示:如果啟動axis2_http_server程序失敗,可能是當前用戶沒有權限,需要切換到用權限的用戶來啟動,如:su - apache

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


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

最後更新:2017-04-03 05:39:04

  上一篇:go 隱藏控製台窗口
  下一篇:go 百度map 3.0初探