同一域名用Nginx转发不同的站点
时间: 2024-02-02 20:23:08 浏览: 62
可以使用 Nginx 的虚拟主机配置来实现同一域名转发不同的站点。具体步骤如下:
1. 在 Nginx 的配置文件中添加以下代码:
```
server {
listen 80;
server_name example.com;
location /site1 {
proxy_pass http://localhost:8001;
}
location /site2 {
proxy_pass http://localhost:8002;
}
}
```
其中 `example.com` 为你要转发的域名,`/site1` 和 `/site2` 分别为两个子站点的访问路径,`http://localhost:8001` 和 `http://localhost:8002` 分别为两个子站点的实际地址。
2. 分别启动两个子站点,分别监听 `localhost:8001` 和 `localhost:8002` 端口。
3. 重启 Nginx 服务,使配置文件生效。
现在,当用户访问 `example.com/site1` 时,Nginx 会将请求转发到 `http://localhost:8001`,当用户访问 `example.com/site2` 时,Nginx 会将请求转发到 `http://localhost:8002`。
相关问题
同一域名同一端口用Nginx转发不同的站点
如果要在同一域名和同一端口上转发不同的站点,可以使用 Nginx 的反向代理功能。具体步骤如下:
1. 在 Nginx 的配置文件中添加以下代码:
```
upstream site1 {
server localhost:8001;
}
upstream site2 {
server localhost:8002;
}
server {
listen 80;
server_name example.com;
location /site1 {
proxy_pass http://site1;
}
location /site2 {
proxy_pass http://site2;
}
}
```
其中 `example.com` 为你要转发的域名,`/site1` 和 `/site2` 分别为两个子站点的访问路径,`localhost:8001` 和 `localhost:8002` 分别为两个子站点的实际地址。
2. 分别启动两个子站点,分别监听 `localhost:8001` 和 `localhost:8002` 端口。
3. 重启 Nginx 服务,使配置文件生效。
现在,当用户访问 `example.com/site1` 时,Nginx 会将请求转发到 `localhost:8001`,当用户访问 `example.com/site2` 时,Nginx 会将请求转发到 `localhost:8002`。
阅读全文