我想使用NGIX作为反向代理来显示不同的URL,指向同一台服务器,但是在不同的子文件夹上...... Web服务器与运行NGIX的Web服务器不同。
这是我的网络树,同一局域网上的服务器(192.168.1.10,比如80端口......)
/万维网
| - site1
| - css
| - js
| - site2
| - site3
我想设置NGIX,所以当我在浏览器上输入www.site1.com时,会显示192.168.1.10/www/site1
这可能吗?
这是我所做的,但它不起作用:
server {
listen 80;
server_name www.site1.com;
root /www/site1;
location / {
proxy_pass http://192.168.1.10;
}
}
答案 0 :(得分:3)
在nginx服务器(A)上,您可以在同一配置(V-host)文件中添加以下配置,也可以为/ etc / nginx / conf下的每个服务器标记创建不同的配置文件。 d /
我认为webserver ip是192.168.1.10,运行端口是80
server {
listen 80;
server_name www.site1.com;
location / {
proxy_pass http://192.168.1.10;
root /www/site1;
}
}
server {
listen 80;
server_name www.site2.com;
location / {
proxy_pass http://192.168.1.10;
root /www/site2;
}
}
server {
listen 80;
server_name www.site3.com;
location / {
proxy_pass http://192.168.1.10;
root /www/site3;
}
}
答案 1 :(得分:0)
如果我理解正确,您需要在Web服务器中进行更改(让我们说服务器A)。不在运行Nginx的服务器中(服务器B)。
'根'您提到的指令是指服务器B.Nginx只会将所有来到www.site1.com的请求传递给服务器A.您必须配置服务器以根据主机名提供内容。
如果服务器A也在运行Nginx,您可以在服务器A 中进行如下配置。
server {
listen 80;
server_name www.site1.com;
root /www/site1;
}
server {
listen 80;
server_name www.site2.com;
root /www/site2;
}
server {
listen 80;
server_name www.site3.com;
root /www/site3;
}