티스토리 뷰


하이퍼 브이만으로도 내 머리는 과부하인데

이번엔 IIS다.(으악)


IIS란?

 : 웹서버다. http 웹서버.

나에게 서버란 아파치 톰캣밖에 없는줄 알았는데 

웃긴건 아파치가 웹서버고 톰캣은 WAS라는 것이다.(넘나모르는것)

- 웹서버(Apache, IIS등)는 웹을 돌리기 위한 서버이고, WAS는 eclipse를 돌리기 위한서버???(라고했었나 모르겠다)

  어쨋든 두개를 연동해서 사용하는데 웹서버가 이미지나 단순 html 파일을 돌리고, WAS는 데이터이동, 조작에 사용된다(고한다)



그래서 지금 프로젝트에서

사용자 UI 화면을 보면, 메뉴얼 다운받는 부분이 있는데

(뭔가 홈페이지 들어가면 PDF 리더파일 받으라고 하는 것 처럼 말이다)

그 부분을 눌렀을때 메뉴얼이 다운로드가 되는 기능을 구현하여야 한다.


그래서 지금 SpringFramework 기반이니까, Spring 에서 제공하는 파일다운로드 기능을 구현하려고 했다.

그런데 첨부파일 업로드/다운로드에 대한 소스는 많은데 몬가 나에겐 어려웠다(1도모르니까)


그래도 어떻게는 구현해내려고 온갖 난리를쳤는데 

엥. 스프링이 아니라 IIS로 하라고 하셨다.


IIS 는 HTTP웹서버로 다운받을 파일을 담는 폴더를 경로로 지정만 해주면 바로 다운이 가능하다고 한다.(세상에)

괜한뻘짓한것이다 하하.


어쨋든 서론이 넘길었고 IIS를 Tomcat 서버를 사용하는 스프링기반 JSP 프로젝트에(?) 연결하려면 

IIS와 Tomcat을 연동해야하는 것 같다.

(연동 안한채로 했을땐 다운로드 페이지가 안떴다. 확실히 안된다고 할정도로 아는건 아니다...)



1. Tomcat 설치

http://tomcat.apache.org/download-70.cgi

Tomcat을 받는다. 나는 7.0 버전으로 다운받았다.


톰켓 설정파일을 살펴보라고 했는데 난 멍청이라 설정파일?이랬음

Tomcat폴더 config에 server.xml이 설정파일임.


Tomcat은 8080 포트로 서비스한다고 한다. redirectionPort는 8443이라함


1
2
3
<connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
cs


isapi를 통해서 ajp 커넥터로 redirect 할것입니다.

8089 포트를 잘 기억하세요

1
2
<!-- Difine an AJP 1.3 Connect on port 8089 -->
<Connector port="8089" protocol="AJP/1.3" redirectPort="8443" />
cs


2. IIS 설치

Hyper-V에서 했던것과 마찬가지로

윈도우에서 "기능"이라고 검색하면 Windows 기능이 나옵니다


인터넷 정보서비스를 모두 체크해주는게 좋음

(블로그 설명에서는 JSP를 대상으로 redirection 할 것이라 

응용프로그램 개발 기능 아래에 있는 ISAPI 필터랑 ISAPI확장을 필히 체크하라고 하신다)





3. isapi_redirect-1.2.30.dll 을 다운받고  property 설정


IIS는 웹서버이고, jsp는 jsp컨테이너인 tomcat이 처리를 한다. 그래서 이미지, 간단한 html 파일 정도 작업하는 기능

첨부된 파일을 받아 tomcat안에 isapi라는 폴더를 하나 만들어서 넣어준다.

isapi_redirect-1.2.30.dll

- 매핑처리기라고 하여 IIS에서 Tomcat을 연동하는 모듈



property 설정하는 파일입니다.


isapi_redirect-1.2.30.properties

- 어떤 요청이 들어왔을 때 redirection 하는지 정의

안에 소스를 추가하고 자기 경로에 맞게 변경해야 합니다.

1
2
3
4
5
extension_uri=/jakarta/isapi_redirect-1.2.30.dll
log_file=E:/dev/apache-tomcat-7.0.69/logs/redirect.log
log_level=info
worker_file=E:/dev/apache-tomcat-7.0.69/conf/workers.properties
worker_mount_file=E:/dev/apache-tomcat-7.0.69/conf/uriworkermap.properties
cs


uriworkermap.properties

- worker.ajp13w.port=8089 항목이 server.xml의 ajp 포트와 동일해야 한다고합니다.

1
2
3
4
5
6
7
8
/*.do
/*.jsp=wlb
/*.gif=wlb
/*.jpg=wlb
/admin/*=wlb 
/manager/*=wlb 
/examples/*=wlb 
/jkmanager=jkstatus
cs


workers.properties

1
2
3
4
5
6
7
8
worker.list=wlb,jkstatus 
worker.ajp13w.type=ajp13 
worker.ajp13w.host=localhost 
worker.ajp13w.port=8089
 
worker.wlb.type=lb 
worker.wlb.balance_workers=ajp13w 
worker.jkstatus.type=status
cs


여기까지 설정끝났으면 IIS 셋팅을 하럭ㄱㄱ



4. IIS 매핑처리기 설정


윈도우 검색에 IIS(인터넷 정보 서비스) 하면 창이뜬다.




왼쪽에 Default Web site를 클릭하고 오른쪽 버튼을 눌러 가상디렉터리 추가를 선택




경로를 isapi.dll이 있는 Tomcat폴더 안의 isapi폴더로 지정하고, 

이름은 jakarta로 설정한다(위에서 property 파일에서 jakarta로 지정했기 때문)



그다음은 Jakarta홈에서 처리기 매핑을 클릭하고

ISAP-dill 파일을 클릭한 뒤 오른쪽 작업에서 기능사용권한 편집을 클릭하여 '실행'을 체크해주고 확인 누른답




그리고 마지막!

최상위 NODE를 클릭하여 'ISAPI 및 CGI제한' 클릭

(나는 이 아이콘이 나오지않아서 하루종일 삽질했다....왜때문에껏다키니잘되는거니)

그리고 경로를 아까 isapui안에 dll파일 있는 경로로 설정하고 이름을 tomcat이라고 설정한다.





그럼이제 Tomcat을 시작하고 , IIS를 구동하면 연동끝ㅎㅎㅎㅎㅎ

그러나,

이제 메뉴얼 다운로드 기능을 구현해야하는데

1도 안어렵다.(할땐종오오오온나어려웠지만)


<div><a href="http://localhost/20160523.xlsx" class="manual_down"><span>메뉴얼 다운로드</span></a></div>


메뉴얼다운로드 버튼이 존재하는 부분의 경로에 내가 다운받고 싶은 파일을 넣어놓고 경로만 설정해주면 끝...

넘 잘나오는것..







도움 http://arcsit.tistory.com/entry/%EC%97%B0%EB%8F%99Window-7-IIS-Tomcat-60-%EC%97%B0%EB%8F%99%ED%95%98%EA%B8%B0



댓글