Nginx的虚拟主机配置方式有哪些,各有何特点和适用场景?
- 虚拟主机
- 2025-10-26
- 6
Nginx的虚拟主机配置方式有:
Nginx是一款高性能的Web服务器和反向代理服务器,它支持多种虚拟主机配置方式,以满足不同场景下的需求,以下是Nginx的几种虚拟主机配置方式:
基于域名的主机配置
基于域名的主机配置是最常见的虚拟主机配置方式,它通过监听不同的域名来实现虚拟主机的功能。
| 配置方式 | 语法示例 |
|---|---|
| 基于域名 | server { listen 80; server_name example.com; location / { root /var/www/example.com; index index.html index.htm; } } |
基于IP地址的主机配置
基于IP地址的主机配置适用于拥有多个IP地址的服务器,通过监听不同的IP地址来实现虚拟主机的功能。
| 配置方式 | 语法示例 |
|---|---|
| 基于IP地址 | server { listen 80; server_name 192.168.1.1; location / { root /var/www/server1; index index.html index.htm; } } server { listen 80; server_name 192.168.1.2; location / { root /var/www/server2; index index.html index.htm; } } |
基于端口号的主机配置
基于端口号的主机配置适用于在同一台服务器上运行多个网站,通过监听不同的端口号来实现虚拟主机的功能。

| 配置方式 | 语法示例 |
|---|---|
| 基于端口号 | server { listen 8080; server_name example.com; location / { root /var/www/example.com; index index.html index.htm; } } |
基于SSL/TLS的主机配置
基于SSL/TLS的主机配置适用于需要加密传输数据的场景,通过监听443端口来实现虚拟主机的功能。
| 配置方式 | 语法示例 |
|---|---|
| 基于SSL/TLS | server { listen 443 ssl; server_name example.com; ssl_certificate /etc/nginx/ssl/example.com.crt; ssl_certificate_key /etc/nginx/ssl/example.com.key; location / { root /var/www/example.com; index index.html index.htm; } } |
基于虚拟路径的主机配置
基于虚拟路径的主机配置适用于在同一域名下运行多个网站,通过设置不同的虚拟路径来实现虚拟主机的功能。
| 配置方式 | 语法示例 |
|---|---|
| 基于虚拟路径 | server { listen 80; server_name example.com; location /subdomain/ { proxy_pass http://localhost:8080; } } |
FAQs
Q1:如何设置多个虚拟主机?

A1:要设置多个虚拟主机,只需在Nginx配置文件中添加多个server块即可,每个server块代表一个虚拟主机,通过监听不同的域名、IP地址、端口号或虚拟路径来实现。
Q2:如何设置默认虚拟主机?
A2:要设置默认虚拟主机,可以在Nginx配置文件中添加一个默认的server块,并将其放置在其他server块之前,当请求没有匹配到其他虚拟主机时,将自动使用默认虚拟主机。
server { <br> listen 80 default_server; <br> server_name _; <br> location / { <br> root /var/www/default; <br> index index.html index.htm; } }
在这个例子中,当请求没有匹配到其他虚拟主机时,将自动使用默认虚拟主机。
