我想部署一个tomcat服务器,以便它同时侦听两个端口(都用于超文本传输协议)。
为了确保您正确理解这个需求,我们只有一个服务器实例,但希望侦听HTTP协议的两个端口。例如,任何人都可以使用端口号7080和8080访问部署在我的服务器中的应用程序
有可能做到吗?如果可能,我们如何实现这一点?
您可以在/conf/server中定义2个不同的服务。xml。
示例如下:,
<Service name="Catalina_2">
<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8444" />
<Connector port="8010" protocol="AJP/1.3" redirectPort="8444" />
<Engine name="Catalina_2" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps_2" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
<Service name="Catalina">
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
</Engine>
</Service>
注意:您可能需要增加tomcat堆大小。
是的,这是可能的。只需像这样编辑server.xml(位于名为conf的文件夹中):
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8444" />
这将设置Tomcat同时侦听端口8080和8081。
文件规定:
>
port:此连接器将在其上创建服务器套接字并等待传入连接的TCP端口号。您的操作系统将只允许一个服务器应用程序监听特定IP地址上的特定端口号。如果使用特殊值0(零),则Tomcat将随机选择一个空闲端口用于此连接器。这通常仅在嵌入式和测试应用程序中有用。
重定向端口(redirectPort):如果此连接器支持非SSL请求,并且接收到匹配的请求
因此,更改重定向端口是可选的,这取决于您希望这种重定向的工作方式。
很简单,你只需要看一看conf/server.xml
配置文件,就可以为你想要的端口添加一个新的连接器。例如,如果你有一个这样的连接器:
<Connector port="8080"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8" />
只需在配置文件中添加一个与上述相同的新连接器,但更改端口参数。仅此而已。重新启动,您就完成了。
问题内容: 我正在使用使用node_redis的kue,但是我已经在会话中使用了,所以我想在特定端口上创建一个服务器,说默认值,然后在port上侦听。 我将如何做到这一点?我发现这篇文章讨论的是类似的内容,但是我并不是真的想要创建一个初始化脚本来执行此操作。 问题答案: 启动redis-server并为“ port”提供一个不同的参数,可以在命令行中完成: 例如,您也可以这样做,以便在启动时进行。
我有一个监听两个不同端口的TCP服务器。我创建了两个不同的套接字,一个在端口8888上,一个在端口6634上。我监听这些端口,然后我在FD_SET中添加两个套接字,并将它们传递给Select()函数...当套接字准备好读取时,我检查FD_ISSET,看看哪个端口上有消息要读取。 不管怎样,当我连接到8888端口时,构思是成功的,我可以向服务器发送和接收。。。当我在客户端ctrl c时,选择函数再次
我正在尝试调试应用程序的流程。因此在这个过程中,我需要调试两个运行在两个不同tomcat服务器上的应用程序(其中一个应用程序中的方法调用不同应用程序的另一个方法)。我如何在eclipse中实现这一点(可能吗)? 注意:这两个应用程序都在同一个eclipse实例中,没有任何调试配置。
使用8080/8005等命令删除在任何端口、Windows上运行的tomcat服务
我使用的是Tomcat服务器V7.0。我需要在同一台机器上同时运行两个Tomcat服务器。在运行第一个Tomcat服务器并尝试运行第二个Tomcat服务器后,出现了这个错误。 有解决办法吗? 谢谢你。
当我在 2 台 Debian 服务器上运行 Docker 雄猫管理器时,我有以下 2 个显示器: Tomcat1:https://i.stack.imgur.com/kucJQ.png Tomcat2:https://i.stack.imgur.com/ygOCh.png Tomcat状态内存池以不同的名称列出,如“PS 两个容器以相同的方式运行: 使用相同的参数 xml 文件: 和 两台服务器的