5
回答
glassfish怎么设置网站虚拟主机的域名啊?
开发十年,就只剩下这套Java开发体系了   

我看了一下,网上说glassfish可以代替tomcat+nginx等的组合,由于本人不会linux,所以想试试glassfish,项目能运行,但是不知道怎么配置虚拟主机的域名,请哪位大哥教教我啊

举报
共有5个答案 最后回答: 4年前

对于一般的小型网站应用,如果能够让多个网站同时共用一个IP地址和同一个端口(就是建立虚拟主机)还是很有实用价值的,以前我是在tomcat中 实现 的,配置方法网友们可以google一下,很多的,下面我主要说一下在glassfish下如何实现,因为关于glassfish的中文资料网上不是很 多,尤其关于虚拟主机功能,glassfish的官方英文文档也说的很模糊(也可能是本人理解不够)。

假如您的应用已经部署到glassfish中,并且能够通过类似http://localhost:8080/appname访问

如果图片您看不清楚,可另存到您的电脑上再看。

1、打开控制台:http://localhost:4848,如下图:

输入用户名:admin     密码:adminadmin      进入控制台

2、展开Configuration-->HTTP Service-->HTTP Listeners、Virtual Servers菜单如下:

3、点击Virtual Servers

3、点击右边的New按钮出现如下界面

4、假如你有两个域名:www.aaa.com和www.bbb.com,依次填写内容如下(http listeners暂时不填):

点OK保存如下:

5、同样再建立bbb对应的virtual server

点OK保存

6、现在点HTTP Listeners

点击NEW新建

OK保存

点击Vistual Servers--》vs-1,你会发现http listeners一栏已被自动填成http-listener-3

再点击Vistual Servers--》vs-2,手动填写http listeners一栏为http-listener-3,点save保存

使用命令asadmin stop-domain domain1停止glassfish,用记事本打开glassfish\domains\domain1\config\domain.xml文件,翻 到最后如图

将两个server(红线圈部分)分别改成vs-1和vs-2,不知道为什么此处server应该由glassfish自动填写上vs-1和vs- 2 的,是不是glassfish的一个bug呢?

保存修改,用asadmin start-domain domain1启动glassfish

用http://www.aaa.com:8383和http://www.bbb.com:8383就可以访问了

在本机测试需要将www.aaa.com和www.bbb.com和本机地址映射一下,修改WINNT\system32\drivers\etc \hosts文件

另外如果你已经将你的服务端口8383映射到公网的80端口,就可以直接通过http://www.aaa.com和http: //www.bbb.com地址访问了

引用来自“招财猫”的帖子

对于一般的小型网站应用,如果能够让多个网站同时共用一个IP地址和同一个端口(就是建立虚拟主机)还是很有实用价值的,以前我是在tomcat中 实现 的,配置方法网友们可以google一下,很多的,下面我主要说一下在glassfish下如何实现,因为关于glassfish的中文资料网上不是很 多,尤其关于虚拟主机功能,glassfish的官方英文文档也说的很模糊(也可能是本人理解不够)。

假如您的应用已经部署到glassfish中,并且能够通过类似http://localhost:8080/appname访问

如果图片您看不清楚,可另存到您的电脑上再看。

1、打开控制台:http://localhost:4848,如下图:

输入用户名:admin     密码:adminadmin      进入控制台

2、展开Configuration-->HTTP Service-->HTTP Listeners、Virtual Servers菜单如下:

3、点击Virtual Servers

3、点击右边的New按钮出现如下界面

4、假如你有两个域名:www.aaa.com和www.bbb.com,依次填写内容如下(http listeners暂时不填):

点OK保存如下:

5、同样再建立bbb对应的virtual server

点OK保存

6、现在点HTTP Listeners

点击NEW新建

OK保存

点击Vistual Servers--》vs-1,你会发现http listeners一栏已被自动填成http-listener-3

再点击Vistual Servers--》vs-2,手动填写http listeners一栏为http-listener-3,点save保存

使用命令asadmin stop-domain domain1停止glassfish,用记事本打开glassfish\domains\domain1\config\domain.xml文件,翻 到最后如图

将两个server(红线圈部分)分别改成vs-1和vs-2,不知道为什么此处server应该由glassfish自动填写上vs-1和vs- 2 的,是不是glassfish的一个bug呢?

保存修改,用asadmin start-domain domain1启动glassfish

用http://www.aaa.com:8383和http://www.bbb.com:8383就可以访问了

在本机测试需要将www.aaa.com和www.bbb.com和本机地址映射一下,修改WINNT\system32\drivers\etc \hosts文件

另外如果你已经将你的服务端口8383映射到公网的80端口,就可以直接通过http://www.aaa.com和http: //www.bbb.com地址访问了

 谢谢你,我已经找上面的试过,可是并不可以啊,我用的是glassfish v3

引用来自“红薯”的帖子

不可以,那肯定是没配对!看看 Glassfish 的手册吧,关于虚拟主机配置有详细的文档说明的。

谢谢红薯大哥,确实是我没配好,终于在官网上找到手册啦,下载了一堆的pdf文件,为什么没有中文版的呢,看的眼花缭乱的

为什么我这样设置也能用域名访问呢?


<property name="域名" value="domain2"></property>


其实页面的那些修改就是修改了domain.xml的内容


<application-ref ref="项目名称" virtual-servers="vs2"></application-ref>
<virtual-server id="vs2" hosts="域名" default-web-module="" sso-cookie-http-only="false" network-listeners="http-listener-1"></virtual-server>
顶部