glassfish基本使用
一、glassfish简介
glassfish是一款web应用服务器,和tomcat一样,也是一款优秀的Servlet容器。
二、glassfish知识点
2.1 domain
- domain是glassfish中,拥有独立端口的存放web应用的容器。
- glassfish可以创建多个domain,每个domain存放于glassfish/domains目录中。
- 每个domain是可以部署多个web应用(通过不同的访问路径进行区分)
三、glassfish安装
3.1 下载
下载地址:http://download.oracle.com/glassfish/5.0/release/glassfish-5.0-web.zip
3.2 解压
解压到自己的安装目录
简单地说,glassfish安装就算完成。
四、domain创建
4.1 进入安装的glassfish根目录
4.2 创建domain
#创建domain,过程中会要求输出用户名和密码
bin/asadmin create-domain domain2
创建成功后,会有以下类似输出:
Domain domain2 created.
Domain domain2 admin port is 4848.
Domain domain2 admin user is "haha".
注意:上面输出中的4848即是该domain的管理端口号
4.3 启动domain
#启动domain
bin/asadmin start-domain domain2
4.4 查看domain
打开浏览器,输入地址:http://127.0.0.1:4848,再输入用户名和密码,即可看见新建domain的管理页面。
4.5 注意
4.5.1 修改端口号
如果需要修改管理端口号或者web访问端口号,可以修改相应domain的conf目录(glassfish/domains/domain3/config)下的domain.xml配置文件,修改点在这:
<network-listeners>
<network-listener protocol="http-listener-1" port="8080" name="http-listener-1" thread-pool="http-thread-pool" transport="tcp"></network-listener>
<network-listener protocol="http-listener-2" port="8181" name="http-listener-2" thread-pool="http-thread-pool" transport="tcp"></network-listener>
<network-listener protocol="admin-listener" port="4848" name="admin-listener" thread-pool="admin-thread-pool" transport="tcp"></network-listener>
</network-listeners>
4.5.2 权限报错
远程登录glassfish的domain管理页面时,会报错:
Secure Admin must be enabled to access the DAS remotely
这时需要开启所有主机可访问许可:
bin/asadmin enable-secure-admin
当然也可以指定特定主机或端口,如:
bin/asadmin --host 192.168.0.101 --port 4848 enable-secure-admin
五、web部署
web部署有两种方式,一是通过浏览器管理页面部署,二是通过命令行部署,三是直接将war放到指定domain下的autodeploy目录下自动部署。首先准备好要部署的war包。
5.1 通过浏览器管理页面部署
- 打开浏览器,输入http://127.0.0.1:4848,再输入之前设定的用户名和密码,进入到glassfish管理页面。
- 点击左侧的Applications,再在右侧点击选择文件,将本地的war包上传。
- war包上传后,页面右侧下方出现该web的配置信息,这里可设置Context Root(即是该web的路径)值为/,其它信息可自行设置。设置完后,点OK进行保存。
至此,war便部署成功,点左侧的Applications,在右侧有redeploy(重新部署)等web控制选项,可根据需要进行操作。
5.2 命令行部署
部署命令:
bin/asadmin deploy war包名.war
部署时也可指定访问路径和web名称,如:
bin/asadmin deploy --contextroot / --name test-1 test.war
取消部署命令:
bin/asadmin undeploy war包名
5.3 war包自动部署
直接将war放到指定domain下的autodeploy目录,重启domain即可。特别注意,此时context的路径即为war包的名称,即是查看web要输入http://127.0.0.1:8080/war包名,这样才行。
至此,web部署完成,我们可以在浏览器输入http://127.0.0.1:8080,看到web部署的效果了。
六、常用命令
6.1 创建domain
bin/asadmin create-domain domain名称
6.2 查看domain列表
bin/asadmin list-domains
6.3 启动domain
bin/asadmin start-domain domain名称
6.4 停止domain
bin/asadmin stop-domain domain名称
6.5 删除domain
bin/asadmin delete-domain domain名称
6.6 重启domain
bin/asadmin restart-domain domain名称
6.7 部署war包
bin/asadmin deploy war包名.war
中间可加添加参数,如
- 指定访问路径: --contextroot 路径名
- 指定war新名称: --name 新war名称
- 强制重新部署(默认是不强制的,即值为false) : --force true
例如:
bin/asadmin deploy --contextroot / --name test-1 --force true test.war
6.8 取消war包部署
bin/asadmin undeploy war包名