티스토리 뷰



"ASP.NET기반으로 웹 사이트를 구축하는 4가지 방법"중의 하나로 ASP.NET 웹 페이지 개발 맛보기를 다룰까 합니다. ASP.NET 기반의 개발 방법 중에서 가장 단순한 구조를 가지고 있고 PHP, ASP, JSP와 같은 스크립팅 언어를 이용하는 전통적인 웹 개발 방법과 유사하기 때문에 기존 개발 방법에 익숙해 있고 시스템 구조의 단순함을 원하는 사람이라면 "ASP.NET 웹 페이지" 개발 방법을 적용할 필요가 있습니다.

ASP.NET 웹 페이지 개발을 위한 환경으로 .NET 프레임워크를 비롯하여 ASP.NET 코드를 작성하기 위한 편집기, 웹서버, 데이터베이스, 사이트 적용을 위한 도구등을 들수 있는데 이러한 환경을 손쉽게 구축할 수 있는 도구로 마이크로스프트에서는 웹매트릭스(WebMatrix)라는 프로그램을 무료로 제공하고 있습니다. 웹매트릭스의 설치에 대해서는 "무료 웹 개발도구 웹매트릭스 설치하기 - WebMatrix3"를 참조하세요. 웹매트릭스는 윈도우 개발자들의 통합 개발 환경(IDE)인 비주얼스튜디오와 같은 통합 개발 환경이기는 하지만 웹 개발에 초점이 맞추어진 좀더 가벼운 개발 환경이라 할 수 있습니다. 위의 그림과 같이 "새로 만들기>템플릿 갤러리"를 선택합니다.

"빈 사이트" 템플릿을 선택하고 사이트 이름을 적절하게 입력합니다. 입력한 사이트 이름으로 폴더가 생성되고 서버 업로드도 이루어 지므로 도메인 이름을 입력한다고 생각하면서 영문으로 사이트 이름을 정하면 됩니다.

템플릿의 이름이 빈 사이트이기는 하지만 위의 그림처럼 사이트 생성과 동시에 사이트 가동에 필요한 파일들을 자동으로 만들어주기 때문에 편리하게 개발을 시작할 수 있습니다.

생성된 사이트의 파일 시스템 내 실제 위치는 웹매트릭스 첫 화면에서 "옵션"을 클릭하여 위의 그림처럼 "사이트" 메뉴에서 지정한 "기본 사이트 위치"에서 설정한 디렉토리에 사이트 이름으로 생성된 폴더에 위치합니다. 이 곳의 파일들을 서버에 파일 전송하거나 적용하면 웹서비스를 시작할 수 있습니다.

C# 기반의 레이저 코드를 작성할 수 있는 Default.cshtml를 더블클릭해서 편집창에 띄운후 @{ ... } 블럭에는 레이저 코드("ASP.NET C# 레이저(Razor) 문법 정리" 참조)를 작성합니다. 레이저 코드를 작성하다 보면 위의 그림과 같이 비주얼스튜디오에서 오브젝트의 속성이나 메소드를 자동 추천해주는 기능을 웹 매트릭스에서도 사용할 수 있습니다. 레이저 코드 블럭 바깥인 HTML 영역에서는 HTML 태그를 입력하면 예를 들어 <h1> 태그를 입력하면 태그 블럭의 끝을 나타내는 </h1>을 자동으로 붙여주는 편리한 기능도 제공합니다. 레이저 코드와 HTML을 통해서 웹페이지를 적절하게 작성합니다.

페이지 내용을 적절하게 입력했으면 "Default.cshtml"의 컨텍스트 메뉴>브라우저에서 시작을 선택합니다. 그러면 위의 그림처럼 웹브라우저에서 해당 페이지를 테스트 할 수 있습니다. 이때 가동되는 웹서버는 웹매트릭스가 가지고 있는 "IIS Express"로 테스트가 끝난 사이트는 서비스 가동중인 웹서버의 문서 폴더로 사이트 내용을 업로드하면 바로 서비스를 제공할 수 있습니다. 그림에서 서버 주소가 "localhost:62044"로 되어 있는데 62044포트는 "IIS Express"가 개발 테스트를 지원하기 위해서 임의로 서비스하는 포트번호 입니다.


특정 컴퓨터를 웹서버로 사용해서 제작한 사이트를 서비스하기 위해서는 IIS(인터넷 정보 서비스) 서버를 가동시켜야 하는데 "제어판>관리도구>IIS(인터넷 정보 서비스) 관리자" 메뉴를 통해서 관리할 수 있습니다. IIS 관리자에서 사이트추가를 선택하고 위와 같이 적절한 정보를 입력합니다. "실제 경로" 항목에 앞서 개발한 코드들이 담겨진 폴더를 설정하고 "응용 프로그램 풀" 항목에는 [선택] 버튼을 통해서 ASP.NET 풀을 선택해야 합니다. 

IIS를 처음 가동시키는 경우 다양한 원인 때문에 사이트를 추가하고 [시작]을 지시해도 정상적으로 서비스가 시작되지 않을수 있다는 것입니다. IIS의 정상적인 가동을 위해서는 Windows Process Activation Service(WAS)와 World Wide Web Publishing Service(W3SVC)가 가동중이어야 하는데 서비스가 가동중이지 않다면 위의 그림과 같이 "제어판>관리도구>서비스"에서 해당 서비스를 가동시켜주어야 합니다. 

World Wide Web Publishing Service(W3SVC)의 경우에는 아예 시스템에 서비스가 설치되어 있지 않은 경우도 있는데 미설치 상태라면 "제어판>프로그램 및 기능>Windows 기능 사용/사용 안 함" 메뉴에서 위의 그림과 같이 "인터넷 정보 서비스" 관련 모듈을 사용하도록 설정하면 간편하게 설치할 수 있습니다. 

끝으로 ASP.NET의 정상적인 동작을 위해서는 ASP.NET을 IIS에 등록해주는 작업이 필요한데 위의 그림과 같이 닷넷 프레임워크 폴더(%windir%\Microsoft.NET)에 존재하는 aspnet_regiis.exe를 통해서 ASP.NET을 IIS등록해 주어야 정상적으로 서비스 할 수 있습니다.

위의 그림은 ASP.NET 웹페이지 코드를 IIS를 통해서 가동시킨 결과입니다. ISS Express와 달리 정식 WWW(80) 포트로 서비스를 수행시켰습니다.


댓글
댓글쓰기 폼