Configuration virtuelle de nginx (hôte virtuel)

Qu'est-ce que l'hébergement Web?
L'hôte virtuel est une technologie logicielle et matérielle spéciale. Il peut diviser chaque ordinateur du réseau en plusieurs hôtes virtuels. Chaque hôte virtuel peut fournir indépendamment des services www au monde extérieur, de sorte qu'un hôte peut fournir plusieurs sites Web en externe. Les services sont indépendants de chaque hôte virtuel et ne s’affectent pas les uns les autres.

[Le transfert de l'image du lien externe a échoué, le site source peut avoir un mécanisme anti-sangsue, il est recommandé de sauvegarder l'image et de la télécharger directement (img-yA01vk4n-1598623023772) (assets / 1561605672295.png)]

Nginx peut implémenter la configuration d'hôte virtuel, nginx prend en charge trois types de configuration d'hôte virtuel.
1. Hôte virtuel basé sur le nom de domaine (nom_serveur pour distinguer l'hôte virtuel-application: site Web externe)
2. Hôte virtuel basé sur l'ip (un hôte est lié à plusieurs adresses IP)
3. Hôte virtuel basé sur le port (port pour distinguer le virtuel Application hôte: site Web interne de l'entreprise, expérience de gestion de site Web externe)

1. Hébergement virtuel basé sur le nom de domaine

1. Configurer les machines virtuelles distinguées par des noms de domaine

[root@localhost ~]# cat /etc/nginx/nginx.conf
worker_processes  4;

#error_log  logs/error.log;
worker_rlimit_nofile 102400;


events {
    
    
    worker_connections  1024;
}


http {
    
    
    include       mime.types;
    default_type  application/octet-stream;
    
    server {
    
    
        listen       80;
        server_name  web.testpm.com;
        location / {
    
    
            root   /var/www/nginx/;
            index  index.html index.htm;
            limit_rate	2k;
        	}
        }
    
    server {
    
    
        listen       80;
        server_name  web.1000phone.com;
        location / {
    
    
            root   /1000phone/html;
            index  index.html index.htm;
        	}
        }
}

2. Créez un fichier d'index pour la machine virtuelle dont le nom de domaine est web.1000phone.com

[root@localhost ~]# mkdir -p /1000phone/html
[root@localhost ~]# vim /1000phone/html/index.html
<html>
<p>
this is my 1000phone
</p>
</html>

3. Rechargez le fichier de configuration

# 如果编译安装的执行
[root@nginx]# /usr/local/nginx/sbin/nginx -s reload
# 如果 yum 安装的执行
[root@nginx]# nginx -s reload

4. Configurez le mappage de route côté client
. Ajoutez deux lignes au fichier C: \ Windows \ System32 \ drivers \ etc \ hosts (linux: / etc / hosts)

10.0.105.199 web.testpm.com
10.0.105.199 web.1000phone.com

5. Visite d'essai

Entrée du navigateur: http://web.testpm.com/

Entrée du navigateur: http://web.1000phone.com/

2. Hôte virtuel basé sur IP

[root@localhost ~]# ip a 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:17:f1:af brd ff:ff:ff:ff:ff:ff
    inet 10.0.105.199/24 brd 10.0.105.255 scope global dynamic ens33
       valid_lft 81438sec preferred_lft 81438sec
    inet6 fe80::9d26:f3f0:db9c:c9be/64 scope link 
       valid_lft forever preferred_lft forever
[root@localhost ~]# ifconfig ens33:1 10.0.105.201/24  #要保证添加的IP没有被使用(给网卡再添加一个ip)
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.105.199  netmask 255.255.255.0  broadcast 10.0.105.255
        inet6 fe80::9d26:f3f0:db9c:c9be  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:17:f1:af  txqueuelen 1000  (Ethernet)
        RX packets 9844  bytes 1052722 (1.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5567  bytes 886269 (865.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.105.201  netmask 255.255.255.0  broadcast 10.0.105.255
        ether 00:0c:29:17:f1:af  txqueuelen 1000  (Ethernet)

2、配置通过ip区分的虚拟机
[root@localhost ~]# cat /etc/nginx/nginx.conf
user  root;
worker_processes  4;

#error_log  logs/error.log;
worker_rlimit_nofile 102400;


events {
    
    
    worker_connections  1024;
}


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"';

    server {
    
    
        listen       10.0.105.199:80;
        server_name  web.testpm.com;
        location / {
    
    
            root   /var/www/nginx/;
            index  index.html index.htm;
            limit_rate	2k;
        }
        
     server {
    
    
        listen       10.0.105.201:80;
        server_name  web.testpm.com;
        location / {
    
    
            root   /1000phone/html/;
            index  index.html index.htm;
        	}
        }
}
3、重新加载配置文件
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
4、 测试访问
浏览器输入:http://10.0.105.199
浏览器输入:http://10.0.105.201
5、补充
-- 删除绑定的vip
[root@localhost ~]# ifconfig ens33:1 10.0.105.201/24 down
重启一下nginx
[root@localhost ~]# systemctl restart nginx

1. Vérifiez l'IP et trouvez le segment de réseau
2. Ifconfig ens33: 1 192.168.49.148/24 Ajoutez ip à la
carte réseau
3. Ifconfig affiche la carte réseau 4. Modifiez le fichier de configuration /etc/nginx/nginx.conf Entrez deux adresses IP avant le port d'écoute
5. Rechargez le fichier de configuration nginx (redémarrez nginx s'il y a un cache (systemctl restart nginx))
6. Visitez ip curl 192.168.49.144
curl 192.168.49.148 (IP ajoutée)

3. Hôte virtuel basé sur le port

Une IP

[root@localhost ~]# cat /etc/nginx/nginx.conf
user  root;
worker_processes  4;

worker_rlimit_nofile 102400;


events {
    
    
    worker_connections  1024;
}


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"';


    sendfile        on;

    keepalive_timeout  65;


    server {
    
    
        listen       80;
        server_name  web.testpm.com;
        location / {
    
    
            root   /var/www/nginx/;
            index  index.html index.htm;
            limit_rate	2k;
        }
        
    
     server {
    
    
        listen       8080;
        server_name  web.1000phone.com;
        location / {
    
    
            root   /1000phone/html/;
            index  index.html index.htm;
        	}
        }
}

Rechargez le fichier de configuration:

[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload

Visite test:
entrée navigateur: http://web.testpm.com/
entrée navigateur: http://web.1000phone.com:8080

Je suppose que tu aimes

Origine blog.csdn.net/weixin_49844466/article/details/108287524
conseillé
Classement