웹 서버 및 워크 플로

테스트 서버, 개발 서버, 스테이징 서버 및 프로덕션 서버

많은 사람들과 페이지를 관리하는 대규모 사이트에서 작업하면서 웹 디자인 종이 프로토 타입에서 인터넷에 게시 된 실제 페이지에 이르기까지 다양한 워크 플로를 접하게 될 것입니다. 복잡한 사이트의 워크 플로에는 여러 개의 별도 웹 서버와 서버 위치가 포함될 수 있습니다. 그리고이 서버들 각각은 다른 목적을 가지고 있습니다. 이 기사에서는 복잡한 웹 사이트에있는 일반적인 서버 중 일부와 그 사용 방법에 대해 설명합니다.

프로덕션 웹 서버

이것은 대부분의 웹 디자이너가 잘 알고있는 웹 서버 유형입니다. 프로덕션 서버는 프로덕션 준비가 된 웹 페이지 와 콘텐트를 호스트하는 웹 서버입니다. 즉, 프로덕션 웹 서버의 컨텐츠가 인터넷에 게시되거나 인터넷으로 전달 될 준비가되었습니다.

소규모 회사의 경우 프로덕션 서버는 모든 웹 페이지가있는 곳입니다. 디자이너와 개발자는 로컬 컴퓨터 또는 라이브 서버의 숨겨진 또는 암호로 보호 된 영역에서 페이지를 테스트합니다. 페이지가 생방송 할 준비가되면 로컬 하드 드라이브의 FTP 또는 숨겨진 디렉터리에서 라이브 디렉터리로 파일을 이동하여 프로덕션 서버의 해당 위치로 이동됩니다.

워크 플로우는 다음과 같습니다.

  1. 디자이너 가 로컬 컴퓨터에 사이트를 빌드합니다.
  2. 디자이너가 로컬 컴퓨터에서 사이트를 테스트합니다.
  3. 디자이너가 더 많은 테스트를 위해 프로덕션 서버의 숨겨진 디렉터리에 사이트를 업로드합니다.
  4. 승인 된 디자인은 웹 사이트의 실제 (비 숨김) 영역으로 이동합니다.

소규모 사이트의 경우 이는 매우 적합한 워크 플로입니다. 사실, 작은 사이트가 index2.html과 같은 이름의 파일과 / new와 같은 이름의 내부 디렉토리를 보면 무엇인지 알 수 있습니다. 검색 엔진에서 찾을 수있는 비 암호로 보호 된 영역을 기억하는 한 프로덕션 서버에 업데이트를 게시하면 추가 서버없이 실제 환경에서 새 디자인을 테스트 할 수 있습니다.

테스트 서버 또는 QA 서버

테스트 서버는 고객 (및 경쟁 업체)이 볼 수없는 웹 서버의 새로운 페이지 및 디자인을 테스트 할 수있는 방법을 제공하기 때문에 웹 사이트 워크 플로에 유용한 추가 기능입니다. 테스트 서버는 실제 사이트와 동일하게 설정되며 일반적으로 변경 내용이 기록되도록 버전 제어를 설정합니다. 대부분의 테스트 서버는 직원 만 볼 수 있도록 회사 방화벽 뒤에 설치됩니다. 그러나 방화벽 외부에서 암호 보호 기능 을 사용 하여 설정할 수도 있습니다.

테스트 서버는 많은 동적 컨텐트, 프로그래밍 또는 CGI를 사용하는 사이트에 매우 유용합니다. 이는 로컬 컴퓨터에 서버와 데이터베이스가 설정되어 있지 않으면 오프라인으로 이러한 페이지를 테스트하기가 어렵 기 때문입니다. 테스트 서버를 사용하면 변경 내용을 사이트에 게시 한 다음 프로그램, 스크립트 또는 데이터베이스 가 의도 한대로 작동하는지 확인할 수 있습니다.

테스트 서버가있는 회사는 일반적으로 다음과 같이 워크 플로에 추가합니다.

  1. Desginer는 사이트를 로컬로 구축하고 위에서와 같이 로컬에서 테스트합니다.
  2. 디자이너 또는 개발자가 테스트 서버에 변경 사항을 업로드하여 동적 요소 (PHP 또는 기타 서버 측 스크립트, CGI 및 Ajax)를 테스트합니다.
  3. 승인 된 디자인은 프로덕션 서버로 이동합니다.

개발 서버

개발 서버는 복잡한 전자 상거래 사이트 및 웹 응용 프로그램과 같이 대규모 개발 구성 요소가있는 사이트에 매우 유용합니다. 개발 서버는 웹 개발 팀이 웹 사이트의 백엔드 프로그래밍을 위해 사용합니다. 그들은 거의 항상 여러 팀 구성원이 사용할 수있는 버전 또는 소스 코드 제어 시스템을 가지고 있으며 새 스크립트 및 프로그램을 테스트하기위한 서버 환경을 제공합니다.

대부분의 개발자가 서버에서 직접 작업하기 때문에 개발 서버는 테스트 서버와 다릅니다. 이 서버의 목적은 일반적으로 프로그램에서 새로운 것을 시도하는 것입니다. 테스트는 개발 서버에서 발생하지만 특정 조건에 맞춰 코드를 테스트하지 않고 코드 작업을 수행하기위한 것입니다. 이를 통해 개발자는 웹 사이트가 어떻게 보일지 걱정하지 않고 웹 사이트의 견해와 걱정을 걱정할 수 있습니다.

회사에 개발 서버가있는 경우 디자인 및 개발 작업을 담당하는 팀이 따로 있습니다. 이 경우 테스트 서버는 디자인이 개발 된 스크립트와 만나는 곳이므로 더욱 중요 해집니다. 개발 서버의 워크 플로는 일반적으로 다음과 같습니다.

  1. 디자이너는 로컬 컴퓨터에서 디자인 작업을 수행합니다.
    1. 동시에 개발자는 개발 서버의 스크립트 및 프로그램 작업을 수행합니다.
  2. 테스트를 위해 테스트 서버에 코드와 디자인이 병합됩니다.
  3. 승인 된 디자인 및 코드는 프로덕션 서버로 이동합니다.

콘텐츠 서버

많은 콘텐츠가있는 사이트의 경우 콘텐츠 관리 시스템 이있는 다른 서버가있을 수 있습니다. 이를 통해 콘텐츠 개발자는 디자인이나 프로그램의 영향을받지 않고 콘텐츠를 추가 할 수 있습니다. 콘텐츠 서버는 작성자 및 그래픽 아티스트를 제외하고 개발 서버와 매우 유사합니다.

스테이징 서버

스테이징 서버는 프로덕션에 들어가기 전에 웹 사이트의 마지막 중지 지점이되는 경우가 많습니다. 준비 서버는 최대한 프로덕션 환경에 맞게 설계되었습니다. 따라서 하드웨어 및 소프트웨어는 준비 및 프로덕션 웹 서버용으로 대개 미러링됩니다. 많은 회사가 테스트 서버를 스테이징 서버로 사용하지만 사이트가 매우 복잡하면 스테이징 서버를 통해 설계자와 개발자는 제안 된 변경 사항이 설계대로 작동하고 사이트 전반에 부정적인 영향을 미치지 않는지 확인할 수 있습니다. 혼란을 야기하는 테스트 서버에서 다른 테스트를 수행하지 않아도됩니다.

스테이징 서버는 종종 웹 사이트 변경에 대한 "대기 기간"의 한 형태로 사용됩니다. 일부 회사에서는 준비 서버가 자동으로 게시 된 새로운 콘텐츠를 배포하는 반면 다른 회사는 관리, 마케팅 및 영향을받는 그룹과 같은 웹 팀 외부의 사람들을위한 최종 테스트 및 승인 영역으로 서버를 사용합니다. 스테이징 서버는 일반적으로 다음과 같이 워크 플로에 배치됩니다.

  1. 디자이너는 로컬 컴퓨터 또는 테스트 서버에서 디자인 작업을 수행합니다.
    1. 콘텐츠 작성자가 CMS에서 콘텐츠를 만듭니다.
    2. 개발자 는 개발 서버에 코드작성 합니다.
  2. 디자인 및 코드는 테스트를 위해 테스트 서버에 통합됩니다 (때로는 여기에 내용이 포함되지만 디자인 워크 플로 외부의 CMS에서 유효성이 확인되는 경우가 있음)
  3. 콘텐츠가 준비 서버의 디자인 및 코드에 추가됩니다.
  4. 최종 승인이 수신되고 전체 사이트가 프로덕션 서버로 푸시됩니다.

회사의 워크 플로가 다를 수 있음

한 가지 사실은 한 회사의 워크 플로가 다른 회사의 워크 플로와 완전히 다를 수 있다는 것입니다. Emacs와 vi를 사용하여 프로덕션 서버에서 HTML을 직접 작성하는 웹 사이트를 구축했으며 작업중인 페이지의 작은 부분에 액세스 할 수 없었던 웹 사이트를 구축했으며 CMS 내부에서 모든 작업을 수행했습니다. 다양한 서버의 목적을 이해함으로써 설계 및 개발 작업을보다 효과적으로 수행 할 수 있습니다.