Nginx 학습 노트 - 가상 호스트
웹 서비스 발 표 는 IP, PORT, 도 메 인 이름 등 세 가지 선 각 조건 을 만족 시 켜 야 한다.
웹 서버 는 기본적으로 웹 하나만 발표 할 수 있 습 니 다.
자원 비용 을 절약 하기 위해 여러 개의 웹 을 발표 하려 면 가상 호스트 가 필요 합 니 다. 따라서 가상 호스트 는 한 대의 서버 를 여러 개의 '가상' 서버 로 나 누 는 것 입 니 다. 모든 가상 호스트 는 독립 된 도 메 인 이름과 독립 된 디 렉 터 리 로 나 눌 수 있 습 니 다.
nginx 에서 server 는 웹 입 니 다.
IP 기반 가상 호스트
IP 를 바탕 으로 한 호스트 에 여러 개의 웹 을 발표 하 는 데 만족 해 야 하 는 조건 은 바로 이 호스트 가 두 개 와 두 개 이상 의 IP 를 가지 고 있다 는 것 이다.
테스트 할 때 다 중 네트워크 카드 가 만족 하지 않 기 때문에 가상 네트워크 카드 를 만 듭 니 다. 설정 은 다음 과 같 습 니 다.
[root@localhost ~]# ifconfig eth0:1 10.16.0.100/24 up
server {
listen 10.16.0.9:81;
#server_name localhost;
charset utf-8;
#access_log logs/host.access.log main;
location / {
root html/a;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 10.16.0.100:81;
#server_name localhost;
charset utf-8;
#access_log logs/host.access.log main;
location / {
root html/b;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
포트 기반
말 그대로 포트 기반 포트 중복 불가
server {
listen 81;
#server_name localhost;
charset utf-8;
location / {
root html/a;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 82;
#server_name localhost;
charset utf-8;
location / {
root html/b;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
도 메 인 이름 기반
도 메 인 이름 은 DNS 분석 과 관련 되 어 있 습 니 다. 도 메 인 이름 은 분석 할 수 있어 야 접근 할 수 있 기 때문에 도 메 인 이름 을 / etc / hosts 에 추가 해 야 합 니 다.
[root@localhost conf]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.16.0.9 www.a.com
10.16.0.9 www.b.com
nginx 설정 은 다음 과 같 습 니 다:
server {
listen 81;
server_name www.a.com;
charset utf-8;
location / {
root html/a;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 81;
server_name www.b.com;
charset utf-8;
location / {
root html/b;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
접근 테스트:
[root@localhost conf]# curl http://www.a.com:81
this is web a
[root@localhost conf]# curl http://www.b.com:81
this is web b
세 가지 방식 의 단점:
IP 기반: 여러 개의 IP 가 필요 합 니 다. 만약 에 공공 네트워크 IP 라면 모든 IP 는 비용 을 지불해 야 합 니 다.
포트 기반: 포트 는 네트워크 사용자 에 게 알 릴 수 없고 네트워크 사용자 에 게 사용 할 수 없 으 며 내부 네트워크 에 적 용 됩 니 다.
도 메 인 이름 기반: 이런 방식 으로 앞의 두 가지 방식 의 단점 을 해결 했다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
linux2에 nginx 설치설치 가능한 nginx를 확인하고, 해당 nginx를 설치한다. localhost 혹은 해당 ip로 접속을 하면 nginx 화면을 볼 수 있다....
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.