본문 바로가기

Java Programming/Jsp

웹 서버 운영하기(TEST)

웹서버는 자기가 서비스 할 수 있는 문서를 관리하는 디렉토리가 있다. 그 디렉토리를 홈 디렉토리라고 한다.

톰캣의 홈 디렉토리는  apache-tomcat폴더의 webapps폴더 안에 ROOT폴더가 홈 디렉토리로 사용된다.

웨서버는 사용자가 문서달라는 요청이 오면 홈디렉토리에서 문서를 찾아 사용자에게 요청한 문서를 되돌려 준다. 

그럼 지금부터 테스트로 문서를 만들고 문서를 요청하여 페이지를 표시하여 보자.

 

1. 홈디렉토리(ROOT) 안에 Test.txt라는 문서를 만든다.(내용은 아무거나 적어주시면 된다.)

 

2. C:\apache-tomcat-7.0.42\bin 폴더 안에 startup.bat파일을 실행하여 웹서버를 작동시킨다.

 

3. 브라우저를 이용하여 URL주소창에 http://loacalhost:8080/test.txt를 입력하여 문서의 내용을 출력되는지 확인한다.

 

이것은 즉, 사용자는 문서를 달라고 웹서버에 요청을 하게 되고, 웹서버는 요청한 문서를 찾아 사용자에게 되돌려 줌으로써 사용자는 요청한 문서를 볼수 있다

 

URL주소창에 localhost 대신 자신의 IP를 사용할 수 있다.

자신의 IP주소를 확인하는 방법은 윈도우 메뉴를 클릭하여 실행에서 cmd를 입력하여 도스창으로 실행시킨다.

도스화면이 뜨면 ipconfig(자신의 IP주소 확인하는 명력어)를 입력하여 자신의 IP주소를 확인한다.

 

 

IP주소를 확인했으면 localhost 대신 자신의 IP주소를 입력하여 요청한 페이지가 똑같이 나오는걸 확인할 수 있다.

톰캣설치시 포트번호가 8080번으로 설정되 있는데 기본적으로 웹 서버 포트는 80번이기 때문에 그럼 포트번호를 설정해 보자.

포트 설정은 톰캣 설치 디렉토리 폴더의 conf폴더 안에 server.xml의 설정을 바꿔주면 된다.

server.xml을 메모장으로 열어 Connerctor port를 8080 -> 80 으로만 바꿔주면 된다.

 

    <Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

 

이렇게 설정을 바꿔주면 앞으로 요청된 문서는 모두 80포트로 요청되고 80포트는 웹서버 기본포트기 때문에 생략되어 사용된다.

그리고 웹서버는 사용자가 요청한 문서를 찾아 되돌려 주는데 문서가 없이 요청할때는 기본문서를 주게 설정되어있다.

그럼 기본문서를 설정해보자.

기본문서 설정은 톰캣 설치 디렉토리 폴더의 conf폴더 안에 web.xml의 설정을 바꿔주면 된다.

web.xml을 메모장으로 열어 welcom-file-list를 찾아 설정해주면 된다.

 

//기본문서 목록

<welcome-file-list>

        <welcome-file>Test.txt</welcome-file> //추가한 Test문서
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

 

이렇게 설정해 놓으면 요청한 문서를 순차적으로 찾다가 해당 문서를 찾으면 그 문서가 실행된다.

 

---------------------------------------------------------------------------------------------------------

 

<여러 사이트 운영시 웹서버 설정 방법>

웹서버는 하나의 사이트만 운영될뿐만 아니라 여러 사이트를 동시에 운영할 수 있다.

그러기 위해서는 URL주소에 호스트, 도메인(IP), 포트, context가 하나라도 다르다면 가능하다

*context : 추가적인 하위 목록

 

호스트랑 도메인이 하나밖에 없다고 가정하고 context를 이용하여 여러개의 사이트를 운영해 보자

 

context설정은 톰캣 설치 디렉토리 폴더의 conf폴더 안에 server.xml의 설정을 바꿔주면 된다.

server.xml을 메모장으로 열어 Host설정 부분을 찾는다.

 

호스트를 여러개 가지고 있을때는 밑에 설정한 Host를 추가해서 설정할수 있다.

 

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

  <Context path="/aa" docBase="C:\test/project1" /> //추가한 context

  <Context path="/bb" docBase="C:\test/project2" /> //추가한 context

  <Context path="/cc" docBase="C:\test/project3" /> //추가한 context

</Host>

 

위에서 보는거와 같이 context를 여러개 추가하기만 하면 여러개의 사이트를 만들수 있다.

Context에 설정을 보면 path와 docBase가 있는데,

docBase는 운영될 사이트의 홈디렉토리 주소이고, path는 URL에서 사용될 별칭으로 생각하면 된다.

aa사이트를 요청할때는 브라우저에 http://localhost//aa/test1.txt 라고 입력하면 aa의 test1.txt문서가 출력될 것이다.

 

---------------------------------------------------------------------------------------------------------

 

<내부접속>

 - localhost(내부접속)는 loopback주소로써 127.0.0.1로 맵핑되어 자신의 웹서버로 오는걸 말한

 

[참고] 일반적으로 웹 서버에서 localhost는 IP Address 127.0.0.1로 예약되어 있으며, 자신의 컴퓨터를 가리키는 가상 IP Address로써 실제 IP Address와 같은 동작을 합니다. 좀 더 쉽게 말하자면 http://localhost/는 localhost라는 도메인을 찾으러 외부 DNS 서버로 나가는 것이 아니라127.0.0.1이라는 IP 주소를 가리키고 있는 것이므로 곧 바로 자신의 컴퓨터를 찾아가는 것이다.

그에 반해 http://www,tourwing.com이라고 도메인을 사용하여 입력했을 때는 외부로 나갔다가 다시 찾아오는 과정을 거치므로 외부접속이라는 표현을 하게 된 것이다.

 

<외부접속>

1. 웹 브라우저는 웹 페이지를 보고자 요청한 현재 컴퓨터의 IP 주소와 주소 창에 입력된 www,tourwing.com이라는

    도메인을 갖고 자신의 컴퓨터 LAN 카드를 통해 인터넷 상에서 DNS 서버를 찾게 된다.

 

2. DNS 서버를 찾게 되면 그 서버에 구축되어 있는 데이터베이스에서 www,tourwing.com에 해당하는 IP주소를 얻고,

    그 곳에서 얻은 IP 주소로 해당하는 컴퓨터를 찾아 .

 

3. 찾아간 컴퓨터에 웹 서버가 설치되어 있으면http://www,tourwing.com이라고만 입력했으므로 홈 디렉터리에 있는

    디폴트 파일(index.html)을 찾아 웹 서버에서 HTML 언어로 해석하여 웹페이지를 만든다.

 

4. 만든 후 그 웹 페이지를 보고자 요청했던 컴퓨터로 다시 보내주면 웹 페이지를 받은 컴퓨터의 웹 브라우저가 보여주

    게 되는 것이다.

'Java Programming > Jsp' 카테고리의 다른 글

[JSTL] <c:forEach> 사용법  (0) 2014.03.05
브라우저(browser)의 캐쉬(cache) 삭제  (0) 2013.08.26
웹서버(톰캣) 구축하기  (2) 2013.07.27
Java SE JDK 설치 및 PATH 설정  (0) 2013.07.26
코드 블록 형식  (0) 2013.07.06