GlassFish Quick Start Guide

来源:互联网 发布:360下载软件官方下载 编辑:程序博客网 时间:2024/05/17 14:25

GlassFish版本:3.1.2.2

Platform:Win7SP1 32bit

下载地址为:http://www.oracle.com/technetwork/middleware/glassfish/downloads/ogs-3-1-1-downloads-439803.html

总共有两个版本的安装包可供选择,我选择的是第二个(第一个是多国语版),安装时按提示一步一步来即可,GlassFish最终将装在类似D:\glassfish3\glassfish的路径下

GlassFish自带一个asadmin命令行工具asadmin.bat(D:\glassfish3\glassfish\bin路径下或D:\glassfish3\bin路径下),通过该工具可对GlassFish进行管理

一,介绍

以前比较常用的是Tomcat,比起Tomcat,GlassFish有3个独特的概念:

stackoverflow中的一个讨论,“Why use GlassFish instead of Apache?”http://stackoverflow.com/questions/173504/why-use-glassfish-instead-of-apache-whats-it-strengths-and-weaknesses/173510#173510,Tomcat只是servlet容器,GlassFish则是应用服务器,哪个更好还是要看具体需求

1,instance:每个instance都是节点上(GlassFish在该节点上运行)的一个Java平台虚拟机,节点定义instance所在的host(节点和host相关,体现的是主机间的关系

instance构成了应用部署的基础,是GlassFish分布式、负载均衡以及session保护特性的基本构件,每一个instance只能属于一个domain并且拥有自己的目录结构、配置、部署的应用

查看GlassFish的所有节点:

asadmin> list-nodeslocalhost-domain1  CONFIG  localhostCommand list-nodes executed successfully.

查看所有的instance:

asadmin> list-instancesNothing to list.Command list-instances executed successfully.

有3种类型的instance:

standalone instance:不会和其它的instance、集群共享配置

shared instance:会和其它的instance或集群共享配置

clustered instance:从集群中继承配置并和集群中的其它instance共享配置

创建instance的方式如下:

asadmin> create-instance --node localhost-domain1 instance1Command _create-instance-filesystem executed successfully.Port Assignments for server instance instance1:JMX_SYSTEM_CONNECTOR_PORT=28686JMS_PROVIDER_PORT=27676HTTP_LISTENER_PORT=28080ASADMIN_LISTENER_PORT=24848JAVA_DEBUGGER_PORT=29009IIOP_SSL_LISTENER_PORT=23820IIOP_LISTENER_PORT=23700OSGI_SHELL_TELNET_PORT=26666HTTP_SSL_LISTENER_PORT=28181IIOP_SSL_MUTUALAUTH_PORT=23920The instance, instance1, was created on host localhostCommand create-instance executed successfully.

2,domain:一个domain就是一个管理域,每一个domain下都包含一组统一进行管理的instance,每个domain都有自己单独的配置数据,日志文件以及应用部署位置,并为其中的应用预定义了运行环境,修改一个domain的配置不会影响其它domain的配置

通过domain的概念,不同的组织或管理员可以互不影响的使用同一个GlassFish

asadmin> create-domain --adminport 9898 domain2Enter admin user name [Enter to accept default "admin" / no password]>Using port 9898 for Admin.Default port 8080 for HTTP Instance is in use. Using 54909Default port 7676 for JMS is in use. Using 54910Default port 3700 for IIOP is in use. Using 54911Default port 8181 for HTTP_SSL is in use. Using 54912Using default port 3820 for IIOP_SSL.Using default port 3920 for IIOP_MUTUALAUTH.Default port 8686 for JMX_ADMIN is in use. Using 54913Using default port 6666 for OSGI_SHELL.Using default port 9009 for JAVA_DEBUGGER.The file in given locale [zh_CN] at: [D:\glassfish3\glassfish\lib\templates\locales\zh_CN\index.html] could not be found. Using default (en_US) index.html instead.Distinguished Name of the self-signed X.509 Server Certificate is:[CN=zou-PC,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US]Distinguished Name of the self-signed X.509 Server Certificate is:[CN=zou-PC-instance,OU=GlassFish,O=Oracle Corporation,L=Santa Clara,ST=California,C=US]No domain initializers found, bypassing customization stepDomain domain2 created.Domain domain2 admin port is 9898.Domain domain2 allows admin login as user "admin" with no password.Command create-domain executed successfully.

3,DAS(Domain Administration Server):DAS是一个特别指定用来管理管理员应用的instance,除了附加的管理功能,其它方面和普通instance是一样的(DAS是domain的一个instance,所以domain启动后才能访问DAS

每一个domain都有一个启动在唯一管理端口下的DAS,默认的管理端口是4848,该端口可在创建domain时指定

DAS拥有domain下所有instance的配置数据的拷贝,如果instance被破坏,instance可以通过DAS中的配置数据重建

DAS是domain下的默认instance,其名称为server,每一个DAS只能管理其所属的domain,如果有多个domain需要管理,需要启动多个DAS

二,启停

安装完成后可以通过2种方式启动服务(GlassFish在安装时会默认创建一个名称为domain1的domain,以下操作用来启动默认的domain1):

1,运行D:\glassfish3\glassfish\bin路径下的startserv.bat

2,启动命令行工具,输入start-domain

asadmin> start-domainWaiting for domain1 to start .........Successfully started the domain : domain1domain  Location: D:\glassfish3\glassfish\domains\domain1Log File: D:\glassfish3\glassfish\domains\domain1\logs\server.logAdmin Port: 4848Command start-domain executed successfully.

启动其它的domain则需要在命令后加上需要启动的domain名称:start-domain domain2

出现下图说明启动成功:

同样的,可以通过2种方式关闭服务(也是关闭默认的domain1):

1,运行D:\glassfish3\glassfish\bin路径下的stopserv.bat

2,启动命令行工具,输入stop-admin

asadmin> stop-domainWaiting for the domain to stop .Command stop-domain executed successfully.

三,部署  

从官网下载hello.war包http://glassfish.java.net/downloads/quickstart/hello.war

1,通过命令行部署

将hello.war放到asadmin工具所在目录下

asadmin> list-applicationsNothing to list.Command list-applications executed successfully.asadmin> deploy hello.warApplication deployed with name hello.Command deploy executed successfully.

访问http://127.0.0.1:8080/hello/即可看到如下效果

卸载应用使用如下命令:

asadmin> undeploy helloCommand undeploy executed successfully.

2,通过DCS部署

也可以在DCS中选择Applications,在其中进行部署,比较简单,这里就不介绍了

3,将hello.war放到D:\glassfish3\glassfish\domains\domain1\autodeploy目录下,当目录中出现一个名称为hello.war_deployed的空文件时,说明hello.war自动部署成功

卸载应用只需将hello.war移出D:\glassfish3\glassfish\domains\domain1\autodeploy目录,当D:\glassfish3\glassfish\domains\domain1\autodeploy目录下会出现名称为hello.war_undeployed的空文件时说明应用卸载成功



0 0