recherche

Maison  >  Questions et réponses  >  le corps du texte

Problèmes avec le module du serveur de configuration nginx

Supposons qu'il y ait 5 noms de domaine de deuxième niveau :

aaa.example.com
bbb.example.com
ccc.example.com
ddd.example.com
eee.example.com

Lors de la configuration de nginx, le module serveur ressemble à ceci :

server {
    listen 443 ssl http2;
    
    server_name  aaa.example.com;
    
    root   /var/www/aaa.example.com/public;
    index  index.php index.html index.htm;
    
    location / {
        root   /var/www/aaa.example.com/public;
        try_files $uri $uri/ /index.php?$query_string;
        index  index.php index.html index.htm;
    }


    location ~ \.php$ {
        try_files $uri /index.php =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass   unix:/dev/shm/php-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
    
    #...
    #...
    #...
}

Question :
1. Il existe 5 noms de domaine de deuxième niveau. Dois-je écrire 5 modules serveur ? Puis-je écrire un module serveur à usage général qui n’en utilise qu’un ?

2. Si 5 modules serveur sont écrits, les location ~ .php${ }模块是一样的,这个location ~ .php${ } modules de chaque module serveur peuvent-ils être écrits une seule fois pour être partagés ? Autrement dit, peut-il être déplacé vers le module http, le module supérieur du module serveur ?

3. Dans de nombreux exemples, la racine et l'index doivent être écrits deux fois, une fois dans le serveur, et encore dans la couche suivante location / { } module. Pourquoi cela ?

世界只因有你世界只因有你2753 Il y a quelques jours515

répondre à tous(3)je répondrai

  • 我想大声告诉你

    我想大声告诉你2017-05-16 17:11:58

    server_name ~^(?<site>(aa|bb|cc)\.example\.com)$;
    root /var/www/$site/public; # location 里的root如果一样,可以不需要了,index也一样,大多数人是复制的

    répondre
    0
  • 巴扎黑

    巴扎黑2017-05-16 17:11:58

    1. Lorsque vos cinq noms de domaine pointent vers le même répertoire racine et représentent le même site, server_name peut spécifier plusieurs noms de domaine, séparés par des espaces ; lorsque vos cinq noms de domaine représentent des sites différents, vous devez configurer plusieurs segments de serveur, généralement avec include ; directive pour introduire plusieurs fichiers de conf, chaque nom de domaine est un fichier de conf.
    2.la commande location ne peut être utilisée que sur le serveur et l'emplacement ; voir la documentation officielle pour plus de détails :

    3. L'index racine dans l'emplacement peut partager l'index racine dans le serveur.

    .

    répondre
    0
  • 淡淡烟草味

    淡淡烟草味2017-05-16 17:11:58

    Le nom du serveur peut spécifier plusieurs noms de domaine, séparés par des espaces

    répondre
    0
  • Annulerrépondre