ASP.NET 기초 강의실

시삽: 레드플러스 님 
게시판 이동:
 제목 : 23. 로컬에서 작업한 프로젝트 웹 사이트에 배포하기
글번호: 112
작성자: 레드플러스
작성일: 2004/10/21 오후 7:57:00
조회수: 10413
1. 로컬에서 작업한 ASP.NET 프로젝트를 원격으로 배포하기 : FTP 사용

지금부터,

로컬에서 작업한 ASP.NET 프로젝트를 원격으로 배포하는 방법을 알아보겠습니다.

예를들어, 로컬에서 Web이라는 이름으로 웹 애플리케이션을 만들고 빌드를 시키면 아래와 같이 파일이 생길것입니다.
물론, Web 폴더는 당연히 [가상디렉터리;웹공유]로 설정이 되어있겠죠...
웹 폼의 이름은 Default.aspx라고 제목을 붙여봤구요.

c:\inetpub\wwwroot\Web\Default.aspx
c:\inetpub\wwwroot\Web\Default.aspx.cs 또는 c:\inetpub\wwwroot\Web\Default.aspx.vb
c:\inetpub\wwwroot\Web\bin\Web.dll

위 3개의 파일을 서버에 올린 예를 아래와 같다고 하겠습니다.
물론, 여기서도 중요한 것은 원격 서버의 Web 폴더에 반드시 [가상디렉터리]가 설정이 되어있어야 한다는 것이지요...

http://www.dotnetkorea.com/Web/Default.aspx
http://www.dotnetkorea.com/Web/Default.aspx.cs 또는 http://www.dotnetkorea.com/Web/Default.aspx.vb
http://www.dotnetkorea.com/Web/bin/Web.dll

그랬을 경우, 실제 소스 파일이 들어있는 클래스 파일인 .cs파일(또는 .vb파일)은 올리지 않으셔도 됩니다.

Visual Studio .NET에서 빌드시킨 후 웹에 배포할 때에는
http://www.dotnetkorea.com/Web/Default.aspx.cs <- 올리지 않아도됨.(원본 소스를 숨길 수 있겠죠...)

즉, 원격 서버에는 아래와 같이 두개 파일만 올리면 됩니다.
.cs 또는 .vb파일은 본인 컴퓨터에만 두고 서버에는 웹폼(aspx)과 dll파일만 올리면 되는거지요.
참고로, 원격에 배포용으로 빌드시킬 경우에는 Debug 모드에서 Release 모드로 변경후 빌드시키면 성능 향상이 됩니다.

http://www.dotnetkorea.com/Web/Default.aspx
http://www.dotnetkorea.com/Web/bin/Web.dll

로컬에서 연습해보실때에는 프로젝트를 빌드하신후에 아래 파일을 다름이름으로 두고 실행시켜보세요.
잘 실행될 것입니다.

c:\inetpub\wwwroot\Web\Default.aspx.cs <- 한번 빌드하고나면 dll파일에 소스 내용이 컴파일해서 포함됨

ASP.NET이 기존 ASP3.0에 비해서 좋은 점 중의 하나가 원본소스를 숨길 수 있다는게 위와 같은 장점이 되겠습니다.


2. 원격에 올린 ASP.NET 프로젝트를 새롭게 편집 후 재 배포하기 : FTP로 관련 프로젝트 소스 전체를 다운로드

이번에는 반대로

원격에 올려서 운영하고 있는 사이트의 자료를 변경하고자 할때 필요한 내용에 대해서 살펴보겠습니다.

일반적으로 원격에 업로드된, *.aspx 페이지가 변경되는 경우(디자인 변경)에는 해당 페이지만 다운로드 후

디자인 변경후 해당 페이지만 재 업로드하면 됩니다.

하지만, *.cs 파일이 변경되는 경우에는 반드시 로컬 프로젝트로

*.cs 파일을 다운로드 받은 후(변경된 내용이 없다면 로컬 프로젝트의 소스 사용)

코드 비하인드 페이지(*.cs)를 수정합니다.

그러면, 해당 프로젝트(Web)를 빌드 후 반드시 bin/Web.dll 파일을 원격 서버로 올리셔야 합니다.

물론 이 경우에도 *.cs 파일도 올릴 필요는 없겠으나, 로컬 프로젝트 소스와 원격 프로젝트 소스를 동일화 시키면

나중에 소스 관리가 편한 관계로 같이 올리셔도 무관합니다.

정리해 보면,

아래 파일에 대한 수정이 이루어질 경우,

http://www.dotnetkorea.com/Web/Default.aspx
http://www.dotnetkorea.com/Web/Default.aspx.cs 또는 http://www.dotnetkorea.com/Web/Default.aspx.vb

http://www.dotnetkorea.com/Web/Default.aspx 파일을 수정하여야 할 경우는

http://www.dotnetkorea.com/Web/Default.aspx 파일만 다운로드 받아서 수정 후 재업로드 하면 되고,

http://www.dotnetkorea.com/Web/Default.aspx.cs 또는 http://www.dotnetkorea.com/Web/Default.aspx.vb 파일이 수정되어야 할 경우에는

http://www.dotnetkorea.com/Web/Default.aspx.cs 또는 http://www.dotnetkorea.com/Web/Default.aspx.vb 파일을 다운로드 받은 후 프로젝트를 재 빌드하여

http://www.dotnetkorea.com/Web/Default.aspx.cs 또는 http://www.dotnetkorea.com/Web/Default.aspx.vb

http://www.dotnetkorea.com/Web/bin/Web.dll를 같이 올리셔야 변경된 내용이 적용됩니다.


3. 로컬 프로젝트와 원격 프로젝트를 동일시 하고자 할 때 추천 방법

로컬 프로젝트에서 만든 프로젝트 소스를 다시 로컬 프로젝트에 설치하고자 할 때에는 전에 만들었었던 경로에서 사용하는게 가장 좋습니다.

A 서버에서 작업할 당시 프로젝트 소스 경로
c:\inetpub\wwwroot\Web\...

B 서버로 이동시 프로젝트 소스 경로(추천) : 이동후 Web 폴더를 반드시 localhost에 웹 공유(가상 디렉터리) 설정을 해주셔야 합니다.
c:\inetpub\wwwroot\Web\...

그리고, Web.sln 파일을 여시는 것 보다는 Web.csproj 또는 Web.vbproj 파일을 열고 솔루션 파일을 새롭게 저장하는게 좋을 듯 합니다.


아무쪼록, 여러분들의 ASP.NET 프로젝트 생성 및 배포 그리고 유지보수에 대한 내용에 도움이 되는 강좌였으면 합니다.

박용준(RedPlus)
http://www.dotnetkorea.com/







 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트


관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 24. 외부 컨트롤/컴포넌트 사용 - 레드플러스 2006-03-28 6313
현재글 23. 로컬에서 작업한 프로젝트 웹 사이트에 배포하기 - 레드플러스 2004-10-21 10413
  23.1. 로컬에서 작업한 웹 사이트가 원격에 올렸을 때에는 잘 안 된다면... - 레드플러스 2006-12-23 5661
  23.2. 하나의 IIS 웹 서버에 ASP.NET 1.1 또는 ASP.NET 2.0 ... - 레드플러스 2007-02-21 5471
  23.3. http://localhost/Web/를 http://www.a.com/로... - 레드플러스 2007-02-24 6001
  파일 순환참조는 허용되지 않습니다 에러 발생 해결방법 - 레드플러스 2008-07-24 6740
다음글 22. 종합 예제 : 한줄 메모장 - 레드플러스 2004-05-31 6972
 
손님 사용자 Anonymous (손님)
로그인 Home