Contents

 1. JAVA 설치

 2. JAVA 환경변수 설정

 3. IP 방화벽 오픈

 4. Apache2 설치

 5. Tomcat 설치

 6. Apache2 - Tomcat 연동

 

[Linux] 우분투 리눅스 서버 구축, 개발 환경 설정(1/2)

1편에 이어서 리눅스 웹어플리케이션 서버를 구축해보겠다.

 

 

 

3. IP 방화벽 오픈 

 

현재 열려있는 port 를 확인한다.

 

//네트워크 listen number(port) 중 Tcp port확인
netstat -ln | grep tcp

 

 

현재는! 열려있는 포트가 없을 수도 있다.

하지만 앞으로 apache2, tomcat을 설치하고 나면 80 port와 8080 port가 LISTEN 상태가 되어야 한다.

 

근데 AWS나 GCP 같은 클라우드 서버를 사용한다면 해당 서버 내에서 port가 열려있다고 해도

외부에서 접근할 수 없도록 방화벽이 있어 따로 설정 작업을 해주어야 한다.

 

사이트에 방문해 외부 IP4 방화벽을 오픈해 주도록 하자.

현재는 개발환경이니 둘 다 오픈해준다.

 

AWS lightsail의 경우에는 아래 사이트로 바로 연결하고,

아닌 경우에도 본인이 사용하는 클라우드 서버 네트워크관리 페이지로 이동해서 아래처럼 방화벽 설정을 해준다.

 

lightsail.aws.amazon.com/ls/webapp/ap-northeast-2/instances/Ubuntu-1/networking

 

 

위의 사진처럼 나는 22, 80 port는 외부에서 접근가능하도록 open 되어있다.

없다면 규칙추가 버튼에서 추가해주도록 하자. 나는 8080 port만 따로 추가하면 된다.

 

 

규칙추가 버튼을 눌러서 사용자지정 / TCP / 8080 port를 추가했다.

간단하게 외부에서 접근가능 하도록 방화벽 설정을 완료했다.

 

 

 


 

 

4. apache2 설치

 

// apt 업데이트
sudo apt update


// apache2 설치
sudo apt install apache2


// apache2 시작
sudo service apache2 start


// apache2 서비스 확인
service apache2 status


// apache2 재시작
sudo service apache2 restart


// apache2 종료
sudo service apache2 stop


 

apache2 설치는 매우 간단하다.

기본 명령어로 다운로드 후 실행해보자. web 서버는 기본 80 port 로 설정 되어 있다.

위의 명령어 중  서비스 확인까지만 실행 한 후 접근해보자.

 

 

성공적으로 실행된 경우 인터넷창을 열어서 url 에

http://[사용자IP] 입력 후 접근하면 아래처럼 default 페이지를 확인할 수 있다.

 

apache 설치 기본 화면

성공적으로 apache 설치가 완료되었다.

 

 

 


 

 

 

 

5. Tomcat 설치

 

//apt 패키지 업데이트
sudo apt update


//tomcat 설치
sudo apt install tomcat9


//tomcat 시작
sudo service tomcat9 start


//tomcat 서비스확인
service tomcat9 status


//tomcat 재시작
sudo service tomcat9 restart


//tomcat 종료
sudo service tomcat9 stop



 

tomcat도 간단히 설치한다. 나는 tomcat9 를 설치했다.

tomcat9는 Java version 8이상에서 사용 가능하다. 설치한 Java 버전이 Java11이므로 가능!

 

 

물론 tomcat8도 사용 가능하지만 현재 tomcat10도 나온 상황에서 더 높아진 버전이 낫지않겠나 싶음.

공식사이트에선 아래와 같은 것들이 추가되었다고 함.  체감상 다이나믹한 변화는 없는듯

 

 

 

더보기
Apache Tomcat 9.x is the current focus of development. It builds on Tomcat 8.0.x and 8.5.x and implements the Servlet 4.0JSP 2.3EL 3.0WebSocket 1.1 and JASPIC 1.1 specifications (the versions required by Java EE 8 platform). In addition to this, it includes the following significant improvements:
  • Adds support for HTTP/2 (requires either running on Java 9 (since Apache Tomcat 9.0.0.M18) or the Tomcat Native library being installed)
  • Adds support for using OpenSSL for TLS support with the JSSE connectors (NIO and NIO2)
  • Adds support for TLS virtual hosting (SNI)

 

위의 명령어로 tomcat 서비스 확인까지 했다면,

이제  http://[사용자IP]:8080 으로 접근해보자.

 

 

tomcat 설치 기본 화면

위와 같은 화면이 뜬다면 성공적으로 tomcat 설치가 완료된 것이다.

 

 


 

6. Apache2 + Tomcat 연동

 

step1. mod-jk 설치

//apt 패키지 업데이트
sudo apt update

//mod-jk 다운로드
sudo apt install libapache2-mod-jk

연동을 위한 모듈인 mod-jk를 설치한다.

 

 

 

step2. workers.properties 설정

//mod-jk 설정파일 열기
sudo vi /etc/libapache2-mod-jk/workers.properties

설치가 완료되었다면 /etc/libapache2-mod-jk 폴더가 생긴다.

해당 폴더 안에 연동과 관련된 주요 설정파일인 workers.properties 파일을 연다.

 

아래는 workers.properties 파일 내 주요 설정정보 설명이다.

# tomcat 설치경로
workers.tomcat_home=/usr/share/tomcat9



# java 설치경로
# default로 설정되어 있는데, JAVA_HOME 설정으로 변경해준다.
# JAVA_HOME 설정을 안한 경우는 설치경로를 직접 입력해준다. ex)/usr/lib/jvm/java-11-openjdk-amd64
workers.java_home=$JAVA_HOME



# 연동할 톰캣이름 설정. 임의로 설정해준다.
# 해당 이름으로 아래 설정에서 계속 사용할 것이다.
worker.list=yunji_tomcat



# 위에서 설정한 톰캣이름으로 설정 정보를 입력한다.
# 기본 ajp 통신 포트는 8009이다. 여러개 톰캣을 연동하는 경우 이 포트는 각각 다르게 설정해줘야한다.
worker.yunji_tomcat.port=8009



# 현재처럼 같은 서버내에서 구성할 때는 localhost로도 가능하지만 각 다른 서버에서 연동할 때는
# 이 부분은 각 tomcat server ip를 입력해줘야한다.
worker.yunji_tomcat.host=localhost



# apache + tomcat 연동프로토콜로 고정
worker.yunji_tomcat.type=ajp13



# 부하분산으로 몇 번의 요청을 처리하고 다음 worker에게 넘기냐는 설정인데 현재는 tomcat이 하나이므로
# 1로 설정하고 넘어간다.
worker.yunji_tomcat.lbfactor=1



# loadbalancer 설정
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=yunji_tomcat

 

 

 

 

step3. 000-default.conf 설정

 

sudo vi /etc/apache2/sites-available/000-default.conf

DocumentRoot

먼저 default로 설정되어 있는 DocumentRoot를 주석처리한다.

그리고 아래에 tomcat 아래 위치할 프로젝트 경로로 잡아준다.

 

JkMount

요청에 따라서 분기할 수 있도록 설정하는 부분이다.

모든 요청을 아까 설정한 worker (tomcat) 에서 처리하도록 설정한 후 저장한다.

JkMount /* yunji_tomcat

 

 

 

 

step4. tomcat server.xml 설정

 

sudo vi /etc/tomcat9/server.xml

tomcat 설치경로로 이동해서 server.xml 파일을 연다.

중간쯤 보면 아래와 같은 AJP 설정이 주석처리 되어있다.

해당 부분을 사용할 수 있도록 주석해제한다.

 

 

 

 

 

step5. service 재시작

 

sudo service tomcat9 restart
sudo service apache2 restart

 

서비스를 재 시작하고 http://[사용자IP] 로 접근해본다.

기존에는 http://[사용자IP]:8080 으로 접근했던 페이지가 바로 나오는 것을 확인할 수 있다.

이로써 web - was 연동 기본 서버구성을 완료했다.

다음번엔 추가로 ssl 적용을 해 보도록 하자.

 

 

+ Recent posts