우분투 웹서버(Nginx)와 톰캣 설치 및 연동

linux

UBUNTU 설치 (16.04LTS)

AWS EC2서버 프리티어를 이용함…


$sudo apt-get update
$sudo apt-get upgrade
$sudo apt-get update

을 이용하여 폴더 업데이트?를 해준다.

그 후에 웹서버인 Nginx(이하 웹서버)를 설치한다

$sudo apt-get install nginx
$sudo service nginx start

웹 서버 설치가 끝나면 nginx를 실행시켜 본다.
설치가 잘 되었다면 웹브라우저에서 localhost로 접속이 가능하다.

이 웹서버의 설정파일은  /etc/nginx/nginx.conf 파일에서 확인할 수 있다.

여기까지 한 후에 톰캣을 tar.gz로 받는다

apache tomcat 8.5.31 버전에 들어가서 core부분에 tar.gz 오른쪽마우스클릭
=> 링크주소복사 선택
$sudo -P 원하는폴더 링크주소

를 이용하여 원하는 폴더에 설치한다.

$sudo tar zxvf ***.tar.gz
를 이용하여 압축을 푼다.

압축을 풀게되면 톰캣폴더가 생성된다.

$cd 압축푼위치/bin
파일로 들어가서
$sudo ./startup.sh
입력한다. 이때 제대로 되었는지 확인하려면 logs폴더에 catalina.out을 확인하면된다.
$tail -100f catalina.out
을 실행하면 100줄을 볼수있음.

nginx와 tomcat연결

    /etc/nginx.conf 파일을 확인한다.
    $sudo vim nginx.conf 실행한다.
       ##
        # Virtual Host Configs
        ##

        upstream hyojun {
            server localhost:8080;
        }

        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;
}

여기서 upstream 부분을 추가해준다. 보면 sites-enabled/*을 인클루드하고있다.
sites-available 폴더에 default를 바라보는 것이다.
upstream 내용은 hyojun을 localhost:8080 즉 톰캣을 바라보도록 한 것이다.
sites-available 폴더에서
$sudo vim default
를 실행한다.
           root /home/ubuntu/static;

            # Add index.php to the list if you are using PHP
            index index.html index.htm index.nginx-debian.html;

            server_name _;

            location / {
                    # First attempt to serve request as file, then
                    # as directory, then fall back to displaying a 404.
                    try_files $uri $uri/ =404;
                    proxy_pass http://hyojun/;
            }

            location ~ \.do$ {
                     proxy_pass http://hyojun.nalpari.net:8080;
    여기서 location 부분을 수정한다.
    밑에 .do는 .do로 들어온 요청을 모두 톰캣에서 처리하게끔한것이다.

여기까지 하게되면

$sudo nginx -t
를 이용하여 설정에 문제가 없는지 확인 한 후에
$sudo service nginx reload
를 이용해 nginx를 재실행해준다.

톰캣은 톰캣의 bin폴더에가서
$ ./shutdown.sh
입력 후
$sudo ./startup.sh
입력하면 재기동된다.

둘다 재기동 후에 localhost로 접속했을때 톰캣화면이 뜬다면 성공한 것이다.!!! 다음번엔 젠킨스 연동을 알아볼 것이다.

효준's profile image

효준

2018-05-30 17:30

다른글 보러가기

리액트js 작업환경 설정하기

이전 포스트

배포 자동화를 위한 Jenkins 설치

다음 포스트