为文件增加用户执行权限:

官网下载tuxedo111120_64_Linux_01_x86.bin

su //进入root操作,防止权限不够

创建文件夹,用来做tuxedo文件的安装路径

cd /opt

mkdir tuxedo

然后将下载的文件拷贝到这个文件夹中,如果新建了用户的话则需要赋予新建用户对这个文件夹的所有权限,例如新建oracle用户之后授权:

cp /home/jacksile/下载/tuxedo111120_64_Linux_01_x86.bin /opt/tuxedo

ls -l //查看用户执行权限

如果没有则进行授权
chmod 755 tuxedo111120_32_Linux_01_x86.bin

在root用户下可以./tuxedo111130_64_Linux_01_x86.bin直接图形化安装,也可以使用字符界面模式进行安装
./tuxedo111130_64_Linux_01_x86.bin -i console 
执行安装文件,-i console 使其在字符界面安装

$ ./tuxedo111120_64_Linux_01_x86.bin -i console
Preparing to install...
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
strings: '/lib/libc.so.6': No such file

Launching installer...

Preparing CONSOLE Mode Installation...

===============================================================================
Choose Locale...
----------------

    1- English

CHOOSE LOCALE BY NUMBER: 1
===============================================================================
Tuxedo 11.1.1.2.0                 (created with InstallAnywhere by Macrovision)
-------------------------------------------------------------------------------

===============================================================================
Introduction
------------

InstallAnywhere will guide you through the Tuxedo 11.1.1.2.0 installation.

It is strongly recommended that you quit all programs before continuing with
this installation.

Enter "next' to proceed to the next screen. Enter "back" to modify the previous
screen.

You may cancel this installation at any time by typing "quit".

WARNING: "Quitting" creates an incomplete  Tuxedo 11.1.1.2.0 installation.You
must re-install  Tuxedo 11.1.1.2.0. For more information, see "Preparing to
Install the Oracle Tuxedo System" in the  Tuxedo 11.1.1.2.0 Installation Guide.

PRESS <ENTER> TO CONTINUE: 

===============================================================================
Choose Install Set
------------------

Please choose the Install Set to be installed by this installer.

  ->1- Full Install
    2- Server Install
    3- Full Client Install
    4- Jolt Client Install
    5- ATMI Client Install
    6- CORBA Client Install

    7- Customize...

ENTER THE NUMBER FOR THE INSTALL SET, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
   : 

===============================================================================
Choose Oracle Home
------------------

    1- Create new Oracle Home

Enter a number: 
Specify a new Oracle Home directory: /opt/tuxedo

===============================================================================
Choose Product Directory
------------------------

    1- Modify Current Selection (/opt/tuxedo/tuxedo11gR1)
    2- Use Current Selection (/opt/tuxedo/tuxedo11gR1)

Enter a number: 2
Install Samples (Y/N): Y

===============================================================================
Pre-Installation Summary
------------------------

Please Review the Following Before Continuing:

Product Name:
    Tuxedo 11.1.1.2.0

Install Folder:
    /opt/tuxedo/tuxedo11gR1

Link Folder:
    /home/oracle

Disk Space Information (for Installation Target):
    Required:  195,296,018 bytes
    Available: 205,917,069,312 bytes

PRESS <ENTER> TO CONTINUE: 

===============================================================================
Ready To Install
----------------

InstallAnywhere is now ready to install Tuxedo 11.1.1.2.0 onto your system at
the following location:

   /opt/tuxedo/tuxedo11gR1

PRESS <ENTER> TO INSTALL: 

===============================================================================
Installing...
-------------

 [==================|==================|==================|==================]
 [------------------|------------------|------------------|------------------]

===============================================================================
Configure tlisten Service
-------------------------

Password:
Verify Password:
Password Accepted! Please wait...

===============================================================================
SSL Installation Choice.
------------------------

Would you like to install SSL Support?

  ->1- Yes
    2- No

ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:
   : 

===============================================================================
Installation Complete
---------------------

Congratulations. Tuxedo 11.1.1.2.0 has been successfully installed to:

   /opt/tuxedo/tuxedo11gR1

PRESS <ENTER> TO EXIT THE INSTALLER: 

安装完成确认:

进入安装目录,为tux.env文件添加执行权限
chmod 755 tux.env
. ./tux.env
env | grep UX
显示如下:
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/ 目录下面。

退到安装根目录,tuxedo11gR1,同上理,把tuxedo安装目录下的tux.env配置文件拷贝到/opt/tuxedo/simpapp/ 目录下
cp -r 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 文件中的配置保持一致。
修改完成,保存退出

开始跑:

. ./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
// 能找到上面几个进程表面已经启动成功

开始验证:

root@node1:/opt/tuxedo/simpapp#./simpcl hello
Returned string is: HELLO
客户端发送一个小写的hello ,服务器端将返回一个大写的HELLO
tmshutdown -y //停止进程

如果两个进程分别在不同的机子上想实现通讯,就要走TCP/IP协议

通过TCP/IP协议,如果有本地连接,则使用etho,否则使用wlan0进行通讯,我用的是无线,所以使用的是wlan0进行通信

以下两个是用来配置服务端的,客户端不用配置,只要客户端在调用服务的时候使用这个IP地址和端口即可

修改tux.env文件,在后面继续添加:
WSNADDR=//192.168.30.177:3200; export WSNADDR

其中192.168.30.177是wlan0 IP地址,通过ipconfig可以查看,3200为端口号,在不冲突的情况下可以任意

修改ubbsimple文件
tfjus LMID=simple
MAXWSCLIENTS=5

simpserv SRVGRP=GROUP1 SRVID=1
WSL SRVGRP=GROUP1 SRVID=10
CLOPT="-A -- -n //192.168.30.177:3200"

remotesimpcl.x

/*    (c) 2003 BEA Systems, Inc. All Rights Reserved. */
/*    Copyright (c) 1997 BEA Systems, Inc.
      All rights reserved

      THIS IS UNPUBLISHED PROPRIETARY
      SOURCE CODE OF BEA Systems, Inc.
      The copyright notice above does not
      evidence any actual or intended
      publication of such source code.
*/

/* #ident    "@(#) samples/atmi/simpapp/simpcl.c    $Revision: 1.5 $" */

#include <stdio.h>
#include "atmi.h"        /* TUXEDO  Header File */

#if defined(__STDC__) || defined(__cplusplus)
main(int argc, char *argv[])
#else
main(argc, argv)
int argc;
char *argv[];
#endif

{

    char *sendbuf, *rcvbuf;
    long sendlen, rcvlen;
    int ret;

    ) {
        (void) fprintf(stderr, "Usage: simpcl string\n");
        exit();
    }

    tuxputenv("WSNADDR=//192.168.30.177:3200");
    /* Attach to System/T as a Client Process */
    ) {
        (void) fprintf(stderr, "Tpinit failed\n");
        exit();
    }

    sendlen = strlen(argv[]);

    /* Allocate STRING buffers for the request and the reply */

    )) == NULL) {
        (void) fprintf(stderr,"Error allocating send buffer\n");
        tpterm();
        exit();
    }

    )) == NULL) {
        (void) fprintf(stderr,"Error allocating receive buffer\n");
        tpfree(sendbuf);
        tpterm();
        exit();
    }

    (]);

    /* Request the service TOUPPER, waiting for a reply */
    ret = tpcall(, ();

    ) {
        (void) fprintf(stderr, "Can't send request to service TOUPPER\n");
        (void) fprintf(stderr, "Tperrno = %d\n", tperrno);
        tpfree(sendbuf);
        tpfree(rcvbuf);
        tpterm();
        exit();
    }

    (void) fprintf(stdout, "Returned string is: %s\n", rcvbuf);

    /* Free Buffers & Detach from System/T */
    tpfree(sendbuf);
    tpfree(rcvbuf);
    tpterm();
    );
}

. ./tux.env

tmloadcf -y ubbsimple // 编译文件
buildclient -f simpcl.c -o ws -w
ubuntu:
buildclient -o remotesimpcl -f "-Xlinker --no-as-needed remotesimpcl.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.
//
./remotesimpcl hello

Returned string is: HELLO

tuxedo入门的更多相关文章

  1. Tuxedo入门学习

    中间件介绍: 介于客户机和server之间的夹层,突破了传统的c/s架构,为构建大规模,高性能,分布式c/s应用程序提供了通信,事物,安全,容错等基础服务,屏蔽了底层应用细节,应用程序不必从底层开发, ...

  2. Tuxedo入门学�

    中间件介绍: 介于客户机和server之间的夹层,突破了传统的c/s架构,为构建大规模,高性能,分布式c/s应用程序提供了通信,事物,安全,容错等基础服务,屏蔽了底层应用细节,应用程序不必从底层开发, ...

  3. Tuxedo 汇总

    ===================================C/S / Tuxedo 架构/ B/S 架构演进===================================Tuxed ...

  4. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  5. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  6. Oracle分析函数入门

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

  7. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

  8. Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数

    上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...

  9. Angular2入门系列教程4-服务

    上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...

随机推荐

  1. 【C#公共帮助类】 Log4net 帮助类

    首先,我们要在Common类库中引用log4net.dll ExtLogImpl.cs using System; using System.Collections.Generic; using Sy ...

  2. UML类图

    类 类图分三层,第一层显示类的名称,如果是抽象类,那就用斜体显示.第二层是类的特性,通常就是字段和属性.第三类是类的操作,通常是方法或行为.注意前面的符号,‘ +’表示public ,‘-’表示 pr ...

  3. C++ 输出调试的一些技巧

    主要利用了宏和stderr... #define enable_debug #ifdef enable_debug FILL some macros/functions here #else /// ...

  4. MySQL按照汉字的拼音排序,mysql汉字排序

    按照汉字的拼音排序,用的比较多是在人名的排序中,按照姓氏的拼音字母,从A到Z排序: 如果存储姓名的字段采用的是GBK字符集,那就好办了,因为GBK内码编码时本身就采用了拼音排序的方法(常用一级汉字37 ...

  5. 保存vim的ide环境

    开发周期不是一两天, 要把当前的窗口布局, 命令历史/寄存器历史等保存下来,以便下次编写时快速恢复. 需要保存两个方面的信息: session: 保存窗口的view试图窗口布局, 和全局设置   :m ...

  6. 【UVA 10369】 Arctic Network (最小生成树)

    [题意] 南极有n个科研站, 要把这些站用卫星或者无线电连接起来,使得任意两个都能直接或者间接相连.任意两个都有安装卫星设备的,都可以直接通过卫星通信,不管它们距离有多远. 而安装有无线电设备的两个站 ...

  7. 面试题-Java Web-JSP部分

    1.什么是JSP页面? JSP页面是一种包含了静态数据和JSP元素两种类型的文本的文本文档.静态数据可以用任何基于文本的格式来表示,比如:HTML或者XML.JSP是一种混合了静态内容和动态产生的内容 ...

  8. Linux磁盘分区(一):添加

    ***********************************************声明************************************************ 原创 ...

  9. 【C#复习总结】匿名类型由来

    1 属性 这得先从属性开始说,为什么外部代码访问对象内部的数据用属性而不是直接访问呢,这样岂不是更方便一些,但是事实证明直接访问是不安全的.那么,Anders Hejlsberg(安德斯·海尔斯伯格) ...

  10. 深入理解Java虚拟机(类文件结构+类加载机制+字节码执行引擎)

    目录 1.类文件结构 1.1 Class类文件结构 1.2 魔数与Class文件的版本 1.3 常量池 1.4 访问标志 1.5 类索引.父索引与接口索引集合 1.6 字段表集合 1.7 方法集合 1 ...