Maison  >  Article  >  Opération et maintenance  >  Comment nginx permet-il à un serveur d’accéder à plusieurs sites Web ?

Comment nginx permet-il à un serveur d’accéder à plusieurs sites Web ?

王林
王林avant
2023-06-02 14:16:062778parcourir

Sur un serveur, il existe généralement deux manières de distinguer lors de l'accès à différents sites Web

 :

1 Par le numéro du port d'écoute

2. Par le nom de domaine

1. Accéder à différents hôtes via le port :

Fichier de configuration nginx :

/usr/local/nginx/conf/nginx.conf

format d'encodage par défaut du fichier centos latin1

Commande pour afficher le format d'encodage : :set fileencoding

#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid    logs/nginx.pid;

events {
  worker_connections 1024;
}

##一个http节点
http {  
  include    mime.types;
  default_type application/octet-stream;
  #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  #         '$status $body_bytes_sent "$http_referer" '
  #         '"$http_user_agent" "$http_x_forwarded_for"';
  #access_log logs/access.log main;
  sendfile    on;
  #tcp_nopush   on;
  #keepalive_timeout 0;
  keepalive_timeout 65;
  #gzip on;
 #server 节点,即 你需要访问网站的配置
 #一个server节点,就是一个虚拟主机
  server {
    listen    80;  #监听的端口号,访问网站 默认是80端口
    server_name localhost;  #即访问的域名
    #charset koi8-r;
    #access_log logs/host.access.log main;
    location / {  #定位
      root  html;  #定位的是nginx根目录下的 html文件夹
      index index.html index.htm;  #设置网站首页
    }
  }
}

Vous pouvez configurer plusieurs serveurs sur cette fois, c'est-à-dire que différents hôtes sont configurés

Ajouter un hôte virtuel : (différence par numéro de port)

server {
    listen    81;
    server_name localhost;
    #charset koi8-r;
    #access_log logs/host.access.log main;
    location / {
      root  html-81;
  #nginx根目录下 新建的html81 文件夹
      index index.html index.htm;
    ``
  }

Après avoir édité le fichier, on recharge le fichier de configuration

via la commande : ./nginx -s reload

Effet :

Comment nginx permet-il à un serveur d’accéder à plusieurs sites Web ?

Nous savons que lorsque plusieurs sites Web sont configurés sur un serveur, il est impossible de les distinguer par des numéros de port, je dois donc ensuite les distinguer par des noms de domaine

2.

Qu'est-ce qu'un nom de domaine ? ?

Le nom de domaine est l'adresse du site Web

Par exemple : www.baidu.com

Habituellement, lorsque nous accédons au nom de domaine, nous devons résoudre le nom de domaine via le serveur DNS

Serveur DNS : résoudre le nom de domaine en une adresse IP. Ce qui est enregistré, c'est la relation de mappage entre le nom de domaine et l'adresse IP.

Un nom de domaine correspond à une adresse IP, et une adresse IP peut être liée à plusieurs noms de domaine.

Les tests locaux peuvent modifier le fichier hosts.

Modifiez le fichier hosts Windows : (c:windowssystem32driversetc)

Vous pouvez configurer la relation de mappage entre les noms de domaine et les IP Si la relation de mappage entre les noms de domaine et les IP est configurée dans le fichier hosts, il n'est pas nécessaire d'aller sur. le serveur DNS ! ! ! !

Continuez la configuration sous le fichier nginx.conf tout à l'heure :

server {
    listen    80;
    server_name www.taobao.com;
    #charset koi8-r;
    #access_log logs/host.access.log main;
    location / {
      root  html-taobao;
      index index.html index.htm;
    }
  }
  server {
    listen    80;
    server_name www.baidu.com;
    #charset koi8-r;
    #access_log logs/host.access.log main;
    location / {
      root  html-baidu;
      index index.html index.htm;
    }
  }
}

Configuration du nom de domaine :

192.168.25.148 www.test.com
192.168.25.148 www.yiyou.com

Redémarrez le service ginx

Observez l'effet :

Comment nginx permet-il à un serveur d’accéder à plusieurs sites Web ?

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer