带有两个 NIC 卡的 Glassfih 和 Apache 配置
Glassfih and Apache configuration with two NIC cards
我有一个带有两个 NIC 卡的 Ubuntu 16.04 服务器。两者都配置了静态IP并设置为不同的主机。
这时候,我已经运行 Apache和glassfish通过同一个接口(只是一张卡),Apache监听80端口,glassfish监听8080端口(经典配置)。
现在我想启用第二个 NIC 以允许 glassfish 侦听端口 80。这样我将让 Apache 侦听第一个 NIC 的端口 80 和 Glassfish 端口 80 与另一张卡和不同的域.但是我无法做到这一点。
到目前为止,我已经尝试了以下配置,但它们都不起作用:
- 正在使用端口 80 和地址等于第二个 nic IP 地址创建一个新的 http-listener。
- 创建一个虚拟服务器,将主机设置为第二个网卡IP地址,然后将http-listener设置为80端口。
- 使用 --keytooloption CN=my.domain.name 创建一个新域,并使用该域进行两件事(创建此域时不允许 --instanceport 80,一条消息说 80 端口在使用,但从我的角度来看,端口 80 正在使用,但通过不同的接口...?)。
- 一些不同的 domain.xml 调整,例如端口、主机等
最近两三天我一直在阅读 Glassfish 文档,但还没有找到答案。
两张网卡都在同一网段,例如:
111.222.333.1 和另一个 111.222.333.2
我没有尝试使用不同的子网可能将第二个 NIC IP 更改为 111.222.444.2,但是我没有必要的权限来进行这些更改并且在询问公司的 IT 人员之前,并且更改其他配置,我想知道你们中是否有人遇到过类似的情况?有人有什么主意吗?建议?
经过多次尝试,我得到了正确的配置。
步骤 1
由于服务器有Apache和Glassfish服务器,默认情况下,apache配置监听所有IP的80端口,所以首先要改的是:
--/etc/apache2/ports.conf
change line "Listen 80" by "Listen ###.###.###.###:80" having ###... as the apache desired ip address
Then restart apache
/etc/init.d/apache2 restart
步骤 2
在第二个 IP 的端口 80 上为 Glassfish 创建 http-listener:
sudo ./asadmin create-http-listener --listeneraddress ###.###.###.### --listenerport 80 --acceptorthreads 16 --securityenabled=false --default-virtual-server server myListenerName
步骤 3
如果你已经安装了 Glassfish(像我的情况)它已经在监听以前的 IP(apache 一个)但是在 8080 端口,为了监听新的 IP,需要创建一个新的虚拟服务器:
./asadmin create-virtual-server --hosts my.domain.name --networklisteners myListenerName myservername
步骤 4
在创建http-listener "myListenerName"时,需要链接到服务器,所以当时唯一可用的是默认的:"server"。然后手动更新 domain.xml 以从服务器的网络侦听器中删除 myListenerName 并将其添加到虚拟服务器 "myservername"。最后看起来像上面这样:
<virtual-server network-listeners="http-listener-1,http-listener-2" id="server"></virtual-server>
<virtual-server network-listeners="myListenerName" hosts="my.domain.nama" id="myservername"></virtual-server>
步骤 5
重新启动 glassfish
./asadmin stop-domain domain1
./asadmin start-domain domain1
第 6 步
将任何应用程序部署到新服务器
./asadmin deploy --virtualservers myservername /path/to/my.war
步骤 7
放松
我希望此信息对某人有所帮助!
如果可以的话,我写了一篇关于此的博客 post:
https://rsoftwareblog.wordpress.com/2014/11/12/glassfish-server-multi-nic-conundrum/
希望对您有所帮助
我有一个带有两个 NIC 卡的 Ubuntu 16.04 服务器。两者都配置了静态IP并设置为不同的主机。 这时候,我已经运行 Apache和glassfish通过同一个接口(只是一张卡),Apache监听80端口,glassfish监听8080端口(经典配置)。
现在我想启用第二个 NIC 以允许 glassfish 侦听端口 80。这样我将让 Apache 侦听第一个 NIC 的端口 80 和 Glassfish 端口 80 与另一张卡和不同的域.但是我无法做到这一点。
到目前为止,我已经尝试了以下配置,但它们都不起作用:
- 正在使用端口 80 和地址等于第二个 nic IP 地址创建一个新的 http-listener。
- 创建一个虚拟服务器,将主机设置为第二个网卡IP地址,然后将http-listener设置为80端口。
- 使用 --keytooloption CN=my.domain.name 创建一个新域,并使用该域进行两件事(创建此域时不允许 --instanceport 80,一条消息说 80 端口在使用,但从我的角度来看,端口 80 正在使用,但通过不同的接口...?)。
- 一些不同的 domain.xml 调整,例如端口、主机等
最近两三天我一直在阅读 Glassfish 文档,但还没有找到答案。
两张网卡都在同一网段,例如: 111.222.333.1 和另一个 111.222.333.2
我没有尝试使用不同的子网可能将第二个 NIC IP 更改为 111.222.444.2,但是我没有必要的权限来进行这些更改并且在询问公司的 IT 人员之前,并且更改其他配置,我想知道你们中是否有人遇到过类似的情况?有人有什么主意吗?建议?
经过多次尝试,我得到了正确的配置。
步骤 1
由于服务器有Apache和Glassfish服务器,默认情况下,apache配置监听所有IP的80端口,所以首先要改的是:
--/etc/apache2/ports.conf
change line "Listen 80" by "Listen ###.###.###.###:80" having ###... as the apache desired ip address
Then restart apache
/etc/init.d/apache2 restart
步骤 2
在第二个 IP 的端口 80 上为 Glassfish 创建 http-listener:
sudo ./asadmin create-http-listener --listeneraddress ###.###.###.### --listenerport 80 --acceptorthreads 16 --securityenabled=false --default-virtual-server server myListenerName
步骤 3
如果你已经安装了 Glassfish(像我的情况)它已经在监听以前的 IP(apache 一个)但是在 8080 端口,为了监听新的 IP,需要创建一个新的虚拟服务器:
./asadmin create-virtual-server --hosts my.domain.name --networklisteners myListenerName myservername
步骤 4
在创建http-listener "myListenerName"时,需要链接到服务器,所以当时唯一可用的是默认的:"server"。然后手动更新 domain.xml 以从服务器的网络侦听器中删除 myListenerName 并将其添加到虚拟服务器 "myservername"。最后看起来像上面这样:
<virtual-server network-listeners="http-listener-1,http-listener-2" id="server"></virtual-server>
<virtual-server network-listeners="myListenerName" hosts="my.domain.nama" id="myservername"></virtual-server>
步骤 5
重新启动 glassfish
./asadmin stop-domain domain1
./asadmin start-domain domain1
第 6 步
将任何应用程序部署到新服务器
./asadmin deploy --virtualservers myservername /path/to/my.war
步骤 7
放松
我希望此信息对某人有所帮助!
如果可以的话,我写了一篇关于此的博客 post:
https://rsoftwareblog.wordpress.com/2014/11/12/glassfish-server-multi-nic-conundrum/
希望对您有所帮助