먼저 tomcat (http://tomcat.apache.org/) 을 설치하자.
톰캣 7버전을 다운로드 후 압축 해제
# cd /usr/local/src
# wget http://apache.tt.co.kr/tomcat/tomcat-7/v7.0.27/bin/apache-tomcat-7.0.27.tar.gz
# tar zxvf apache-tomcat-7.0.27.tar.gz
# cp -Rf apache-tomcat-7.0.27 /usr/local/tomcat
# cd /usr/local/tomcat/
# ll
total 116
drwxr-xr-x 2 root root 4096 Jun 19 07:44 bin
drwxr-xr-x 2 root root 4096 Jun 19 07:44 conf
drwxr-xr-x 2 root root 4096 Jun 19 07:44 lib
-rw-r–r– 1 root root 56797 Jun 19 07:44 LICENSE
drwxr-xr-x 2 root root 4096 Jun 19 07:44 logs
-rw-r–r– 1 root root 1192 Jun 19 07:44 NOTICE
-rw-r–r– 1 root root 8826 Jun 19 07:44 RELEASE-NOTES
-rw-r–r– 1 root root 10597 Jun 19 07:44 RUNNING.txt
drwxr-xr-x 2 root root 4096 Jun 19 07:44 temp
drwxr-xr-x 7 root root 4096 Jun 19 07:44 webapps
drwxr-xr-x 2 root root 4096 Jun 19 07:44 work
GET 통해 한글 데이터를 받을때 서버에서 URL을 UTF-8로 인코딩하도록 설정
# vi conf/server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxThreads="150"
minSpareThreads="25"
maxSpareThreads="75"
enableLookups="false"
acceptCount="100"
disableUploadTimeout="true"
URIEncoding="UTF-8" />
# vi /etc/profile
CATALINA_HOME=/usr/local/tomcat
export CATALINA_HOME
PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
export PATH
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$CATALINA_HOME/lib
export CLASSPATH
# source /etc/profile
톰캣 실행
# bin/startup.sh
종료는
# bin/shutdown.sh
확인은
http://XXX.XXX.XXX.XXX:8080
다음으로 nginx (http://nginx.org/) 를 설치해보자.
현재 안정버전은 1.2.1, 개발버전은 1.3.1
# wget http://nginx.org/download/nginx-1.2.1.tar.gz
# tar zxvf nginx-1.2.1.tar.gz
# cp -Rf nginx-1.2.1 /usr/local/nginx
# cd /usr/local/nginx/
# ll
total 560
drwxr-xr-x 6 root root 4096 Jun 19 08:22 auto
-rw-r–r– 1 root root 207988 Jun 19 08:22 CHANGES
-rw-r–r– 1 root root 317085 Jun 19 08:22 CHANGES.ru
drwxr-xr-x 2 root root 4096 Jun 19 08:22 conf
-rwxr-xr-x 1 root root 2345 Jun 19 08:22 configure
drwxr-xr-x 3 root root 4096 Jun 19 08:22 contrib
drwxr-xr-x 2 root root 4096 Jun 19 08:22 html
-rw-r–r– 1 root root 1365 Jun 19 08:22 LICENSE
drwxr-xr-x 2 root root 4096 Jun 19 08:22 man
-rw-r–r– 1 root root 49 Jun 19 08:22 README
drwxr-xr-x 8 root root 4096 Jun 19 08:22 src
컴파일 옵션을 참조 (http://nginx.org/en/docs/install.html)
–with 옵션에 ssl, pcre, zlib 가 등장하므로. 이것들을 미리 설치해주자.
# yum install openssl openssl-devel
# yum install pcre pcre-devel
# yum install zlib zlib-devel
아래 *-path= 옵션들의 경로는 입력하지 않을 경우 nginx의 기본값이기도 하다.
# ./configure –-prefix=/usr/local/nginx \
> –-sbin-path=/usr/local/nginx/sbin/nginx \
> –-conf-path=/usr/local/nginx/conf/nginx.conf \
> -–pid-path=/usr/local/nginx/logs/nginx.pid \
> -–error-log-path=/usr/local/nginx/logs/error.log \
> -–http-log-path=/usr/local/nginx/logs/access.log \
> -–with-http_ssl_module
# make && make install
nginx 구동은
# sbin/nginx
별다른 메시지가 없다면 정상 구동이 된것이다.
브라우저에서 http://XXX.XXX.XXX.XXX 를 하면 썰렁한 “Welcome to nginx!” 가 보인다.
종료는 # sbin/nginx -s stop 혹은 # sbin/nginx -s quit
설정파일 등의 수정 후 재적용은 # sbin/nginx -s reload
로그파일을 다시 열려면 # sbin/nginx -s reopen
이제, tomcat과 nginx를 연동해보도록 하자.
정적 자원(html, js, css, image 등)은 기본적으로 nginx 를 이용하고,
동적 처리되는 부분에서는 tomcat를 사용하도록 하는 proxy 설정 방식이다.
# vi conf/nginx.conf
.
.
http {
.
.
.
upstream backend {
server localhost:8080
}
.
.
.
server {
listen 80;
server_name localhost;
.
.
.
location / {
root html;
index index.html index.htm;
}
.
.
.
location /servlet {
proxy_pass http://backend/servlet;
index index.jsp;
}
location /manager {
proxy_pass http://backend/manager;
index index.jsp;
}
}
.
.
.
}
저장하고 설정정보를 다시 적용..
# sbin/nginx -s reload
이 경우, http://localhost/servlet/ 으로 들어오는 요청을 http://localhost:8080/servlet/ 으로 가도록 한다.
자세한 설정은 http://nginx.org/en/docs/ 와 http://wiki.nginx.org/Configuration 를 참고할 수 있다.