我有一个带有两个网卡的 Ubuntu 16.04 服务器。两者都配置了静态IP并设置为不同的主机。 此时,我通过相同的接口(interface)(仅其中一张卡)运行 Apache 和 glassfish,Apache 监听端口 80,glassfish 监听 8080(经典配置)。
现在我想启用第二个网卡,以便让 glassfish 监听端口 80。这样,我将让 Apache 监听第一个网卡的端口 80,而 Glassfish 则使用另一张卡和不同的域监听端口 80。然而我无法做到这一点。
到目前为止,我已经尝试了以下配置,但它们都不起作用:
- 使用端口 80 和地址等于第二个网卡 IP 地址创建一个新的 http 监听器。
- 创建虚拟服务器,将主机设置为第二个网卡 IP 地址,然后将 http 监听器设置为端口 80。
- 使用 --keytooloption CN=my.domain.name 创建一个新域,并使用该域进行两件事(在创建此域时 --instanceport 80 是不允许的,一条消息说 80 端口正在使用中,但从我的角度来看,端口 80 正在使用中,但通过不同的接口(interface)...?)。
- 一些不同的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 监听器:
sudo ./asadmin create-http-listener --listeneraddress ###.###.###.### --listenerport 80 --acceptorthreads 16 --securityenabled=false --default-virtual-server server myListenerName
第3步
如果您已经安装了 Glassfish(就像我的情况),它已经在监听以前的 IP(apache 的 IP),但是在 8080 端口中,为了监听新的 IP,需要创建一个新的虚拟服务器:
./asadmin create-virtual-server --hosts my.domain.name --networklisteners myListenerName myservername
第 4 步
在创建http监听器“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 步
放松
我希望这些信息对某人有所帮助!
关于linux - 具有两个 NIC 卡的 Glassfih 和 Apache 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45811286/