본문 바로가기
개발의 기록/Server

Nginx + Tomcat 연동 시리즈 3탄 - 연동하기

by prographer J 2015. 8. 14.
728x90
 

Nginx + Tomcat 연동 시리즈 1탄 - EC2 Amazon Linux에 yum으로 Nginx 설치(Centos도 가능)

Nginx +Tomcat 연동시리즈1 - NGinx 설치하기 Nginx + Tomcat 연동 시리즈 2탄 - EC2 Amazon Linux에 yum으로 Tomcat 설치(Centos도 가능) Nginx +Tomcat 연동시리즈1 - NGinx 설치하기 Nginx +Tomcat 연동시리즈2 - Tomcat 설치하

storyofdream.tistory.com

 

 

Nginx + Tomcat 연동 시리즈 2탄 - EC2 Amazon Linux에 yum으로 Tomcat 설치(Centos도 가능)

Nginx + Tomcat 연동 시리즈 1탄 - EC2 Amazon Linux에 yum으로 Nginx 설치(Centos도 가능) Nginx +Tomcat 연동시리즈1 - NGinx 설치하기 Nginx +Tomcat 연동시리즈2 - Tomcat 설치하기 Nginx +Tomcat 연동시리즈3 - 연동하기 나

storyofdream.tistory.com

 

Nginx +Tomcat 연동시리즈3 - 연동하기

 

이제 연동을 한번 시작해보자.

 

1. Ningx 실행

# service nginx start

# service nginx start

2. Tomcat 실행

 

# tomcat8 start

3. Nginx 환경설정

여기가 가장 중요하다!
우선 tomcat.conf를 하나 만든다.

# cd /etc/nginx/conf.d
# vi tomcat.conf



아래 내용 복사 후 자신의 서버에 알맞게 변경

#tomcat위치를 지정해준다.
upstream tomcat {
    ip_hash;
    server 127.0.0.1:8080;
}

server {
    listen       80;
    server_name  localhost;

    #로그위치 설정
    access_log   /var/log/nginx/tomcat_access.log;

    location / {
        proxy_set_header        Host $http_host;
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        X-Forwarded-Proto $scheme;
        proxy_set_header        X-NginX-Proxy true;

        #위에서 설정해준 upstream경로 복사
        proxy_pass http://tomcat;
        proxy_redirect          off;
        charset utf-8;

       #이 밑으로는 옵션인데 필요없으면 안 넣어도 됩니다.
        if ($request_filename ~* ^.*?/([^/]*?)$)
        {
            set $filename $1;
        }

        if ($filename ~* ^.*?\.(eot)|(ttf)|(woff)$){
             add_header Access-Control-Allow-Origin *;
        }
    }

}

 

눈치 채신분도 있겠지만 nginx.conf의 server 부분을 교체 하는 것이므로 nignx.conf의 server부분은 주석 처리 해줍니다.

이부분은 아주 주용합니다. 주석 처리 안 할경우 동작하지 않습니다. 

귀찮으신 분은 기존 ngnix.conf에 파랑색으로 되어 있는 부분만 추가해도 실행이 됩니다.

그런데 저는 환경설정 파일을 따로 관리하는 것을 좋아해서 이렇게 합니다.

vi /etc/nginx/nginx.conf


# 그리고 아래와같이 주석처리 합니다. server { 부터 ~} 까지입니다.
#    server {
#        listen       80;
#        server_name  localhost;
#        root         /usr/share/nginx/html;
#
#        #charset koi8-r;
#
#        #access_log  /var/log/nginx/host.access.log  main;
#
#        location / {
#           proxy_redirect     off;
#          proxy_set_header   Host             $host;
...
...
...
...
...

#     } <-- 이 부분은 서버가 닫히는 부분입니다. location / {이 닫히는 부분이 아닙니다.

 

4. Nginx 환경설정 리로드

 

설정을 다 하고 service nginx start를 할 수 있는데 이렇게 하는 이유는 이런방법도 있다~ 라는 것을 보여주기 위합닙니다

#nginx -s reload

 

 

 

 

728x90

댓글