我有一台带有两块网卡的Ubuntu 16.04服务器。它们都配置了静态IP并设置为不同的主机。 这时,我通过相同的界面(只有一张卡)运行Apache和glassfish,Apache在端口80上监听,并使用8080(经典配置)。
现在我想启用第二个NIC以允许glassfish监听端口80.这样我将拥有第一个NIC的Apache监听端口80和Glassfish端口80与另一个卡和不同的域。但是我无法做到这一点。
到目前为止,我已经尝试了以下配置,但它们都不起作用:
过去两三天我一直在阅读Glassfish文档,但还没有找到答案。
两张网卡都在同一网上,例如: 111.222.333.1和另一个111.222.333.2
我没有尝试使用不同的子网,可能会将第二个NIC IP更改为111.222.444.2,但是我没有必要的权限进行这些更改,然后向公司的IT人员询问,并更改其他配置,我想知道你们中某人是否曾经遇到类似情况?有谁有想法吗?建议?
答案 0 :(得分:0)
经过几次尝试,我得到了正确的配置。
第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步
在端口80上为第二个IP创建Glassfish的http-listener:
sudo ./asadmin create-http-listener --listeneraddress ###.###.###.### --listenerport 80 --acceptorthreads 16 --securityenabled=false --default-virtual-server server myListenerName
第3步
如果您已经安装了Glassfish(就像我的情况一样),它已经在监听以前的IP(apache one),但是在8080端口,为了监听新的IP,需要创建一个新的虚拟服务器: / p>
./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步
放松
我希望这些信息有助于某人!
答案 1 :(得分:0)
如果可以的话,我在以下位置写了一篇博客文章:
https://rsoftwareblog.wordpress.com/2014/11/12/glassfish-server-multi-nic-conundrum/
希望这会有所帮助