기술노트

기술노트

게시물 상세
tomcat 서비스 80 포트로 서비스하기
작성자 : 관리자(jieun@ehostidc.co.kr)  작성일 : 2018-12-04   조회수 : 4704

tomcat 서비스 80 포트로 서비스하기

 

- tomcat 의 default 서비스 포트는 8080 인데, 개발 및 서비스의 원인으로 80 포트로 서비스 설정 하는 방법

 

1. 기존 server.xml 파일 수정

 

   # before

    <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

 

   #  after

    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

 

2. tomcat service 재시작시 오류 발생

SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-80"]
java.net.BindException: Permission denied (Bind failed) <null>:80

         

 

3. 원인

  - Linux 환경에서 1024 번 이하의 서비스포트에 대해 non-root 계정에서 open 하지 못하도록 구성됨.

 

4. 해결책

   a. setcap 설정 

     - tomcat 이 아닌 java 에 설정, java 절대 경로 설정 

# setcap 'cap_net_bind_service=+ep' /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jre/bin/java

 

   b. 라이버러리 오류 (의존성 라이브러리 오류)

     /usr/lib/jvm/jre/bin/java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory

   

 

    c. 의존성 라이브러리 경로 설정  

# find / -name libjli.so
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jre/lib/amd64/jli/libjli.so

 

# vi /etc/ld.so.conf.d/java.conf
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-0.el7_5.x86_64/jre/lib/amd64/jli

 

# ldconfig  

 

    d. tomcat start 후 서비스 확인 진행

이전글 ​​​tomcat 서비스에서 멀티 도메인 서비스 구성하기 ​​
다음글 rpm 주요 command