当前位置:大发SEO >> 域名主机 >> 域名

nginx监听多个域名

域名主机 域名 2024-03-05 7352

摘要:Nginx可以轻松地配置以监听多个域名,并为每个域名提供不同的配置。这通常通过配置多个`server`块来实现。以下是如何让Nginx监听多个域名的示例和说明。--- 示例配置文件假设有以下两个域名:- `example.com`- `example.org`可以在Nginx...

Nginx可以轻松地配置以多个域名,并为每个域名提供不同的配置。这通常通过配置多个`server`块来实现。以下是如何让Nginx多个域名的示例和说明。

nginx多个域名

---

示例配置文件

假设有以下两个域名:

- `example.com`

- `example.org`

可以在Nginx配置文件中(通常是`/etc/nginx/nginx.conf`或`/etc/nginx/sites-available/default`)设置多个 `server` 块,如下所示:

```nginx

# 第一组配置:处理 example.com

server {

listen 80;

server_name example.com www.example.com;

root /var/www/example.com;

index index.html index.htm;

location / {

try_files $uri $uri/ =404;

}

}

# 第二组配置:处理 example.org

server {

listen 80;

server_name example.org www.example.org;

root /var/www/example.org;

index index.html index.htm;

location / {

try_files $uri $uri/ =404;

}

}

```

配置说明

1. 端口

- `listen 80` 表示 HTTP 的 80 端口。

- 如果有 HTTPS (SSL/TLS),替换为 `listen 443 ssl;` 并配置证书。

2. server_name

- `server_name` 定义了与哪个域名匹配(如 `example.com` 和 `www.example.com`)。

- 如果你想所有域名,可以写成 `_` 或直接用 `server_name _;`。

3. 根目录

- `root /var/www/example.com;` 是站点的根目录,每个域名可以有不同的根目录。

4. location

- `location /` 表示处理请求的路径规则,这里尝试将请求映射到文件或者返回 404。

---

通配符与泛域名配置

如果你有相似的多个域名,可以使用通配符配置:

```nginx

server {

listen 80;

server_name *.example.com;

root /var/www/example.com;

index index.html index.htm;

location / {

try_files $uri $uri/ =404;

}

}

```

这将匹配所有子域名,例如 `sub1.example.com` 和 `sub2.example.com`。

---

验证配置并重启 Nginx

1. 检查配置是否正确

```bash

sudo nginx -t

```

2. 重新加载 Nginx:

```bash

sudo systemctl reload nginx

```

---

使用 HTTPS 配置多个域名

如果为每个域名使用 HTTPS,需要提供证书。例如:

```nginx

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;

root /var/www/example.com;

index index.html index.htm;

location / {

try_files $uri $uri/ =404;

}

}

```

重复上述配置为其他域名配置证书,或者使用通配符/多域名证书。

---

这样就能让 Nginx 多个域名并实现不同的响应了。

相关推荐
友情链接