为文件增加用户执行权限:
官网下载tuxedo111120_64_Linux_01_x86.bin
su //进入root操作,防止权限不够
创建文件夹,用来做tuxedo文件的安装路径
mkdir /opt/tuxedo/
ls -l //查看用户执行权限
会发现创建的用户对这个文件没有执行权限,然后授权
chmod 755 tuxedo111120_32_Linux_01_x86.bin
可以./tuxedo111130_64_Linux_01_x86.bin直接图形化安装,下面使用命令模式进行安装
./tuxedo111130_64_Linux_01_x86.bin -i console
执行安装文件,-i console 使其在字符界面安装
安装完成确认:
进入安装目录,为tux.env文件添加执行权限
chmod 755 tux.env
. ./tux.env
env | grep UX
显示如下:
SELINUX_INIT=YES
TUXDIR=/opt/tuxedo/tuxedo11gR1
查看版本信息
tmadmin -v
INFO: Oracle Tuxedo, Version 11.1.1.2.0, 64-bit, Patch Level (none)
跑例子:
进入tuxedo的安装目录,samples目录下自带了一些例子
cd /opt/tuxedo/tuxedo11gR1/samples/atmi
凡是了解tuxedo 的同学都知道这里面有个著名的例子 simpapp ,它的作用就是把客户端发送的小写字母转换成大写字母返回给客户端。我们就把这个例子运行起来。
前期准备:
cp -r simpapp/ /opt/tuxedo/ 为了便于操作,防止数据修改或丢失,把simpapp 拷贝到/opt/tuxedo/ 目录下面。
cp -r tux.env /opt/tuxedo/simpapp/ 同上理,把tuxedo安装目录下的tux.env配置文件拷贝到/opt/tuxedo/simpapp/ 目录下
配置运行simpapp 例子
配置tux.env文件
vi tux.env 对配置文件进行修改,在最后面添加
APPDIR=/opt/tuxedo/simpapp; export APPDIR
TUXCONFIG=$APPDIR/tuxconfig; export TUXCONFIG
LANG=C; export LANG
命令 hostname //查看本机hostname
vi ubbsimple ,配置ubbsimple文件,这是我照着我的例子所修改的文件全部内容
# (c) 2003 BEA Systems, Inc. All Rights Reserved.
#ident "@(#) samples/atmi/simpapp/ubbsimple $Revision: 1.7 $"
#Skeleton UBBCONFIG file for the TUXEDO Simple Application.
#Replace the <bracketed> items with the appropriate values.
*RESOURCES
#IPCKEY <Replace with a valid IPC Key>
#Example:
IPCKEY 123456
DOMAINID simpapp
MASTER simple
MAXACCESSERS 10
MAXSERVERS 5
MAXSERVICES 10
MODEL SHM
LDBAL N
*MACHINES
DEFAULT:
APPDIR="/opt/tuxedo/simpapp"
TUXCONFIG="/opt/tuxedo/simpapp/tuxconfig"
TUXDIR="/opt/tuxedo/tuxedo11gR1"
#Example:
# APPDIR="/home/me/simpapp"
# TUXCONFIG="/home/me/simpapp/tuxconfig"
# TUXDIR="/usr/tuxedo"
tfjus LMID=simple //tfjus为本机hostname名,此句只是说明,最好将注释删掉,因为这个文件无法识别//表示注释符
#Example:
#beatux LMID=simple
*GROUPS
GROUP1
LMID=simple GRPNO=1 OPENINFO=NONE
*SERVERS
DEFAULT:
CLOPT="-A"
simpserv SRVGRP=GROUP1 SRVID=1
*SERVICES
TOUPPER
不能含有中文注释
注意:APPDIR、TUXCONFIG和TUXDIR三个选项的路径要与 tux.env 文件中的配置保持一致。
修改完成,保存退出
网上说的需要配置用户根目录下的.profile,.bashrc我配置了,没报错,删掉了配置,也没报错,原理性的东西有待加强,科学道路还很远,出错了就配置试试吧
.profile
TUXDIR=/opt/tuxedo/tuxedo11gR1
PATH=$PATH:$TUXDIR/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TUXDIR/lib
TUXCONFIG=/opt/tuxedo/simpapp/tuxconfig
export TUXDIR
export PATH
export LD_LIBRARY_PATH
export TUXCONFIG
.bashrc
export LANG=C
使得配置生效
source .profile
source .bashrc
开始跑:
. ./tux.env
tmloadcf -y ubbsimple //运行此命令不出出任何提示,表示一切正常
//如果出现CMDTUX_CAT:883: ERROR: tmloadcf cannot run on an active node
//将进程关掉就行了,在后面有说怎样关闭
buildserver -f simpserv.c -o simpserv -s TOUPPER //编译服务器端程序
buildclient -f simpcl.c -o simpcl //编译客户端程序
ubuntu:
buildclient -o simpcl -f "-Xlinker --no-as-needed simpcl.c"
这里需要说明的是,buildserver和buildclient命令需要系统安装gcc 才能被执行,gcc -v 查看本机是否安装GCC ,这里就不介绍gcc的安装了。
tmboot -y 启动进程
//
INFO: Oracle Tuxedo, Version 11.1.1.2.0, 64-bit, Patch Level (none)
Booting admin processes ...
exec BBL -A :
process id=2658 ... Started.
Booting server processes ...
exec simpserv -A :
process id=2659 ... Started.
2 processes started.
//
ps -ef 查看启动进程
root 2658 1653 0 16:50 pts/19 00:00:00 BBL -C dom=simpapp -g 30002 -i 0
root 2659 1653 0 16:50 pts/19 00:00:00 simpserv -C dom=simpapp -g 1 -i
root 2936 2614 0 16:54 pts/19 00:00:00 ps -ef
// 能找到上面几个进程表面已经启动成功
开始验证:
[email protected]:/opt/tuxedo/simpapp#./simpcl hello
Returned string is: HELLO
客户端发送一个小写的hello ,服务器端将返回一个大写的HELLO
tmshutdown -y //停止进程
通过TCP/IP协议,使用wlan0物理网卡进行通讯
修改tux.env文件,在后面继续添加:
WSNADDR=//192.168.30.177:3200; export WSNADDR
修改ubbsimple文件
tfjus LMID=simple
MAXWSCLIENTS=5
simpserv SRVGRP=GROUP1 SRVID=1
WSL SRVGRP=GROUP1 SRVID=10
CLOPT="-A -- -n //192.168.30.177:3200"
tmloadcf -y ubbsimple // 编译文件
buildclient -f simpcl.c -o ws -w
ubuntu:
buildclient -o ws -f "-Xlinker --no-as-needed simpcl.c" -w
tmboot -y //启动进程
//
Booting all admin and server processes in /opt/tuxedo/simpapp/tuxconfig
INFO: Oracle Tuxedo, Version 11.1.1.2.0, 64-bit, Patch Level (none)
Booting admin processes ...
exec BBL -A :
process id=3301 ... Started.
Booting server processes ...
exec simpserv -A :
process id=3302 ... Started.
exec WSL -A -- -n //192.168.30.177:3200 :
process id=3303 ... Started.
3 processes started.
//
./ws hello
Returned string is: HELLO