Web Server

WAS / Tomcat

Somaz 2022. 2. 11. 15:01
728x90
반응형

WAS(Web Application Server) Server

 

개요

 

Web Server

 

HTML, CSS(Cascade Style Sheet), javascript 등 정적인 데이터를 처리하는 웹 서버를 말한다.

Web Server로써 많이 사용하는 SW로는 Apache, IIS, Nginx 등이 있다.

 

Was Server

 

JSP, ASP(윈도우전용), PHP 등 사용자의 입력을 받아 서버에서 무언가를 처리하고 그 결과를 보여주는 동적인 데이터를 처리하는 웹서버를 말한다.

 

WAS로 많이 사용하는 소프트웨어로는 BEA사의 Web Logic, IBM사의 Web Sphere, T-max사의 Jeus, Tomcat, Redhot사의 JBoss 등이 있다.

 

WAS는 규모가 크고 엔터프라이즈 환경에 필요한 트랜잭션, 보안, 트래픽관리, DB커넥션 풀, 사용자 관리 등등의 다양하고 강력한 기능을 제공하는 S/W 를 의미한다.

 

 

1. 기본작업

 

 /etc/profile을 somaz로 백업

# cp /etc/profile /home/somaz

 

방화벽에 포트(8080,8443) 추가

# firewall-cmd --permanent --add-port=8080/tcp
# firewall-cmd --permanent --add-port=8443/tcp

# firewall-cmd --reload
# firewall-cmd --list-all

 

 

2. java 환경 구성 (open-jdk 1.8.0)

# cd /export/home/somaz
# yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
# ls -l /usr/bin/java
# java

# readlink
# readlink somaz
# readlink yum

# readlink -f /export/home/somaz
/home/somaz
        
# readlink -f /usr/bin/yum
/usr/bin/yum

# readlink -f /usr/bin/java
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el7_9.x86_64/jre/bin/java

# readlink /usr/bin/java
/etc/alternatives/java

# readlink -f /usr/bin/java
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el7_9.x86_64/jre/bin/java

여기서 간단하게 readlink에 대하여 설명을 해보자면, readlink는 심볼릭 파일의 경로를 읽습니다.

 

예를 들어, 바로가기 A가 실제로는 드라이브 C에 있는 1.txt를 가르켰다면,

바로가기 A를 readlink 하면 C 드라이브 안의 1.txt라는 정보를 리턴합니다.

역시나, 심볼릭이므로 또 읽어내서 어느 대상을 가리키는 지 읽어와야 합니다. 이런 식으로, 계속 읽다 보면, 언젠가는 실제 실행 파일의 경로가 나올 겁니다. 그런데, 이 경우는 겨우 3뎁스밖에 되지 않아서 다행인데요. 10뎁스, 20뎁스, 200뎁스라면 어떨까요? 계속 심볼링 링크의 경로를 찾아가면서 trace 할 수는 없는 노릇입니다.

 

이 때 -f 옵션을 붙이면 됩니다. recursively하게 들어간다. 라는 말에서 눈치를 채셨을지도 모르겠지만. 재귀적으로 계속 들어가서, 실제 파일의 경로를 찾습니다. 잠깐. 재귀는 종료 조건이 있어야 할 텐데요. 실행 조건은 심볼릭이면 계속 타고 들어가면 됩니다. 종료 조건은? 심볼릭이 아니면 나와버리면 됩니다.


3. 시스템 환경변수에 java 등록

# cd /home/somaz
# vi /etc/profile

:set nu

// 제일 마지막 줄에 넣기!
80 JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el7_9.x86_64
81 PATH=$PATH:$JAVA_HOME/bin
82 CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
83 export JAVA_HOME PATH CLASSPATH

:wq
# source /etc/profile

# javac -version
javac 1.8.0_302

 

4. 설정 후 테스트

 

# vi HelloWorld.java

	public class HelloWorld{
 		public static void main(String[] args){
			System.out.println("Have a nice day!!!");
		}
	}


:wq

# javac HelloWorld.java

# java -cp . HelloWorld
Have a nice day!!!

성공!!

 

 

 

5. Tomcat 설치 및 설정

 

# wget http://archive.apache.org/dist/tomcat/tomcat-8/v8.5.27/bin/apache-tomcat-8.5.27.tar.gz

 

# ls -l
합계 9328
-rw-r--r-- 1 root root     432  9월  6 14:39 HelloWorld.class
-rw-r--r-- 1 root root     116  9월  6 14:39 HelloWorld.java
-rw-r--r-- 1 root root 9536557  1월 19  2018 apache-tomcat-8.5.27.tar.gz
-rw-r--r-- 1 root root    1842  9월  6 14:36 profile

# tar zxvf apache-tomcat-8.5.27.tar.gz
# mv apache-tomcat-8.5.27 /usr/local/tomcat8
# cd /usr/local

# ls -l
합계 44
drwxr-xr-x. 2 root root 4096  4월 11  2018 bin
drwxr-xr-x. 2 root root 4096  4월 11  2018 etc
drwxr-xr-x. 2 root root 4096  4월 11  2018 games
drwxr-xr-x. 2 root root 4096  4월 11  2018 include
drwxr-xr-x. 2 root root 4096  4월 11  2018 lib
drwxr-xr-x. 2 root root 4096  4월 11  2018 lib64
drwxr-xr-x. 2 root root 4096  4월 11  2018 libexec
drwxr-xr-x. 2 root root 4096  4월 11  2018 sbin
drwxr-xr-x. 5 root root 4096  3월 26 21:26 share
drwxr-xr-x. 2 root root 4096  4월 11  2018 src
drwxr-xr-x  9 root root 4096  9월  6 14:46 tomcat8

 

6. 환경 변수 등록

 

# cd /usr/local/tomcat8/conf
# cp -p server.xml server.xml.somaz

# vi server.xml

     	69     <Connector port="8080" protocol="HTTP/1.1"
     	70                connectionTimeout="20000"
     	71                address="172.17.5.10"
     	72                redirectPort="8443" />

# vi /etc/profile

     	80 JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el7_9.x86_64
     	81 PATH=$PATH:$JAVA_HOME/bin
    	82 CATALINA_HOME=/usr/local/tomcat8
     	83 CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
     	84 export JAVA_HOME PATH CLASSPATH CATALINA_HOME

# source /etc/profile
# echo $CATALINA_HOME
/usr/local/tomcat8

 

 

 

 

7. 톰캣 실행

 

# /usr/local/tomcat8/bin/startup.sh
Using CATALINA_BASE:   /usr/local/tomcat8
Using CATALINA_HOME:   /usr/local/tomcat8
Using CATALINA_TMPDIR: /usr/local/tomcat8/temp
Using JRE_HOME:        /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el7_9.x86_64
Using CLASSPATH:      /usr/local/tomcat8/bin/bootstrap.jar:/usr/local/tomcat8/bin/tomcat-juli.jar
Tomcat started.

# ls -l /usr/local/tomcat8/bin/
합계 832
-rw-r-----. 1 root root  34942  1월 19  2018 bootstrap.jar
-rw-r-----. 1 root root   1664  1월 19  2018 catalina-tasks.xml
-rw-r-----. 1 root root  15815  1월 19  2018 catalina.bat
-rwxr-x---. 1 root root  23315  1월 19  2018 catalina.sh
-rw-r-----. 1 root root 207125  1월 19  2018 commons-daemon-native.tar.gz
-rw-r-----. 1 root root  25145  1월 19  2018 commons-daemon.jar
-rw-r-----. 1 root root   2040  1월 19  2018 configtest.bat
-rwxr-x---. 1 root root   1922  1월 19  2018 configtest.sh
-rwxr-x---. 1 root root   8509  1월 19  2018 daemon.sh
-rw-r-----. 1 root root   2091  1월 19  2018 digest.bat
-rwxr-x---. 1 root root   1965  1월 19  2018 digest.sh
-rw-r-----. 1 root root   3574  1월 19  2018 setclasspath.bat
-rwxr-x---. 1 root root   3680  1월 19  2018 setclasspath.sh
-rw-r-----. 1 root root   2020  1월 19  2018 shutdown.bat
-rwxr-x---. 1 root root   1902  1월 19  2018 shutdown.sh
-rw-r-----. 1 root root   2022  1월 19  2018 startup.bat
-rwxr-x---. 1 root root   1904  1월 19  2018 startup.sh
-rw-r-----. 1 root root  48602  1월 19  2018 tomcat-juli.jar
-rw-r-----. 1 root root 405109  1월 19  2018 tomcat-native.tar.gz
-rw-r-----. 1 root root   4574  1월 19  2018 tool-wrapper.bat
-rwxr-x---. 1 root root   5483  1월 19  2018 tool-wrapper.sh
-rw-r-----. 1 root root   2026  1월 19  2018 version.bat
-rwxr-x---. 1 root root   1908  1월 19  2018 version.sh

 

8. 톰캣 프로세스 확인

 

# ps -ef | grep tomcat
# netstat -ltn

 

9. Tomcat 실행 확인

 

# cd /home/somaz

# wget http://172.17.5.10:8080		// index.html 파일이 생긴다.

# ls -l
합계 9340
-rw-r--r-- 1 root root     432  9월  6 14:39 HelloWorld.class
-rw-r--r-- 1 root root     116  9월  6 14:39 HelloWorld.java
-rw-r--r-- 1 root root 9536557  1월 19  2018 apache-tomcat-8.5.27.tar.gz
-rw-r--r-- 1 root root   11230  9월  6 15:14 index.html
-rw-r--r-- 1 root root    1842  9월  6 14:36 profile

 

위에 처럼 파일이 생겨야하지만, 나는 에러가 떠버렷다..

연결이 거부되었다.

 

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

 

이 부분을 수정해준다.

 

# /usr/local/tomcat8/bin/startup.sh

 

재 실행 해준뒤 다시 했는데, 

 

--2022-02-14 16:22:49--  http://172.17.5.10:8080/
Connecting to 172.17.5.10:8080... failed: 연결이 거부됨.

 

이렇게 게속 에러가뜬다!!

 

로그 확인을 해보자..

 

# tail -f /usr/local/tomcat8/logs/catalina.out

 

# soure /etc/profile
# /usr/local/tomcat8/bin/startup.sh

 

로그 확인 후 재실행 하고 다시 확인해 보자.

 

아주 잘뜬다!! 결국 오타엿다..

 

다운로드가 잘된다.

 

출력 성공!!

 

 

728x90
반응형

'Web Server' 카테고리의 다른 글

Nginx  (0) 2022.02.09
Apache Web Server  (0) 2022.01.20