WAS

estar987·2023년 9월 18일

Monitoring

목록 보기
3/5

개요
1. WEB 서버와 WAS 서버의 차이

 ; Web Server
 - HTML, CSS, js, jpg 등 정적인 데이터를 처리하는 웹서버를 말한다.
 - Web Server로 많이 사용하는 소프트웨어로는 Apache, IIS, Nginx 등이 있다.
 - Apache, IIS와 같은 소프트웨어는 HTML/CGI나 기타 웹 문서들을 HTTP 
   규약에 따라 웹 클라이언트와 주고받으며 통신하는 것이 주 역할이다.

 ; WAS(Web Application Server) Server
 - JSP, ASP, PHP 등 사용자의 입력을 받아 서버에서 무언가를 처리하고 
   그 결과를 보여주는 동적인 데이터를 처리하는 웹서버를 말한다.
 - WAS로 많이 사용하는 소프트웨어로는 BEA사의 Web Logic, IBM사의 
   Web Sphere, T-max사의 Jeus, Tomcat, Redhot사의 JBoss 등이 있다.
  - WAS는 규모가 크고 엔터프라이즈 환경에 필요한 트랜잭션, 보안, 트래픽관리,
    DB커넥션 풀, 사용자 관리 등등의 다양하고 강력한 기능을 제공하는 S/W를
    의미한다.

 2. WAS 관련 용어 및 기타 특징

  ; 흐름(진행)
  - 사용자 요청(웹 브라우저) → 웹 서버 → WAS(동적 처리) → 웹 서버 → 
    사용자 응답 메시지(웹 브라우저)
  - WAS는 정적,동적 처리 둘다 가능하지만 정적처리를 WAS가 하게되면 부하가 
    많이 걸려서 좋지 않기 때문에 동적 처리를 한다.
  ; WAS, Web Server를 따로 두고 쓰는 이유
  - 성능때문으로 알고 있으나, 톰캣5.5 이상부터는 httpd의 native모듈을 
    사용해서 정적파일을 처리하는 기능을 제공하는데, 이것이 순수 아파치 
    Httpd만 사용하는 것과 비교해서 성능이 전혀 떨어지지 않는다고 한다.
  - 그럼에도 톰캣앞에 아파치를 두는 이유는 하나의 서버에서 php애플리케이션과
    java애플리케이션을 함께 사용하거나,  httpd 서버를 간단한 로드밸런싱을 
    위해서 사용해야 할 때 필요하기 때문이라고 한다.

  ; 아파치 웹서버와 아파치 톰켓의 차이
  - Apache Web Server는 일반적으로 말하는 '웹 서버'를 말한다.
  - Apache Tomcat는 'WAS 서버(WEB 서버 내장)'를 말한다.

  ; 언어별 웹 서버 구성
  - (JAVA) JSP, Servlet  → 아파치 톰켓 → WAS 서버 (WEB서버 내장)
  - (C,C++) PHP → RWAPM → WAS 서버 (WEB서버 내장)

 3. 기본 작업
 3.1 방화벽 포트 추가
   # mkdir /backup
   # cp -p /etc/profile /backup/
   # vi /etc/firewalld/zones/public.xml
   8080, 8443 포트 추가
   # firewall-cmd --reload
 3.2 Java 환경 구성
   # cd /export/home/samadal/
   # yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
   # ls -l /usr/bin/java

lrwxrwxrwx 1 root root 22 8월 22 16:25 /usr/bin/java -> /etc/alternatives/java

 3.3 시스템 환경 변수에 java 등록
   # readlink -f /usr/bin/java
   /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64/jre/bin/java
   → 원본 파일의 절대경로(완전한 경로)를 가져온다 

 3.4 테스트
   # ls -l /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64/
   # vi /etc/profile
 79JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64/
 80 PATH=$PATH:$JAVA_HOME
 81 CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
   # source /etc/profile
   # echo $JAVA_HOME
   # echo $PATH
   # echo $CLASSPATH
 # vi Hello.java
 # cat Hello.java

 public class Hello {
         public static void main(String[] args) {
                 System.out.println("Hello");
         }
 }

 # javac Hello.java
 # java -cp . Hello

 3.5 Tomcat 설치
 # wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.27/bin/apache-tomcat-8.5.27.tar.gz
 # tar xvzf apache-tomcat-8.5.27.tar.gz
 # ls -l
 # ls -l /usr/local/
 # mv apache-tomcat-8.5.27 /usr/local/tomcat8
 # ls -l /usr/local/


3.6 시스템 환경 변수에 Tomcat 등록

   # vi /usr/local/tomcat8/conf/server.xml

   # vi /etc/profile
 79 JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64/
 80 CATALINA_HOME=/usr/local/tomcat8
 81 CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
 82 PATH=$PATH:$JAVA_HOME/bin:/bin:/sbin
 83 export JAVA_HOME PATH CLASSPATH CATALINA_HOME
   # source /etc/profile
   # echo $JAVA_HOME
   # echo $PATH
   # echo $CLASSPATH
   # echo $CATALINA_HOME

 3.7 톰캣 실행 
   # /usr/local/tomcat8/bin/startup.sh
   톰캣 종료
   # /usr/local/tomcat8/bin/shutdown.sh

   # ps -ef | grep tomcat8



3.8 톰캣 테스트
3.9 Systemctl에 Tomcat 등록

3.10 Tomcat Manager 설정
3.11 Tomcat 실행 / 종료
3.12 웹 브라우저 접속

profile
System / Cloud / DevOps Engineer

0개의 댓글