天天看點

Linux安裝Axis C建構WebService服務

在安裝axis c++之前有兩個元件是必須安裝的,分别是apache http server以及用于處理xml的程式xerces;為了編譯axis以及apache httpd,你的linux機器還應該裝有gcc編譯器。

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

上傳并解壓安裝包 設定環境變量 利用configure生成makefile 編譯安裝到<code>usr/local/</code>對應目錄下

本文部署路徑為apache安裝在<code>/usr/local/apache2</code>,axis2c

1.6 安裝到<code>/usr/local/axis2c</code>,xerces

3.0.1安裝到<code>/usr/local/</code>,xerces 3.0.1以頭檔案和庫檔案分别分别在<code>/usr/local/include</code>

和<code>/usr/local/lib</code>中。

提示:安裝過程中如果出錯,要注意檢查環境變量設定是否正确以及是否生效。如果運作./configure出錯,請檢查安裝的工具鍊如gcc,libtool等是否符合版本要求。如何make install出錯,請确定目前使用者是否有相應的安裝權限。

推薦安裝方式:統一使用root使用者安裝,之後再将權限授予對應的使用者。本文也采用這種方式進行。

确認登陸root使用者

<code>su - root</code>

1.上傳并解壓安裝包

解壓源碼包

<code>tar -zxvf httpd-2.2.27.tar.gz</code>

這時會出現一個<code>httpd-2.2.27</code>的目錄,将它改名為apache

<code>mv httpd-2.2.27 apache</code>

2.設定環境變量

3.利用configure生成makefile

進入<code>apache</code>目錄下

<code>cd apache</code>

設定安裝參數

<code>./configure --prefix=/usr/local/apache2 --enable-module=so</code>

第一個參數<code>prefix</code>為安裝的路徑,第二個參數<code>enable-module=so</code>表示允許動态加載子產品。

<code>prefix</code>參數指明将<code>apache</code>安裝到<code>/usr/local/apache2</code>目錄,如果登入使用者不是<code>root</code>,可能沒有權限在<code>/usr/local</code>下建立目錄的權限,這樣在<code>make install</code>時會報錯誤。解決的辦法有兩個

修改<code>prefix</code>參數,使之指向一個登入使用者有建立目錄權限的路徑

用<code>root</code>使用者在<code>/usr/local</code>目錄下建立<code>apache2</code>目錄,然後将目錄<code>apache2</code>的<code>wrx</code>權限授權給登入使用者。

當然我們使用第二種方式,使用root使用者安裝。

4.編譯安裝到對應目錄下

<code>make</code>

<code>make install</code>

總之,安裝順序執行的指令序列如下,如果都沒有出錯,表示安裝成功:

<code>tar -zxvf httpd-2.2.6.tar.gz</code>

<code>mv httpd-2.2.6 apache</code>

<code>make install #可能需要root權限</code>

接下來xerces 3.0.1和axis2c 1.6 的安裝都是類似的步驟.

解壓包

<code>tar -zxvf xerces-c-3.0.0.tar.gz</code>

添加環境變量,vi .bashrc,在檔案最後添加如下一行

<code>export xercescroot=$home/xerces-c-3.0.1</code>

<code>export libpath=$home/xerces-c-3.0.1:$libpath</code>

重新引用環境變量: <code>. .bashrc</code>

注意<code>$home/xerces-c-3.0.1</code>是我們解壓檔案的路徑。

進入源代碼目錄

<code>cd $xercescroot/</code>

運作腳本生成makefile檔案:

<code>autoconf</code>

<code>./reconf #注意這一步</code>

<code>./configure --prefix=/usr/local</code>

<code>tar -zxvf axis2c-src-1.6.0</code>

<code>vi ~/.bashrc</code>,在檔案最後添加如下一行

<code>export axis2_home=$home/axis2c-src-1.6.0</code>

<code>export axis2c_home=/usr/local/axis2c/</code>

<code>export ld_library_path=$ld_library_path:${axis2c_home}/lib/</code>

<code>export path=$path:${axis2c_home}/bin/tools/wsdl2c/</code>

進入目錄

<code>cd axis2c-src-1.6.0</code>

<code>./configure</code>

5.啟動驗證:

首先啟動httpd服務,運作指令<code>apachectl start</code>

進入<code>/usr/local/axis2c/bin</code>目錄,啟動<code>sudo ./axis2_http_server</code>

在浏覽器中輸入<code>http://ip:9090/axis/services</code>,ip為伺服器的ip位址。如果通路成功,則說明啟動成功,否則回頭檢查以上3個部件的安裝是否成功.

添加環境變量

<code>export axis2c_conf=/usr/local/axis2c/service/billingservice/webservice.conf</code>

<code>axis2c_conf</code>為配置檔案的全路徑檔案名

添加你的應用的接口檔案websimple

接口檔案會以一個檔案夾websimple的上傳,将其複制到<code>/usr/local/axis2c/services/</code>目錄下,檔案結構如下:

|--/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主要目錄和檔案說明

主配置檔案位置<code>/usr/local/apache2/conf/httpd.conf</code>或者<code>/etc/httpd/conf/*</code>

日志檔案<code>/usr/local/apache2/logs</code>

配置檔案httpd.conf部分參數說明

<code>serverroot "/usr/local/apache2"</code>

伺服器檔案位置

<code>listen 80</code> 或者<code>port 80</code> 在standlone方式下監聽的端口号

<code>user daemon</code> 程序運作的屬主

<code>group daemon</code> 程序運作的屬組

<code>serveradmin [email protected]</code> 管理者信箱(可以修改為自己的郵箱)

<code>servername www.example.com:8000</code>

伺服器指定名稱和端口号,名稱也可以是ip位址

<code>documentroot "/usr/local/apache2/htdocs"</code>

文檔服務的根目錄

<code>scriptalias /cgi-bin/ "/usr/local/apache2/cgi-bin/"</code>

為一個目錄建立别名

不同版本的apache,在目錄和參數名字上有微小的差異,根據名字一般都能猜出來。如有需要,請根據具體情況修改配置内容。

添加一個apache使用者,用來管理程式的啟停

<code>adduser apache #(添加apache使用者,按提示進行,密碼設定為apache)</code>

将檔案路徑<code>/usr/local/axis2c和/usr/local/apache2</code>的屬主更改為apache

<code>chown -r apache /usr/local/axis2c/</code>

<code>chown -r apache /usr/local/apache2/</code>

這裡,我們使用的是apache使用者,你也可以不使用apache使用者,換成你想要的使用者即可。

啟動

進入<code>/usr/local/axis2c/bin</code>目錄,啟動axis2服務程式<code>./axis2_http_server</code>。如果準備使用背景啟動的話,可以使用<code>nohup ./axis2_http_server &amp;</code>.

驗證:在浏覽器中輸入<code>http://ip:9090/axis/services/websimple?wsdl</code>,ip為該伺服器的ip位址。如果通路成功,會傳回一個xml檔案。

提示:如果啟動<code>axis2_http_server</code>程式失敗,可能是目前使用者沒有權限,需要切換到用權限的使用者來啟動,如:<code>su - apache</code>。

停止

如果是直接啟動<code>axis2_http_server</code>的話,按下ctrl+c即可終止程式。背景啟動的話可以用kill來終止服務。