nginx 시리즈 - 03 - 가상 호스트 설정

5821 단어
[TOC]
* * 이하 모든 테스트 는 CentOS 6 시스템 에서 진행 되 었 습 니 다 * *
* * 또한 이 글 은 가장 기본 적 인 설정 항목 만 설정 합 니 다.기타 설정 은 본인 의 이 시리즈 의 기타 문장 을 참고 할 수 있 습 니 다 * *
1 가상 호스트 가 무엇 입 니까?어떤 종류의 가상 호스트 가 있 습 니까?
가상 호스트 는 당연히 가상 호스트 이지 진정한 의미 의 물리 호스트 가 아니다.그 는 소프트 하드웨어 기술 을 이용 하여 진정한 물리 호스트 를 가상 호스트 로 나 누 었 다.'브 라 우 저' 에서 볼 때 모든 가상 호스트 는 실제 물리 호스트 와 별 차이 가 없다.여기 서 말 하 는 브 라 우 저 는 넓 은 의미 의 모든 방문 자 를 가리킨다.
가상 호스트 는 실 현 된 기술 에 따라 다음 과 같은 세 가지 로 나 눌 수 있다.
  • IP 기반 가상 호스트
  • 도 메 인 이름 기반 가상 호스트
  • 포트 기반 가상 호스트
  • 2 IP 기반 가상 호스트
    유 닉 스 를 기반 으로 한 시스템 은 일반적으로 하나의 네트워크 카드 에 여러 개의 IP 주 소 를 연결 하 는 것 을 지원 합 니 다.이른바 IP 별명 이다.
    2.1 여러 IP 주소 연결
    이 호스트 에 두 개의 추가 IP 주 소 를 추가 합 니 다.
    ifconfig eth0:1 192.168.161.127 broadcast 192.168.161.255 netmask 255.255.255.0 up
    route add -host 192.168.161.127 dev eth0:1
    ifconfig eth0:2 192.168.161.126 broadcast 192.168.161.255 netmask 255.255.255.0 up
    route add -host 192.168.161.126 dev eth0:2
    

    이때 IP 정 보 는 다음 과 같 습 니 다.
    [root@h1 nginx]# ifconfig 
    #      IP
    eth0      Link encap:Ethernet  HWaddr 00:0C:29:D5:A3:78  
              inet addr:192.168.161.128  Bcast:192.168.161.255  Mask:255.255.255.0
              inet6 addr: fe80::20c:29ff:fed5:a378/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:1740 errors:0 dropped:0 overruns:0 frame:0
              TX packets:857 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:143515 (140.1 KiB)  TX bytes:122079 (119.2 KiB)
    
    #     
    eth0:1    Link encap:Ethernet  HWaddr 00:0C:29:D5:A3:78  
              inet addr:192.168.161.127  Bcast:192.168.161.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
    
    #     
    eth0:2    Link encap:Ethernet  HWaddr 00:0C:29:D5:A3:78  
              inet addr:192.168.161.126  Bcast:192.168.161.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
    
    #       
    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0 
              RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
    
    

    2.2 IP 기반 가상 호스트 설정
    프로필 편집 / etc / nginx / nginx. conf
    server {
        listen      192.168.161.126:80;
        server_name 192.168.161.126;
        access_log  /logs/ip-server1.access.log combined;
        location / {
            index index.html;
            root /web/html/1;
        } 
    }
    
    
    server {
            listen          192.168.161.127:80;
            server_name     192.168.161.127;
            access_log      /logs/ip-server2.access.log combined;
            location / {
                    index index.html;
                    root /web/html/2;
            } 
    }
    
    
    server {
            listen          192.168.161.128:80;
            server_name     192.168.161.128;
            access_log      /logs/ip-server3.access.log combined;
            location / {
                    index index.html;
                    root /web/html/3;
            } 
    }
    

    디 렉 터 리 구성
    [root@h1 /]# tree web -L 3
    web
    └── html
        ├── 1
        │   └── index.html
        ├── 2
        │   └── index.html
        └── 3
            └── index.html
    

    테스트
    각각 브 라 우 저 로 접근:http://192.168.161.126 http://192.168.161.127 http://192.168.161.128
    2.3 총화
    이곳 의 한 server{...} 단 은 가상 호스트 를 대표 합 니 다.여 기 는 간단 한 설정 만 했 을 뿐 입 니 다.기타 설정 옵션 은 본인 시리즈 의 다른 글 을 참고 할 수 있 습 니 다.
    또 IPV 4 주소 만 총 40 억 여 개 로 알려 져 있다.IP 기반 가상 호스트 를 내부 네트워크 에서 사용 하면 꽤 괜 찮 을 것 이다.만약 에 인터넷 에 넣 으 면 이 IP 주 소 는...
    3 도 메 인 이름 기반 가상 호스트
    3.1 도 메 인 네 임 처리
    이곳 은 본인 이 인터넷 호스트 IP 가 없 기 때문에 도 메 인 이름 이 있어 도 소 용이 없습니다.이 모든 곳 에서 hosts 파일 을 잠시 수정 해서 허위 도 메 인 이름 을 만들어 보 겠 습 니 다.
    hosts 파일 에 다음 내용 을 추가 합 니 다.
    192.168.161.128     www.hylexus.com hylexus.com aaa.hylexus.com bbb.hylexus.com
    

    3.2 도 메 인 이름 기반 가상 호스트 설정
    #       aaa.hylexus.com   
    server{
        listen  80;
        server_name aaa.hylexus.com;
        access_log  /logs/aaa.access.log;
        location /{
            index index.html;
            root /web/html/aaa.hylexus.com;
        }
    }
    
    #       bbb.hylexus.com   
    server{
        listen  80;
        server_name bbb.hylexus.com;
        access_log  /logs/bbb.access.log;
        location /{
            index index.html;
            root /web/html/bbb.hylexus.com;
        }
    }
    
    #     www.hylexus.com,hylexus.com,   {aaa,bbb}/hylexus.com   
    server{
        listen  80;
        server_name www.hylexus.com hylexus.com *.hylexus.com;
        access_log  /logs/bbb.access.log;
        location /{
            index index.html;
            root /web/html/www.hylexus.com;
        }
    }
    

    3.3 총화
    도 메 인 이름 도 그리 비 싸 지 않 아 요. 어떤 것 을 원 하 는 지 보 세 요.1 년 에 2 원 짜 리 도 있 고 만 원 짜 리 도 있어 요.도 메 인 이름과 네트워크 호스트 IP 만 있 으 면 됩 니 다.IP 하나 로 여러 도 메 인 이름 을 서비스 할 수 있 습 니 다.도 메 인 이름 을 사 는 것 은 보통 인터넷 IP 를 만 드 는 것 보다 훨씬 수지 가 맞는다.
    도 메 인 이름 을 기반 으로 한 가상 호스트 도 가장 흔 하 다.
    예 를 들 면:
    http://www.apache.org/ http://apache.org/ http://tomcat.apache.org/ http://spark.apache.org/ http://hadoop.apache.org/
    4 포트 기반 가상 호스트
    4.1 포트 기반 가상 호스트 설정
    server{
        listen  80;
        server_name 192.168.161.128;
        access_log  /logs/aaa.access.log;
        location /{
            index index.html;
            root /web/html/aaa.hylexus.com;
        }
    }
    
    server{
        listen  8080;
        server_name 192.168.161.128;
        access_log  /logs/bbb.access.log;
        location /{
            index index.html;
            root /web/html/bbb.hylexus.com;
        }
    }
    
    server{
        listen  8090;
        server_name 192.168.161.128;
        access_log  /logs/bbb.access.log;
        location /{
            index index.html;
            root /web/html/www.hylexus.com;
        }
    }
    

    좋은 웹페이지 즐겨찾기