Lorsque vous utilisez nginx, comment gérez-vous le problème correspondant entre l'hôte virtuel et le nom de domaine de deuxième niveau ? Par exemple, il existe deux noms de domaine de deuxième niveau, correspondant à deux dossiers :
域名 文件夹
111.aa.com /var/www/111.aa.com
222.aa.com /var/www/222.aa.com
Ensuite, dans le fichier de configuration, il y a deux server
correspondants,
#111.aa.com
#111.aa.com
server {
listen 80;
server_name 111.aa.com;
charset utf-8;
#access_log /var/log/nginx/log/host.access.log main;
location / {
root /var/www/111.aa.com;
index index.php index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
location ~ \.php$ {
root /var/www/111.aa.com;
fastcgi_pass unix:/dev/shm/php-fpm.sock;
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
#222.aa.com
#222.aa.com
server {
listen 80;
server_name 222.aa.com;
charset utf-8;
#access_log /var/log/nginx/log/host.access.log main;
location / {
root /var/www/222.aa.com;
index index.php index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
location ~ \.php$ {
root /var/www/222.aa.com;
fastcgi_pass unix:/dev/shm/php-fpm.sock;
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
Question :
1. S'il y a 100 noms de domaine de deuxième niveau, il faut en écrire 100 server
,能否写在1个server
中呢,能否给个示例?
2、写100个server
和1个server
Peut-on l'écrire en 1
S'il y a 100 projets différents, il faut bien sûr écrire 100 serveurs (il y aura de nombreuses personnalisations, la plus courante est la réécriture). S'il y a un projet correspondant à plusieurs noms de domaine, le nombre de serveurs peut être réduit. Même s'il y en a La méthode consiste à écrire la configuration de 100 projets sur un seul serveur. J'estime que le fichier de configuration sera très compliqué et sera un casse-tête à gérer. Il vaut mieux écrire 100 serveurs
.La configuration n'est pas égale à la complexité
La configuration n'est pas égale à la complexité
La configuration n'est pas égale à la complexité
« Beaucoup » ne devrait jamais être une préoccupation pour la gestion de la configuration.
Si les configurations sont similaires, vous pouvez juger par les variables nginx, vous n'avez donc besoin d'écrire qu'une seule configuration
Contenu de référence :
http://bneijt.nl/blog/post/name-based-vi...
http://www.sitepoint.com/set-automatic-v...