20240113----重返学习-`nginx/conf/nginx.conf`的多虚拟主机配置最简配置说明

20240113----重返学习-nginx/conf/nginx.conf的多虚拟主机配置最简配置说明

文件说明

不同端口号的多虚拟主机配置

worker_processes  1; #工作进程个数;一般对应CPU内核对应一个worker_processes;太多反而让效率变差;

events {# 事件驱动模块;
    worker_connections  1024;#设置每个worker_processes对应多少个联接;
}


http {# 网络请求模块;
    include       mime.types;#把当前目录中的mime.types配置文件引入到当前配置文件中;
    default_type  application/octet-stream;#默认的mime.types配置文件;
    sendfile        on;#是否是数据零拷贝;
    keepalive_timeout  65;#表示的是保持连接超时的时间;

    server {# 表示一个服务器虚拟主机vhost的配置;
        listen       80;#表示当前虚拟主机监听到的端口号;
        server_name  localhost;#当前主机的主机名;

        location / {# 表示uri,如一个域名后的子目录或子路径;
            root   /www/www;#表示当前uri的根目录;
            index  index.html index.htm;#表示访问当前uri下的默认页;
        }

        error_page   500 502 503 504  /50x.html;#表示发生服务器错误如500或502或503或504时,会转向到的地址;
        location = /50x.html {# 表示`/50x.html`的uri资源配置;
            root   html;#表示当前uri的根目录;
        }

    }


    server {# 表示一个服务器虚拟主机vhost的配置;
        listen       88;#表示当前虚拟主机监听到的端口号;
        server_name  localhost;#当前主机的主机名;

        location / {# 表示uri,如一个域名后的子目录或子路径;
            root   /www/vod;#表示当前uri的根目录;
            index  index.html index.htm;#表示访问当前uri下的默认页;
        }

        error_page   500 502 503 504  /50x.html;#表示发生服务器错误如500或502或503或504时,会转向到的地址;
        location = /50x.html {# 表示`/50x.html`的uri资源配置;
            root   html;#表示当前uri的根目录;
        }

    }
}

  • 假设:
  1. 服务器ip地址192.168.44.101;
  2. s1.com通过客户端host文件映射为服务器ip地址-192.168.44.101;
  3. f.1996f.top通过DNS解析-网站解析-主机 IP映射为服务器ip地址-192.168.44.101;
  4. fang.1996f.top通过DNS解析-网站解析-主机 IP映射为服务器ip地址-192.168.44.101;
  5. *.user.1996f.top通过DNS解析-网站解析-主机 IP-泛解析映射为服务器ip地址-192.168.44.101;
  6. 服务器地址/www/www/index.html有一个html文件;
  7. 服务器地址/www/vod/index.html有一个html文件;
  • 效果:
  1. 可以在192.168.44.101:80s1.com:80f.1996f.top:80fang.1996f.top:80f1.user.1996f.top:80f2.user.1996f.top:80都访问到/www/www/index.html;
  2. 可以在192.168.44.101:88s1.com:88f.1996f.top:88fang.1996f.top:88f1.user.1996f.top:88f2.user.1996f.top:88都访问到/www/vod/index.html;

不同域名的多虚拟主机配置

worker_processes  1; #工作进程个数;一般对应CPU内核对应一个worker_processes;太多反而让效率变差;

events {# 事件驱动模块;
    worker_connections  1024;#设置每个worker_processes对应多少个联接;
}


http {# 网络请求模块;
    include       mime.types;#把当前目录中的mime.types配置文件引入到当前配置文件中;
    default_type  application/octet-stream;#默认的mime.types配置文件;
    sendfile        on;#是否是数据零拷贝;
    keepalive_timeout  65;#表示的是保持连接超时的时间;

    server {# 表示一个服务器虚拟主机vhost的配置;
        listen       80;#表示当前虚拟主机监听到的端口号;
        server_name  f.1996f.top;#当前虚拟主机的主机名或域名;

        location / {# 表示uri,如一个域名后的子目录或子路径;
            root   /www/www;#表示当前uri的根目录;
            index  index.html index.htm;#表示访问当前uri下的默认页;
        }

        error_page   500 502 503 504  /50x.html;#表示发生服务器错误如500或502或503或504时,会转向到的地址;
        location = /50x.html {# 表示`/50x.html`的uri资源配置;
            root   html;#表示当前uri的根目录;
        }

    }


    server {# 表示一个服务器虚拟主机vhost的配置;
        listen       80;#表示当前虚拟主机监听到的端口号;
        server_name  fang.1996f.top;#当前虚拟主机的主机名或域名;

        location / {# 表示uri,如一个域名后的子目录或子路径;
            root   /www/vod;#表示当前uri的根目录;
            index  index.html index.htm;#表示访问当前uri下的默认页;
        }

        error_page   500 502 503 504  /50x.html;#表示发生服务器错误如500或502或503或504时,会转向到的地址;
        location = /50x.html {# 表示`/50x.html`的uri资源配置;
            root   html;#表示当前uri的根目录;
        }

    }
}
  • 假设:
  1. 服务器ip地址192.168.44.101;
  2. s1.com通过客户端host文件映射为服务器ip地址-192.168.44.101;
  3. f.1996f.top通过DNS解析-网站解析-主机 IP映射为服务器ip地址-192.168.44.101;
  4. fang.1996f.top通过DNS解析-网站解析-主机 IP映射为服务器ip地址-192.168.44.101;
  5. *.user.1996f.top通过DNS解析-网站解析-主机 IP-泛解析映射为服务器ip地址-192.168.44.101;
  6. 服务器地址/www/www/index.html有一个html文件;
  7. 服务器地址/www/vod/index.html有一个html文件;
  • 效果:
  1. 可以在f.1996f.top:80访问到/www/www/index.html; 原因是因为配置了f.1996f.top:80;
  2. 可以在fang.1996f.top:80访问到/www/vod/index.html; 原因是因为配置了fang.1996f.top:80;
  3. 可以在192.168.44.101:80s1.com:80f1.user.1996f.top:80f2.user.1996f.top:80都访问到/www/www/index.html;原因是因为那些都没具体配置,但配置了80端口即f.1996f.top:80在第一条,所以会访问第一个虚拟主机;

进阶参考

  1. 尚硅谷Nginx教程(亿级流量nginx架构设计) - 16-基本使用-Nginx虚拟主机域名配置

你可能感兴趣的:(学习,nginx)