>  기사  >  백엔드 개발  >  apache2.2 가상 호스트 구성

apache2.2 가상 호스트 구성

WBOY
WBOY원래의
2016-08-08 09:24:281208검색

1. httpd.conf 수정

appserv 설치 디렉터리를 열고 httpd.conf 파일을 찾아 다음 두 줄 텍스트 앞에 있는 # 기호를 제거합니다.

[일반] 보기 일반 사본

  1. #LoadModule vhost_alias_module module/mod_vhost_alias.so 가상 호스트 기능입니다.
[일반] 보기 일반 사본

#Include conf/extra/httpd-vhosts.conf

  1. 이 줄을 삭제하세요 #은 conf/extra/httpd-vhosts.conf 파일에서 가상 호스트 구성을 가져오는 것을 의미합니다
  2. 2. httpd-vhosts.conf를 수정합니다
파일을 열고 다음 유사한 콘텐츠. 가상 호스트의 구성도 다음 내용에 따라 구성됩니다. 내용은 아래와 같습니다

[일반] 보기 일반 사본

NameVirtualHost *:80

  1. ;VirtualHost *:80> 🎜> ServerAdmin webmaster@dummy-host.www.phpStudy.net
  2. DocumentRoot "C:/Program Files/ Apache2/docs/dummy-host.www.phpStudy.net "
  3. ServerName dummy-host.www.phpStudy.net
  4. ServerAlias ​​​​www .dummy-host.www.phpStudy.net
  5. ErrorLog "logs/dummy-host.www.phpStudy.net-error.log"
  6. CustomLog "logs/dummy-host.www .phpStudy.net-access.log" 공통
  7. NameVirtualHost *:80
  8. 참고 1: NameVirtualHost는 가상 호스트가 사용하는 IP 주소나 도메인 이름을 지정하지만 IP 주소를 사용하는 것이 가장 좋습니다. NameVirtualHost는 도메인 이름 기반 가상 호스트를 사용할 때 필요한 지시어입니다. 여러 NameVirtualHost를 정의할 수 있습니다.
  9. 참고 2: NameVirtualHost 또는 태그 정의와 일치하는 모든 요청은 가상 호스트로 처리되며 기본 서버는 이를 무시합니다. NameVirtualHost가 정의되어 있지만 태그가 정의되지 않은 요청의 경우 서버는 해당 가상 호스트를 찾을 수 없으며 이를 처리할 수 없습니다. 따라서 NameVirtualHost에 의해 정의된 각 매개변수는 적어도 하나의 와 일치해야 합니다. 참고 3: NameVirtualHost 또는 를 *:80으로 설정하면 포트 80에 대한 모든 요청은 가상 호스트에 의해 처리되며 요청은 도메인 이름을 기반으로 특정 가상 호스트로 전달됩니다. 포트 80에서 요청이 있고 요청된 도메인 이름이 가상 호스트로 구성되지 않은 경우 첫 번째 가상 호스트를 가리킵니다. 이렇게 하면 기본 서버가 포트 80에서 어떤 요청도 수신할 수 없습니다. 이 목적을 위해서는 주 서버에 대한 가상 호스트도 구성되어야 합니다.
  10. ServerAdmin 관리자 이메일
  11. DocumentRoot 웹사이트 디렉터리(참고: 웹사이트 디렉터리의 경로에 공백이 있는 경우 경로 양쪽 끝에 큰따옴표를 추가하세요.)
  12. ServerName bebound 지정된 도메인 이름(필수)
ServerAlias ​​​​바인딩할 가상 호스트의 별칭입니다. (선택 사항, 도메인 이름이 여러 개인 경우 공백으로 구분합니다. 그렇지 않은 경우 줄을 제거합니다.) 는 *.abc.com과 같이 * 및 ? 두 개의 와일드카드를 지원하며 이는 abc.com을 나타냅니다. -레벨 도메인 이름에 액세스할 수 있습니다.


CustomLog 사용자 로그 파일(선택 사항, 필요하지 않은 경우 이 줄 제거)

ErrorLog 오류 로그(선택 사항, 필요하지 않은 경우 이 줄 제거)

IP 주소 기반 가상 호스트

[일반] 보기 일반 사본


🎜>

서버 이름 www.example.com

  1. [일반] 보기 일반 사본
    1. 🎜> 서버 이름 www.example.org
    2. 각 가상 호스트 정의 가능 다중 IP, 공백으로 구분
    3. 다양한 가상 호스트 혼합 사용
    [일반] 보기 일반 사본

    듣기 80

    1. 듣기 81 🎜>NameVirtualHost 172.20 .30.40
    2. 🎜>
    3. DocumentRoot /www/example1
    4. 서버 이름 www.example.com
    5. DocumentRoot /www/example2
    6. ServerName www.example.org
    7. NameVirtualHost 172.20.30.40:81
    8. 🎜>
    9. DocumentRoot /www/example3
    10. ServerName www.example3.net
    11. >
    12. # IP 기반
    13. 🎜> DocumentRoot /www/example4
    14. ServerName www.example4.edu
    15. >
    16. 루트 / www/example5
    17. ServerName www.example5.gov
    18. 혼합 가상 호스트 사용 시 문제
    19. 1. 혼합 가상 호스트는 다음과 같이 이해될 수 있습니다. NameVirtualHost 지시어 라인으로 정의된 모든 가상 호스트는 그룹입니다. 이 그룹은 IP 기반 가상 호스트와 동일한 수준에 있습니다. 즉, NameVirtualHost 행으로 정의된 그룹 전체를 IP 기반의 가상 호스트로 간주한다.
    20. 2. 가상호스트에서 지정한 포트는 Listen으로 정의해야 합니다. 가상 호스트가 포트를 지정하지 않으면 포트 80으로 간주됩니다. NameVirtualHost *가 이렇게 정의된 경우 모든 주소에 대해 정의된 모든 포트를 참조합니다. 3. 보다 구체적인 주소 정의가 선호됩니다. 예를 들어 NameVirtualHost 지시문은 *:80을 정의하고, IP ​​기반 가상 호스트는 192.168.0.1:80으로 정의됩니다. 이때 192.168.0.1:80에 대한 요청이 있으면 해당 요청은 192.168로 전달됩니다. 0.1:80 먼저 정의된 가상 호스트입니다. 따라서 혼동을 피하기 위해 서로 겹치거나 포함하는 주소 범위를 정의하지 마십시오. 4. 가상 호스트는 도메인 이름 기반과 IP 기반이 모두 가능합니다. 이전 예의 마지막 가상 호스트와 같습니다. 이러한 방식으로 두 정의를 모두 충족하는 요청은 동일한 가상 호스트로 전달됩니다. 내부 네트워크의 요청은 외부 네트워크의 요청과 다를 수 있지만 동일한 가상 호스트를 가리켜야 하기 때문에 가상 호스트에 대한 내부 및 외부 네트워크 액세스를 구별할 때 때때로 이 작업을 수행할 수 있습니다.
    21. "_default_" 가상 호스트 사용이 가상 호스트는 IP 기반 가상 호스트로 이해 가능
    22. [일반] 보기 일반 사본
    23. 🎜> >
    24. 이 가상 호스트는 다른 가상 호스트의 IP 및 포트와 일치하지 않는 요청을 대신합니다. 그러나 이 경우 메인 서버는 어떠한 요청도 처리하지 않습니다. 따라서 메인 서버를 가상 호스트로 구성하는 것이 필요합니다.
    25. 로컬 머신 에이전트가 다른 머신에서 실행되는 가상 호스트

      [일반] 보기 일반 사본

      1. 🎜> ProxyPass
      2. ProxyPass /foo http://192.168.111.2
      3. ProxyPass Reverse /foo http: //192.168.111.2
      4. 서버 이름 호스트 이름.example.com
      5. 1. 먼저 IP 기반의 가상 호스트입니다. IP 주소 158.29.33.248에 대한 요청을 처리합니다.
      6. 2. ProxyPass /foo http://192.168.111.2는 http://158.29.33.248/foo에 대한 요청을 http://192.168을 가리키는 프록시 요청으로 변환합니다. .
      3. ProxyPass /foo/no!에 대한 프록시 요청을 수행하지 마세요. 이는 일반 프록시 지시문 앞에 배치되어야 합니다. 4. ProxyPreserveHost On은 원래 요청의 호스트 정보를 프록시 시스템으로 전송하는 것을 의미합니다.
      5. ProxyPassReverse /foo http://192.168.111.2는 요청 URL이 다른 시스템에서 리디렉션된 후 이 시스템에서 일관되게 처리될 수 있도록 보장합니다. 자세한 내용은 역방향 프록시에 대한 매뉴얼 섹션을 참조하세요.
      6. 도메인 이름 기반의 가상 호스트도 마찬가지입니다. 가상 호스트의 유형에 관계없이 처리하는 요청만 처리합니다.
      설정 예시
      요구사항 1: IP 기반 가상호스트 사용 예시입니다
      도메인 이름 방지를 위한 프로젝트 데이터 애플리케이션 해결 문제 결과적으로 정상적인 접속이 불가능하므로 IP를 이용하여 인터페이스에 접속하게 된다. 예: http://61.122.3.6:8080/ 이렇게 하세요. 가상 호스트의 구성은 다음과 같습니다.

      1. httpd.conf의 Listen 80 아래에 줄을 추가합니다. 내용은 다음과 같습니다. Listen 8080, 즉 8080 포트 수신

      2. 가상 호스트 구성

      [일반] 보기 구성 일반 사본

      #NameVirtualHost 61.122.3.6:8080 이 줄은 필수가 아닙니다. 테스트 후 IP 주소 기반 가상 호스트는 NameVirtualHost 항목을 설정할 필요가 없습니다.

        >
      1. DocumentRoot "d:/web/openj"
      2. 위 내용은 내용의 측면을 포함하여 apache2.2 가상 호스트 구성을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.