퍼펫 : 아파치 가상 호스트 관리


9

일반적으로 구성 관리를 통해 방법을 배우고 꼭두각시 를 사용 하여 구현합니다. 나는 이미 일반적인 연구 ( SF에서도 )를 수행했으며 현재 Apache VirtualHosts를 고려하고 있습니다.

우리는 많은 호스트 램프 : 두 시스템 (수백 범위에서 현재의) 웹 사이트를 아파치 / mod_php이 하나와 의 MySQL 의 기본적으로 반대 - 하나 이미 SF에 대한 또 다른 질문 (만약 그가 몇 가지 가상 호스트 각각 서버의 많은 관리 실제로 하나, 나는 모른다). 아직 꼭두각시에서 작동하는 구성을 만들지 않았지만 문제가되지 않아야합니다. 많은 예제 와 조리법이 있습니다.

명백한 아파치 구성 파일 (여기서는 문제 없음) 외에도 모든 호스트는 일부 디렉토리를 생성하고 권한을 확인해야합니다 (예 : documentroot, 전용 tmp 디렉토리, 전용 디렉토리를 포함하는 각 호스트의 루트 디렉토리) 웹 서버의 PHP 세션 파일 디렉토리, SSL 인증서 등) 및 MySQL 서버의 사용자 + 하나 이상의 데이터베이스.

새로운 가상 호스트를 추가하려면 꼭두각시를 생성하여 꼭두각시를 생성해야합니다.이 중 하나를 제거하려면 꼭두각시가 사용자 데이터를 백업하고 두 서버에서 라이브 데이터를 제거하는 스크립트를 실행해야합니다. 디렉토리, db, 권한 등

모든 꼭두각시 실행, 특히 파일 시스템 (웹 서버에서) 및 특히 미래에 시스템이 더 많이로드 될 때마다 모든 검사가 실행되는 수백 개의 가상 호스트로 갈 때 문제가 있습니까? (1000 ~ 2000 개의 웹 사이트 범위를 서버 당 합리적인 최대 값으로 타겟팅한다고 가정하겠습니다).

인터넷에서 그 일을 한 경험이 있습니까? 나는 "꼭두각시"와 "아파치"를 검색 할 때 신호 / 잡음 비율 이 낮기 때문에 구글 검색을했지만 아무것도 발견하지 못했습니다 ...

답변:


4

나는 많은 아파치 가상 호스트를 관리하는 것이 문제가되지 않을 것이라고 생각하지만 확실하게 말할 수는 없습니다. 허용 가능한 성능은 비즈니스 요구에 따라 정의됩니다. 충분히 빠른지 결정할 수 있습니다. 다음은 CPU로드 감소에 대한 적절한 스레드입니다. https://groups.google.com/forum/?fromgroups#!topic/puppet-users/sxtMvCnKnys[1-25]

스레드를 요약하려면 다음을 수행하십시오.

  • 퍼펫 에이전트 실행 사이의 지연을 증가시킵니다
  • 퍼펫을 예약하지 않고 퍼펫 킥 또는 mcollective 만 사용하여 실행을 트리거합니다.
  • Apache 변경 사항이 특정 시간에만 발생하도록 스케줄하십시오.
  • 두 가지 환경 (유지 관리 및 프로덕션)을 사용하여 사물을 관리합니다. 생산량을 가볍게 유지하고 유지 보수를 통해 변경하십시오.

다음은 PuppetLabs 웹 사이트에서 Apache 가상 호스트를 관리하는 예입니다. http://docs.puppetlabs.com/learning/definedtypes.html#an-example-apache-vhosts

구성 설정 및 제거는 문제가되지 않습니다. 가장 큰 문제는 웹 응용 프로그램 / 사이트의 데이터 파일을 제거하는 것입니다. 이를 위해 NFS / AFS와 같은 공유 스토리지를 권장합니다. 공유 스토리지를 사용하지 않는 경우 사용자 생성 데이터가 그대로 유지, 백업 또는 새 서버로 마이그레이션되었는지 확인하십시오.

웹 호스팅 회사와 같은 대량 호스팅 환경에 있다고 생각되므로 사이트 개별 사이트 이름을 꼭두각시 매니페스트로 인코딩하지 않는 것이 좋습니다. 이를 위해 Hiera < http://puppetlabs.com/blog/first-look-installing-and-using-hiera/를 사용하는 것이 좋습니다 . Hiera를 사용하면 별도의 방법으로 가상 호스트 목록을 실제 서버 매핑에 저장할 수 있습니다. 플랫 파일 또는 Hiera와 함께 데이터베이스를 사용할 수 있습니다. 안타깝게도, 필요한 다중 레벨 Hiera 데이터 구조를 설정하는 방법을 안내 할만큼 충분히 Hiera를 모르지만 적어도 Hiera의 일반적인 방향을 알려줄 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.