Nginx - 直接子文件夹到不同的服务器

时间:2017-10-31 17:53:35

标签: nginx ubuntu-16.04 vhosts

我有一个在Ubuntu 16.04服务器上托管的PHP / MySQL网站,例如在域名 www.website.com 上,我想要一个"子文件夹& #34; 同一个域,将托管在单独的服务器上。

例如:

  

http://www.website.com托管在服务器IP 1.1.1.1

我想要

  

http://www.website.com/another-site/将托管在服务器IP 2.2.2.2

这两个网站都是PHP / MySQL,两个服务器都是Ubuntu 16.04,我使用的是Nginx服务器块来管理域名。

我在1.1.1.1上的以下设置取得了一些成功,但它似乎并没有完全发挥作用,网站上的图像和css文件404:

location /another-site {
    proxy_pass http://2.2.2.2:80;
    proxy_set_header Host another-site.dev;
    proxy_set_header X-Forwarded-For $remote_addr;
}

然后在2.2.2.2服务器上:

server {
     listen 80;
     server_name another-site.dev;

     root /var/www/another-site;
     index index.php;
     ...

我是在正确的路线上,还是有更简单的方法来实现这一目标?如果我可以提供帮助,我不想在同一台服务器上使用这两个站点。

1 个答案:

答案 0 :(得分:0)

proxy_pass http://2.2.2.2:80;需要在末尾proxy_pass http://2.2.2.2:80/;使用斜杠,否则它只会加载索引。