리눅스에선 일반 계정으로 TCP 포트번호 1024 이하를 열 수 없다.
톰캣을 80, 443 포트를 이용해 서비스 하고 싶은 경우, 두 가지 방법이 있는 모양. …한 가지 더 있긴 하다
1. jsvc를 이용한 방법
2. xinetd, iptable 혹은 L4 switch 등에서 포트 포워딩하는 방법
3. root 권한으로 톰캣(./bin/startup.sh)실행 (……해서는 안 되는 짓이다.)
jsvc를 이용한 방법의 경우, 아래 과정을 거치게 되는 모양
1. 루트 권한으로 포트 열고
2. 해당 포트로 들어오는 요청을 지정한 was 실행 계정 권한으로 실행해서 결과 되돌리기
ps aux | grep jsvc 해보면 jsvc 프로세스가 root와 tomcat계정(사용자가 지정한)으로 두 개 실행 되어있다.
jsvc 설정 방법(http://www.klawitter.de/tomcat80.html)
1. 톰캣 압축 풀면 bin 디렉토리 밑에 commons-daemon-native.tar.gz 파일이 있음(톰캣 버전별로 이름이 약간씩 다름)
2. 압축 풀고, 압푹 푼 디렉토리로 이동
tar zxvf commons-daemon-native.tar.gz
cd commons-daemon-1.0.7-native-src/unix
./configure –with-java=$JAVA_HOME
make
cp jsvc ../../
cp samples/Tomcat5.sh ../../daemon.sh
3. daemon.sh 를 실행 환경에 맞게 수정
4. ./conf/server.xml 을 환경에 맞게 수정
5. root 권한으로 실행 : 걱정하지 않아도 된다!! 포트(80, 443)만 root 권한으로 열고, jsp 등을 실행하는 프로세스는 daemon.sh에 설정한 계정으로 실행된다!!
답글 남기기