기술지원 문의

답변 정말 감사드립니다. 추가로..
김종현 / 2010-03-17 11:00

아래쪽에 답변 주신 내용 정말 감사합니다.

약간만 추가 설명을 부탁 드려도 될지 모르겠습니다

 

답변주신대로 하나의 서버에 1개의 IP주소를 이용하여 Port만 다르게 여러사이트를 운영하는 경우 입니다.

 

현재 801포트에서는 JSP가 정상적으로 연동되어 운영되는 상태이구요.

802 포트에서도 JSP가 연동되어 운영되야 하는 상황이 되었습니다.

 

답변주신 내용은 각각의 인스턴스를 설정해야 된다고 하셨는데요...

 

IIS 에서 wwwroot/scrips  폴더에 설정된 isapi_srun.dll 파일을...

wwwroot/scripts2 이런식으로 하나 더 생성해서 801포트는 wwwroot/scripts 폴더의 isapi_srun.dll파일을 연동하고, 802포트는 wwwroot/scripts2폴더의 isapi_srun.dll 파일을 연동하면 되는건가요?

 

Resin을 서비스로 등록하는 부분은 각각의 conf 파일을 써서 등록하는건 해봤습니다.

그부분은 설정할수 있을것 같은데요...

IIS 에서 설정을 어떻게 해야 할지 모르겠습니다.

 

만약 scripts와 scripts2를 설정해서 운영을 한다면...

resin의 conf 설정에서.. resin1.conf 파일과 resin2.conf 파일이 있다면...

801포트의 서비스가 resin1.conf와 어떻게 연결이 가능한건지요?

 

즉.. resin1.conf 파일이 scripts 부분과 연결되고 resin2.conf 파일이 scripts2 부분과 연결이 된다면... 그런 설정은 어떻게 해야 되는건가요?

 

서비스를 2개로 등록하는건 알겠는데 그 두개의 서비스를 등록해봐도 레진 서버가 iis 에서 받아오질 못하는거 같습니다. IIs 에서 801포트로 들어온 요청과 802포트로 들어온 요청이 구분이 되어 각각의 서비스로 전달이 되어야 할텐데...

 

이걸 어떻게 구분해서 각각의 서비스로 연결이 될지요?

 

가상호스트 기능을 이용하는것 같아 자료를 많이 찾아봤는데 대부분 네임기반으로 설명되어 있고, ip/port 기반으로 설정된 부분은 찾아볼수가 없네요..

 

1.1.1.1:801로 들어온것과 1.1.1.1:802 포트로 들어온 요청을 어떻게 나눠서 각각의 서비스에서 처리를 해야 할지를 좀 도와 주시면 정말 감사하겠습니다.

[답변]답변 정말 감사드립니다. 추가로..
관리자 / 2010-03-17 13:02

안녕하세요. 기술지원팀 입니다.

 

일단 IIS 연동 부분부터 말씀드리겠습니다.

 

IIS 에서 디폴트로 wwwroot/scripts 폴더에 isapi_srun.dll 파일이 setup.exe를 통하여

 

생성됩니다.

 

그 부분에서 resin.ini 라는 파일을 생성하셔서, 다음과 같이 jsp 파일 처리에 대한 설정을

 

수동으로 설정하시면 됩니다.

 

IIS 웹 서비스 포트가 801 이라고 하면 레진에서는 srun 프로토콜을 통하여

 

해당 6802 포토로 넘겨주도록 설정합니다.

 

(801 서비스) dll 파일 위치 : wwwroot/scripts/isapi_srun.dll
(801 서비스) resin.ini 위치 : wwwroot/scripts/resin.ini

 

= resin.ini =

ResinConfigServer localhost 6802CauchoStatus yesIISPriority high
또한 다른 서비스를 해야하는 IIS 802 포트에 대한 plugin 위치도 다른곳(wwwroot/scripts2)
으로 설정하고 isapi_srun.dll 파일도 복사하셔서 resin.ini 파일을 생성합니다.
(802 서비스) dll 파일 위치 : wwwroot/scripts2/isapi_srun.dll
(802 서비스) resin.ini 위치 : wwwroot/scripts2/resin.ini
= resin.ini ==
ResinConfigServer localhost 6803CauchoStatus yesIISPriority high
위 설정은 즉
801 포트에 대한 jsp 처리는 resin.ini 파일 정보를 참조하여 인스턴스1(6802 port)에서 처리하고
802 포트는 다른 위치의 resin.ini 파일 정보를 참조하여 인스턴스2 (6803 port)에서 별도로 처리하는 설정 입니다.
위와 같이 설정하신후 레진에서도 인스턴스 마다 srun 설정을 해주시기 바랍니다.
= resin1.conf =
<cluster>
   <srun id=\"a\" host=\"localhost\" port=\"6802\"/>
</cluster>
...
<host id=\"\" root-directory=\".\">   
  <web-app id=\"/\" document-directory=\"801서비스 Doc위치\"/>
</host>
 
= resin2.conf =
<cluster>
 
   <srun id=\"b\" host=\"localhost\" port=\"6803\"/>
 
</cluster>
 
...
<host id=\"\" root-directory=\".\">   
 
  <web-app id=\"/\" document-directory=\"802서비스 Doc위치\"/>
 
</host>
 
 
ps. host id에 아무것도 명시하지 않으면 기본적으로 IP로 인식합니다.(hosts 파일에 따라 다를수 있음)
     
위와 같이 srun 을 설정후
서비스명을 인스톨 합니다.
httpd.exe -install-as 인스턴스명1 -conf conf/resin1.conf -server a
httpd.exe -install-as 인스턴스명2 -conf conf/resin2.conf -server b
위와 같이 인스톨후에 서비스에서 해당 인스턴스 명을 start 하시고 테스트 하시면 됩니다.
많은 작업을 글로 표현하려니 설명이 길어졌네요.. 
쉽지 않은 작업이나 잘 설정 되시길 바라겠습니다.
감사합니다.