본문 바로가기

리눅스

CentOS 7에 NGINX와 Tomcat 멀티 인스턴스를 설치하고 설정하는 방법

반응형

CentOS 7에 NGINX와 Tomcat 멀티 인스턴스를 설치하고 설정하는 방법

1. nginx 설치

필수 패키지 설치

yum install pcre-devel zlib-devel openssl-devel

디렉토리 생성 및 이동

mkdir /app
cd /app/

Nginx 소스 코드 압축 해제

tar xvfz nginx-1.10.3.tar.gz

Nginx 소스 디렉토리로 이동

cd nginx-1.10.3

Nginx 구성 설정

./configure --prefix=/app/nginx --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module

Nginx 컴파일 및 설치

make && make install

Nginx 실행 파일 디렉토리로 이동

cd /app/nginx/sbin/

Nginx 시작

/app/nginx/sbin/nginx

Nginx 프로세스 확인

ps -ef | grep nginx
$ ps -ef | grep nginx
root     12446     1  0 17:33 ?        00:00:00 nginx: master process /app/nginx/sbin/nginx
nobody   12447 12446  0 17:33 ?        00:00:00 nginx: worker process
root     12465  8135  0 17:33 pts/0    00:00:00 grep --color=auto nginx

Nginx 설정 파일 수정

vim /app/nginx/conf/nginx.conf
$ vim /app/nginx/conf/nginx.conf
...
 18
 19         upstream tomcat{
 20                 server 127.0.0.1:8081;
 21                 server 127.0.0.1:8082;
 22                 keepalive 10;
 23         }
 24
...
 49
 50         location / {
 51         #    root   html;
 52         #    index  index.html index.htm;
 53                 proxy_pass              http://tomcat;
 54                 proxy_redirect          off;
 55                 proxy_set_header        Host $host;
 56                 proxy_set_header        X-Real-IP $remote_addr;
 57                 proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
 58                 proxy_set_header        X-Forwarded-Proto $scheme;
 59         }
 60

2. java 설치

JDK 압축 해제

tar xvfz jdk-8u111-linux-x64.tar.gz

심볼릭 링크 생성

ln -s jdk1.8.0_111 java

tomcat 사용자로 전환

su - tomcat
vim .bashrc
# JAVA_HOME configuration
export JAVA_HOME="/app/java"
export PATH="$PATH:$JAVA_HOME/bin"

환경 변수 설정 적용

source .bashrc
728x90

3. tomcat 설치

Tomcat 압축 해제

tar xvfz apache-tomcat-8.0.38.tar.gz

Tomcat 디렉토리 이름 변경

mv apache-tomcat-8.0.38 was01

Tomcat 인스턴스 복제

cp -rf was01 was02

디렉토리 소유권 변경

chown -R tomcat.tomcat was01 was02

Tomcat 사용자로 전환

su - tomcat

Tomcat 인스턴스 설정 파일 수정

vim /app/was01/conf/server.xml
$ vi /app/was01/conf/server.xml
 21  -->
 22 <Server port="8501" shutdown="SHUTDOWN">
 23   <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
...
 68     -->
 69     <Connector port="8081" protocol="HTTP/1.1"
 70                connectionTimeout="20000"
 71                redirectPort="8443" />
...
 90     <!-- Define an AJP 1.3 Connector on port 8009 -->
 91     <Connector port="8901" protocol="AJP/1.3" redirectPort="8443" />
 92
vim /app/was02/conf/server.xml
$ vi /app/was02/conf/server.xml
 21  -->
 22 <Server port="8502" shutdown="SHUTDOWN">
 23   <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
...
 68     -->
 69     <Connector port="8082" protocol="HTTP/1.1"
 70                connectionTimeout="20000"
 71                redirectPort="8443" />
...
 90     <!-- Define an AJP 1.3 Connector on port 8009 -->
 91     <Connector port="8902" protocol="AJP/1.3" redirectPort="8443" />
 92
vim .bashrc
# JAVA_HOME configuration
export JAVA_HOME="/app/java"
export PATH="$PATH:$JAVA_HOME/bin"

# WAS startup/shutdown/log aliases
alias was01_startup="/app/was01/bin/startup.sh"
alias was01_shutdown="/app/was01/bin/shutdown.sh -force"
alias was01_log="tail -f /app/was01/logs/catalina.out"

alias was02_startup="/app/was02/bin/startup.sh"
alias was02_shutdown="/app/was02/bin/shutdown.sh -force"
alias was02_log="tail -f /app/was02/logs/catalina.out"

alias all_startup="was01_startup && was02_startup"
alias all_shutdown="was01_shutdown && was02_shutdown"
alias all_log="was01_log && was02_log"

환경 변수 설정 적용

source .bashrc
all_startup
$ all_startup
Using CATALINA_BASE:   /app/was01
Using CATALINA_HOME:   /app/was01
Using CATALINA_TMPDIR: /app/was01/temp
Using JRE_HOME:        /app/java
Using CLASSPATH:       /app/was01/bin/bootstrap.jar:/app/was01/bin/tomcat-juli.jar
Using CATALINA_PID:    /app/was01/logs/.tomcat_pid
Tomcat started.
Using CATALINA_BASE:   /app/was02
Using CATALINA_HOME:   /app/was02
Using CATALINA_TMPDIR: /app/was02/temp
Using JRE_HOME:        /app/java
Using CLASSPATH:       /app/was02/bin/bootstrap.jar:/app/was02/bin/tomcat-juli.jar
Using CATALINA_PID:    /app/was02/logs/.tomcat_pid
Tomcat started.

JSP 테스트 파일 생성

vim /app/was01/webapps/ROOT/index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>TOMCAT Instance1 - TOMCAT TEST</title>
</head>
<body>
    <h1>TOMCAT TEST</h1>
    <pre>
운영체제: <%= System.getProperty("os.arch") %>
데이터모델: <%= System.getProperty("sun.arch.data.model") %>
클래스경로: <%= System.getProperty("java.class.path", ".") %>
라이브러리경로: <%= System.getProperty("java.library.path", ".") %>
파라메터: <%= request.getParameter("param") %> ('한글'이라고 표기되어야 함)

파일인코딩: <%= System.getProperty("file.encoding") %>
시스템캐릭터셋: <%= java.nio.charset.Charset.defaultCharset().name() %>
페이지캐릭터셋: <%= response.getCharacterEncoding() %>

서블릿 경로: <%= application.getRealPath("") %>
    </pre>
</body>
</html>

 

728x90
반응형