불친절한 블로그
[AWS] EC2 spring boot + apache + tomcat (내장) 연동(mod_jk) 본문
기존에 spring boot로 만들어진 프로젝트를 EC2에 인스턴스를 생성해서 서버구축을 할 것이다.
그 후 spring boot 내장 tomcat과 EC2에 apache를 설치해서 이 두개를 mod_jk로 연동 할 것이다.
먼저 EC2 인스턴스에 접속한다.
apache를 설치한다.
원래 apache2를 설치하려 했지만 EC2 환경이 linux 2 ami에서 apache를 설치하는 공식 문서를 보니까
httpd로 설치를 하길래 yum을 이용해서 httpd를 설치했다.
$ sudo yum install -y httpd
apache 설치가 완료되었으면 서비스를 실행시켜준다.
$ sudo service httpd start
apache가 잘 실행되고 있는지 확인한다.
$ sudo netstat -ntlp | grep httpd
이제 mod_jk를 설치한다.
apache2에서는 같이 깔려 있다고 하지만 httpd여서 따로 다운로드 받아서 압축풀고 적용시켜줘야 된다. ㅠㅠ
톰캣 공식 홈페이지에 들어가서 Download에 Tomcat Connectors에서 Tomcat Connectors JK 최신 버전 링크 주소를 복사한다.
그 후 터미널에서 설치 명령어를 넣고 복사한 주소를 붙여넣는다.
$ wget https://downloads.apache.org/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.48-src.tar.gz
설치 후 압축을 풀어준다.
$ tar xvfz tomcat-connectors-1.2.48-src.tar.gz
그럼 tomcat-connectors-1.2.48-src 폴더가 있을꺼다.
native 폴더로 이동해서 configure를 시켜준다.
$ cd tomcat-connectors-1.2.48.src/native/
$ ./configure --with-apxs=/sw/httpd-2.4.39/bin/apxs
configure 했지만 에러 발생
apxs를 찾지 못하고 있었다.
구글링....
찾아보니 apxs가 없으면 httpd-devel를 설치해줘야 한다고 한다.
드가자 드가자!!
$ sudo yum install httpd-devel
apxs가 잘 있는지 확인해보자.
$ which apxs
apxs 경로를 확인하고 앞서 들어간 native로 다시 이동 후 configure 해준다.
$ cd tomcat-connectors-1.2.48-src/native/
$ ./configure --with-apxs=/usr/bin/apxs
후... 또 에러 컴파일이 안됐군..
구글링...
gcc 설치하자..
드가자!!
$ sudo yum install gcc
configure를 다시 하면 아마 성공할 것이다.
그럼 이제 make 한다.
$ make
했으면 이제 make install 해준다.
$ sudo make install
mod_jk가 설치 되었다.
이제 연동을 하면서 적용해보자.
파일을 몇개 만들어 줄꺼다.
코드는 캡쳐 화면을 보고 작성하면 된다.
1. httpd.conf
2. mod_jk.conf
3. worker.properties
4. http_vhost.conf
다 작성되었으면 apache를 재시작 해준다.
$ sudo apachectl restart
이제 프로젝트에 적용해보자.
intelliJ를 켠다.
resources에 application.yml에 ajp 정보를 넣어준다.
ContainerConfig.java 를 만들어준다.
코드 실행 해본다.
tomcat과 apache가 연결된 걸 확인 할 수 있다.
작업하면서 생긴 에러 사항은 나중에 따로 정리하겠다.
'Project > 공항 PCR 확인서' 카테고리의 다른 글
[AWS] 바닥부터 웹페이지 세팅해보기! (0) | 2021.04.26 |
---|---|
[AWS] EC2 spring boot + apache + tomcat (내장) 연동 시 생긴 에러 정리 (0) | 2021.04.26 |
[Jsp] URL 직접 접근 막기 (0) | 2021.04.16 |
[Git] IntelliJ 이전 기록으로 master에 push하기 (force push) (0) | 2021.04.15 |
[Git] branch와 master merge (0) | 2021.04.13 |