Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux Glassfih和Apache配置,带有两个NIC卡_Linux_Apache_Configuration_Glassfish 4_Nic - Fatal编程技术网

Linux Glassfih和Apache配置,带有两个NIC卡

Linux Glassfih和Apache配置,带有两个NIC卡,linux,apache,configuration,glassfish-4,nic,Linux,Apache,Configuration,Glassfish 4,Nic,我有一个Ubuntu 16.04服务器和两个网卡。它们都配置了静态IP并设置为不同的主机。 此时,我已经通过相同的接口(只有一张卡)运行了Apache和glassfish,Apache在端口80上侦听,glassfish在8080上运行(经典配置) 现在我想启用第二个NIC,以便允许glassfish侦听端口80。这样,我将拥有第一个NIC的Apache侦听端口80和另一个网卡和不同域的Glassfish端口80。然而,我不能做到这一点 到目前为止,我已经尝试了以下配置,但它们都不起作用: 创

我有一个Ubuntu 16.04服务器和两个网卡。它们都配置了静态IP并设置为不同的主机。 此时,我已经通过相同的接口(只有一张卡)运行了Apache和glassfish,Apache在端口80上侦听,glassfish在8080上运行(经典配置)

现在我想启用第二个NIC,以便允许glassfish侦听端口80。这样,我将拥有第一个NIC的Apache侦听端口80和另一个网卡和不同域的Glassfish端口80。然而,我不能做到这一点

到目前为止,我已经尝试了以下配置,但它们都不起作用:

  • 创建一个新的http侦听器,端口为80,地址等于第二个nic IP地址
  • 创建虚拟服务器,将主机设置为第二个nic IP地址,然后将http侦听器设置为端口80
  • 使用--keytoolpoption CN=my.domain.name创建一个新域,并使用该域进行这两件事(创建此域时,不允许使用instanceport 80,一条消息说80端口正在使用中,但在我看来,端口80正在使用中,但接口不同…?)
  • 一些不同的domain.xml调整,如端口、主机等
在过去的两三天里,我一直在阅读Glassfish文档,但还没有找到答案

两个nic卡位于同一网络上,例如: 111.222.333.1和其他111.222.333.2


我没有尝试使用不同的子网,可能会将第二个NIC IP更改为111.222.444.2,但是我没有必要的权限进行这些更改,在询问公司的IT人员并更改其他配置之前,我想知道你们中是否有人遇到过类似的情况?有人知道吗?建议

经过几次尝试,我得到了正确的配置

步骤1

由于服务器有Apache和Glassfish服务器,默认情况下,所有IP的Apache配置侦听端口为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 one),但在8080端口中,为了侦听新的IP,需要创建一个新的虚拟服务器:

./asadmin create-virtual-server --hosts my.domain.name --networklisteners myListenerName myservername
步骤4

在创建http侦听器“myListenerName”时,它需要链接到服务器,因此当时唯一可用的是默认的“服务器”。因此,然后手动更新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> 
步骤6

将任何应用程序部署到新服务器

./asadmin deploy  --virtualservers myservername /path/to/my.war
步骤7

放松


我希望这个信息能帮助别人

如果可以的话,我在以下网站上写了一篇博文:


希望这有帮助

欢迎链接到解决方案,但请确保您的答案在没有它的情况下是有用的:这样您的其他用户就会知道它是什么以及为什么存在,然后引用您链接到的页面的最相关部分,以防目标页面不可用。
./asadmin deploy  --virtualservers myservername /path/to/my.war