Linux安装Axis C构建WebService服务
在安装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的目录,将它改名为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目录,然后将目录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.confAXIS2C_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 you@example.com管理员信箱(可以修改为自己的邮箱)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来终止服务。
欢迎光临我的网站----蝴蝶忽然的博客园----人既无名的专栏。
如果阅读本文过程中有任何问题,请联系作者,转载请注明出处!
Linux安装Axis C构建WebService服务的更多相关文章
- SpringBoot | 第三十四章:CXF构建WebService服务
前言 上一章节,讲解了如何使用Spring-WS构建WebService服务.其实,创建WebService的方式有很多的,今天来看看如何使用apache cxf来构建及调用WebService服务. ...
- Eclipse+Maven+Spring+CXF 构建webservice 服务
一. 软件准备 Eclipse 4.2.1 Maven 2.2.1 Spring 3.2.6 CXF 3.0.2 二. 步骤 首先,在Eclipse中用maven构建一个quickstart版本的ma ...
- postgresql9.5 run 文件linux安装后配置成开机服务
网上出现的比较多安装方法要么是源码安装,要么是yum安装,我发觉都要配置很多属性,比较麻烦,所以现在我在centos7长用 run文件来安装 http://get.enterprisedb.com/p ...
- 使用ownCloud在Linux安装你的个人云服务
ownCloud是一个免费开源的软件,用于为分享文件,日历,联系人,书签和个人音频/视频.非常容易安装和管理. 前提 在这篇教程里我使用CentOS 6.5 minimal server来安装ownC ...
- 使用ServiceStack构建Web服务
提到构建WebService服务,大家肯定第一个想到的是使用WCF,因为简单快捷嘛.首先要说明的是,本人对WCF不太了解,但是想快速建立一个WebService,于是看到了MSDN上的这一篇文章 Bu ...
- (转)使用ServiceStack构建Web服务
提到构建WebService服务,大家肯定第一个想到的是使用WCF,因为简单快捷嘛.首先要说明的是,本人对WCF不太了解,但是想快速建立一个WebService,于是看到了MSDN上的这一篇文章 Bu ...
- Debian 7(Linux) 安装SSH使用SecureCRT连接配置
1 Debian 安装 ssh2 首先确保你的Debian或者linux安装ssh并开启ssh服务 Debian和ubuntu的安装方法一样,只要源OK的话,可以直接安装 apt-get instal ...
- 浅析基于AXIS框架的WebService
一.写在前面 之前做项目用到了基于Axis的WebService,为了更进一步的理解和记忆,在这里通过代码实践和源码分析来完整的做一遍Axis的WebService以及对应的客户端调用实践,并和其它的 ...
- window、linux安装jdk,excel 导入oracle,WebService,window 端口查看,svn服务安装,oracle用户解锁
内存泄露分析插件http://download.eclipse.org/mat/1.3/update-site/birt插件http://download.eclipse.org//birt/upda ...
随机推荐
- js--如何判别 null undefined
收集资料如下判断: 1.判断undefined: ? 1 2 3 4 var tmp = undefined; if (typeof(tmp) == "undefined"){ a ...
- Chrome 开发者工具(DevTools)中所有快捷方式列表(已整理)
Chrome 开发者工具(DevTools)中所有快捷方式列表(已整理) 前言 Chrome DevTools提供了一些内置的快捷键,开发者利用这些快捷键可以节省常工作中很多日的开发时间.下面列出了每 ...
- 【LeetCode】Grid Illumination(网格照明)
这道题是LeetCode里的第1001道题. 题目要求: 在 N x N 的网格上,每个单元格 (x, y) 上都有一盏灯,其中 0 <= x < N 且 0 <= y < N ...
- gitlab简介配置和参数修改
一.Gitlab基本简介 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,可通过Web界面进行访问公开的或者私人项目,非常适合在团队内部使用. 在gitlab中有三个版本, ...
- Hibernate get 和 load区别
Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象.下边详细说一下get和load的不同,因为有些时候为了对比也会把find加进来. 1.从返回 ...
- 常州模拟赛d5t1 journalist
分析:出题人丧心病狂卡spfa......只能用dijkstar+堆优化. 主要的难点是字典序的处理上,一个想法是在做最短路的时候处理,边松弛边记录,比个大小记录最佳答案.具体的思路大概和最短路计数差 ...
- Nearest Common Ancestors(poj 1330)
题意:给定一棵树,询问两个节点的最近公共祖先. 输入:第一行T,表示测试组数. 每组测试数据包含一个n,表示节点数目,下面n-1行是连接的边,最后一行是询问 输出:共T行,代表每组的测试结果 /* 倍 ...
- Peaks BZOJ 3545 / Peaks加强版 BZOJ 3551
Peaks [问题描述] 在Bytemountains有N座山峰,每座山峰有他的高度h_i.有些山峰之间有双向道路相连,共M条路径,每条路径有一个困难值,这个值越大表示越难走,现在有Q组询问,每组询问 ...
- 建立django博客应用及数据库模型
1.现在就来创建我们的 Django 博客应用,我把它命名为 blog.激活虚拟环境,进入到 manage.py 文件所在的目录下,运行 python manage.py startapp blog ...
- python--输出自己需要的字符串连接的的方式
python中有很多字符串连接方式,今天在写代码,顺便总结一下,从最原始的字符串连接方式到字符串列表连接,大家感受下: 最原始的字符串连接方式:str1 + str2 python 新字符串连接语法: ...