简介
glassfish最重要的一个概念就是domain了,不必纠结domain应该怎么翻译,只需要知道domain表达的是一个什么概念就可以了。
domain:domain是一组glassfish服务器实例 glassfish服务器实例:运行glassfish server的jvm实例 DAS(Domain Administration Server):DAS是一个部署domain管理应用的特殊glassfish服务器实例。
注意:后面说的管理端口(默认4848)就是指DAS部署的应用端口。
说一下后面的约定目录:
as-install目录:
as-install-parent目录:
domain-root-dir目录:
domain-dir目录:
instance-dir目录:
常用的domain命令
create-domain
asadmin> create-domain --adminport 4848 --instanceport 8080 mydomain
上面的命令就是指定管理端口为4848,实例端口是8080,上面的命令等价于:
asadmin> create-domain mydomain
很多时候会在一个服务器上启动多个domain为了避免端口冲突我们需要修改很多端口,create-domain提供了一个portbase,我们可以执行像下面的命令:
asadmin> create-domain --portbase 49 mydomain
那么各个端口如下:
Administration port: portbase + 48
HTTP listener port: portbase + 80
HTTPS listener port: portbase + 81
JMS port: portbase + 76
IIOP listener port: portbase + 37
Secure IIOP listener port: portbase + 38
Secure IIOP with mutual authentication port: portbase + 39
JMX port: portbase + 86
JPDA debugger port: portbase + 9
Felix shell service port for OSGi module management: portbase + 66
其实我们一般只修改3个端口就可以了,一个是http的端口8080,一个是https的端口8181,一个是管理端口4848。可以在domain-root-dir/domain-dir/config/domain.xml配置文件中修改。
<network-listeners>
<network-listener port="8080" protocol="http-listener-1" transport="tcp" name="http-listener-1" thread-pool="http-thread-pool"></network-listener>
<network-listener port="8181" protocol="http-listener-2" transport="tcp" name="http-listener-2" thread-pool="http-thread-pool"></network-listener>
<network-listener port="4848" protocol="admin-listener" transport="tcp" name="admin-listener" thread-pool="admin-thread-pool"></network-listener>
</network-listeners>
start-domain
asadmin> start-domain
asadmin> start-domain mydomain
stop-domain
asadmin> stop-domain
asadmin> stop-domain mydomain
restart-domain
asadmin> restart-domain
asadmin> restart-domain mydomain
上面的3个命令非常相似,默认启动,关闭,重启的都是domain1,如果指定了domain-name就是启动,关闭,重启domain-name。
delete-domain
asadmin> delete-domain domain1
asadmin> delete-domain --domaindir ..\domains domain1
上面的命令是删除domain,删除domain之前必须保证domain已经停止了。默认删除的目录是 as-install/domains目录被删除。一般如果创建domain的时候没有指定--domain-dir,删除的时候也就不需要指定。
login
asadmin> login --host localhost --port 8282
可以通过login命令来登陆到指定的domain,--host参数指定的是domain的ip,--port指定的是domain的管理端口(DAS端口)。
backup-domain
备份指定的domain,执行的的操作是创建一个zip压缩文件,放到指定的目录下,默认放到的是domain-root-dir/domain-dir/backups目录下。
asadmin> backup-domain domain1
asadmin> backup-domain --backupdir /var/backup/glassfish domain1
上面的2个命令一个是存放到默认目录下,第2个是指定了备份文件的存放目录。
list-backups
查看备份文件
asadmin> list-backups domain1
asadmin> list-backups --backupdir /var/backup/glassfish domain1
restore-domain
从备份中恢复
asadmin> restore-domain domain1
asadmin> restore-domain --backupdir /var/backup/glassfish domain1
uptime
查看domain启动的时间,默认使用管理端口是4848 可以指定domain的管理端口来看相应的domain的启动时间。
asadmin> uptime --port 4949
list-domains
asadmin> list-domains
list-domains可以查看有那些domain,那些是启动的,那些是关闭的。
deploy undeploy
asadmin> deploy f:/cc.war
deploy命令的最简单形式应该就是上面这种了,上面是把指定文件cc.war部署到管理端口是4848的domain上。
注意:默认是部署在DAS上的,不会启动新的glassfish实例
deploy还有一些常见的参数:
asadmin> deploy --user admin --passwordfile /home/ps/p.txt --port 4949 --contextroot /cc /var/web/cc.war
如果domain设置了密码就需要使用--user指定用户名,使用--passwordfile指定密码文件,可以是用--port来指定部署在管理端口为4949的domain上。可以使用--contextroot指定应用的context(上下文环境)
undeploy命令和deploy命令的参数使用方法基本一样:
asadmin> undeploy --user admin --passwordfile /home/ps/p.txt --port 4949 hello
list-applications
asadmin> --host localhost list-applications --type web
查看指定主机上的web应用。
help
help有2中形式一种是help命令,一种是--help参数,一般命令都有--help参数,但是建议使用help命令,可以分页查看。以create-domain为例:
asadmin> help create-domain
asadmin> create-domain --help
总结
上面就是一些常见的命令,在这些命令中很多需要指定端口的都是指管理端口。如果需要了解更多的细节可以使用help命令,也可以参考官方文档(下载连接见参考,也可以直接在官方网站下载)。