Nginx 通过 server 块定义虚拟服务器。
虚拟服务器原理:
虚拟服务器是一种服务器配置方式,允许在同一台物理服务器上运行多个网站。Nginx 通过 server 块定义虚拟服务器,每个虚拟服务器可以监听不同的端口、IP 地址或服务器名称。
虚拟服务器优势:
server {
listen 80;
server_name example.org www.example.org;
...
}
server {
listen 80;
server_name example.net www.example.net;
...
}
server {
listen 80;
server_name example.com www.example.com;
...
}
基本配置说明:
listen 80:监听 80 端口server_name:指定服务器名称基本配置原理: Nginx 根据请求的 Host 头和端口选择虚拟服务器。当 Nginx 收到一个请求时,会根据请求的 Host 头和端口选择匹配的虚拟服务器。
server {
listen 192.168.1.1:80;
server_name example.org www.example.org;
...
}
监听端口和地址说明:
listen 192.168.1.1:80:监听 192.168.1.1 的 80 端口监听端口和地址原理: Nginx 根据请求的 IP 地址和端口选择虚拟服务器。当 Nginx 收到一个请求时,会根据请求的 IP 地址和端口选择匹配的虚拟服务器。
server {
listen 80;
server_name example.org www.example.org;
...
}
基于名称的虚拟服务器说明:
server_name:指定服务器名称基于名称的虚拟服务器原理: Nginx 根据请求的 Host 头选择虚拟服务器。当 Nginx 收到一个请求时,会根据请求的 Host 头选择匹配的虚拟服务器。
server {
listen 192.168.1.1:80;
server_name example.org www.example.org;
...
}
基于IP的虚拟服务器说明:
listen 192.168.1.1:80:监听 192.168.1.1 的 80 端口基于IP的虚拟服务器原理: Nginx 根据请求的 IP 地址和端口选择虚拟服务器。当 Nginx 收到一个请求时,会根据请求的 IP 地址和端口选择匹配的虚拟服务器。
server {
listen 80 default_server;
server_name example.net www.example.net;
...
}
默认服务器说明:
default_server:指定默认服务器默认服务器原理: 当 Nginx 收到一个请求时,如果没有匹配的虚拟服务器,会使用默认服务器处理请求。