Tomcat의 bindOnInit 옵션에 대해 알아본다.


1. 개요


2. bindOnInit 설정이란?

링크 : https://tomcat.apache.org/tomcat-8.5-doc/config/http.html

Controls when the socket used by the connector is bound. By default it is bound when the connector is initiated and unbound when the connector is destroyed. If set to false, the socket will be bound when the connector is started and unbound when it is stopped.

3. 테스트

3-1. 디폴트 (true)

[ catalina 로그 ]

16-Apr-2019 15:56:48.337 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
16-Apr-2019 15:56:48.478 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
16-Apr-2019 15:56:48.494 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [2,667] milliseconds
16-Apr-2019 15:56:48.642 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
16-Apr-2019 15:56:48.643 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.19]
16-Apr-2019 15:56:48.681 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/engn001/apache-tomcat-9.0.19/webapps/host-manager]
16-Apr-2019 15:56:49.988 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/engn001/apache-tomcat-9.0.19/webapps/host-manager] has finished in [1,307] ms
16-Apr-2019 15:56:49.989 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/engn001/apache-tomcat-9.0.19/webapps/docs]
16-Apr-2019 15:56:50.044 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/engn001/apache-tomcat-9.0.19/webapps/docs] has finished in [55] ms
16-Apr-2019 15:56:50.045 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/engn001/apache-tomcat-9.0.19/webapps/ROOT]
16-Apr-2019 15:56:50.086 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/engn001/apache-tomcat-9.0.19/webapps/ROOT] has finished in [42] ms
16-Apr-2019 15:56:50.087 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/engn001/apache-tomcat-9.0.19/webapps/manager]
16-Apr-2019 15:56:50.149 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/engn001/apache-tomcat-9.0.19/webapps/manager] has finished in [61] ms
16-Apr-2019 15:56:50.149 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/engn001/apache-tomcat-9.0.19/webapps/examples]
16-Apr-2019 15:56:51.049 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/engn001/apache-tomcat-9.0.19/webapps/examples] has finished in [900] ms
16-Apr-2019 15:56:51.073 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
16-Apr-2019 15:56:51.115 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
16-Apr-2019 15:56:51.137 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [2,641] milliseconds

[ strace ]

3-2. 변경 (false)

30098 15:56:48 bind(55, {sa_family=AF_INET6, sin6_port=htons(8080), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0
30098 15:56:48 bind(60, {sa_family=AF_INET6, sin6_port=htons(8009), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0
30098 15:56:51 bind(81, {sa_family=AF_INET6, sin6_port=htons(8005), inet_pton(AF_INET6, "::ffff:127.0.0.1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0

[ catalina 로그 ]

16-Apr-2019 16:08:31.590 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["http-nio-8080"]
16-Apr-2019 16:08:31.611 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler ["ajp-nio-8009"]
16-Apr-2019 16:08:31.613 INFO [main] org.apache.catalina.startup.Catalina.load Server initialization in [545] milliseconds
16-Apr-2019 16:08:31.644 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
16-Apr-2019 16:08:31.645 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.19]
16-Apr-2019 16:08:31.656 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/engn001/apache-tomcat-9.0.19/webapps/host-manager]
16-Apr-2019 16:08:32.950 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/engn001/apache-tomcat-9.0.19/webapps/host-manager] has finished in [1,294] ms
16-Apr-2019 16:08:32.951 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/engn001/apache-tomcat-9.0.19/webapps/docs]
16-Apr-2019 16:08:33.000 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/engn001/apache-tomcat-9.0.19/webapps/docs] has finished in [48] ms
16-Apr-2019 16:08:33.001 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/engn001/apache-tomcat-9.0.19/webapps/ROOT]
16-Apr-2019 16:08:33.045 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/engn001/apache-tomcat-9.0.19/webapps/ROOT] has finished in [45] ms
16-Apr-2019 16:08:33.046 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/engn001/apache-tomcat-9.0.19/webapps/manager]
16-Apr-2019 16:08:33.105 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/engn001/apache-tomcat-9.0.19/webapps/manager] has finished in [59] ms
16-Apr-2019 16:08:33.106 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/engn001/apache-tomcat-9.0.19/webapps/examples]
16-Apr-2019 16:08:33.951 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/engn001/apache-tomcat-9.0.19/webapps/examples] has finished in [845] ms
16-Apr-2019 16:08:33.979 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
16-Apr-2019 16:08:34.089 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
16-Apr-2019 16:08:34.111 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in [2,497] milliseconds

[ strace ]

30243 16:08:34 bind(58, {sa_family=AF_INET6, sin6_port=htons(8080), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0
30243 16:08:34 bind(69, {sa_family=AF_INET6, sin6_port=htons(8009), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28 
30243 16:08:34  )     = 0
30243 16:08:34 bind(81, {sa_family=AF_INET6, sin6_port=htons(8005), inet_pton(AF_INET6, "::ffff:127.0.0.1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = 0