[Linux] Apache2 Installation, and Configuration / 아파치2 설치 및 설정
위 링크를 통해 Apache2 설치를 마쳤고, 톰캣 연동을 원하거나, 톰캣만 설치하여 웹서버를 운용하고 싶을 때 도움되는 글이다.
톰캣은 아파치재단에서 만든 웹 애플리케이션 서버로 JSP, 자바 서블릿이 실행될 수 있는 환경을 제공한다.
Javascript 서버를 구동하는데 Nodejs가 필요한것 처럼 Java 서버를 구동하려면 Tomcat이 필요하다.
Tomcat 9.0 Installation
$ apt-get install openjdk-8-jre-headless
$ apt-get install openjdk-8-jdk
$ apt-get install tomcat9
위 명령을 실행하여 tomcat9을 설치할 수 있다.
톰캣은 Java를 실행시키는 웹서버로 자바 설치도 필요하다. 만약 제대로 설치가 안된다면
$ apt-get update
$ apt-get -y upgrade
를 통해 시스템을 최신 버전으로 유지하자.
윈도우에서 흔히 사용하는 환경변수를 리눅스에서 설정해줄 수 있지만, 안해도 웹서버 유지에 큰 문제는 되지 않는다.
$ vi /etc/profile
# /etc/profile
JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 # 혹은 설치한 자바 경로
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib
이후 톰캣 설정해야하는데, 웹앱 디렉토리 설정은 본 게시글의 하단에서 설명하겠다.
우선 톰캣의 사용 유저와 그룹을 설정하여 해당 유저와 그룹을 통해 프로세스를 관리할 수 있도록 하고, 메모리를 설정해 주자.
$ vi /etc/default/tomcat9
# /etc/default/tomcat9
TOMCAT8_USER=root
TOMCAT8_GROUP=tomcat9
JAVA_OPTS="-Djava.awt.headless=true -Xmx1024m -Djava.security.egd=file:/dev/./urandom"
JAVA_OPTS를 설명하자면,
Djava.awt.headless=true
- 리눅스 환경에서 GUI 클래스를 사용할 수 있게 한다.
Xmx1024m
- 최대 JVM이 1024Mb를 가질 수 있다. (Xms는 최소)
Djava.security.egd
- 자바 응용 프로그램은 시작시 난수를 이용해 임의의 값(세션 아이디 같은)을 생성하는데, 리눅스 시스템에서는 난수 생성을 위해서 /dev/urandom을 사용한다. 따라서 해당 경로를 설정해주는 것이다.
/etc/tomcat9/server.xml
이후 웹앱에 대한 설정을 해야한다. server.xml파일을 통해 내가 등록할 웹 앱들을 관리할 수 있다. 많은 옵션들이 존재하지만, 별도로 설정하지 않는다면 다음 설정을 따르길 추천한다.
<?xml version='1.0' encoding='utf-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<Service name="Catalina">
<Connector port="웹서버포트" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="443" />
<Engine name="Catalina" defaultHost="localhost">
<Host name="도메인" appBase="웹앱경로"
unpackWARs="true" autoDeploy="false"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
</Service>
</Server>
여러 포트를 이용하고 싶다면, 여러개의 Connector를 생성해주면 된다. 단, 같은 서비스 내에 여러개의 Connector가 존재하면 오류가 생길 수 있으니, 여러 포트를 이용할 경우 서비스를 여러개 생성하는걸 추천한다.
이후
$ systemctl restart tomcat8
$ systemctl restart tomcat9
둘 중 버전이 맞는걸 통해 잘 실행되는지 확인하면 된다.
'웹서버 > Apache || Tomcat' 카테고리의 다른 글
[Linux / LetsEncrypt] Linux LetsEncrypt SSL 인증서 발급받기 / HTTP에서 HTTPS로 바꾸기 (0) | 2021.02.03 |
---|---|
[Tomcat] (수정) Java File IO Permission Problem / 톰캣 자바 파일 입출력 권한 문제 (0) | 2021.01.17 |
[Tomcat] 톰캣 웹 애플리케이션 파일 쓰기 시도 시 Read Only File System (0) | 2020.12.30 |
[Linux] Tomcat + Apache2 설정 / 아파치 + 톰캣 연동 (0) | 2020.12.26 |
[Linux] Apache2 Installation, and Configuration / 리눅스 아파치2 설치 및 설정 (0) | 2020.12.26 |