如何将nginx中的一个域转发到不同的子目录(php,rails)?

How to forward one domain in nginx to different subdirectories (php, rails)?

我拥有一个用于开发的 VPS 服务器,它在 Ubuntu 服务器 14.04 x64 LTS 上运行。我有一些 RoR 站点和一些 Wordpress 站点。我希望能够通过 git 将它们推送到单独的目录来与它们一起玩。 这意味着我应该在 xxx.xxx.xxx.xxx/myrailsweb 中有一个 rails 网站,在 xxx.xxx.xxx.xxx/mywpweb 中有另一个 wordpress 网站。我如何使用 nginx 中的服务器块实现此目的?

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.php index.html index.htm;

    server_name 127.0.0.1;

    location /apps/testphp {
        try_files $uri $uri/ =404;
    }

    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root /usr/share/nginx/html;
    }

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

server {
  listen 80 default_server;
  # server_name 127.0.0.1;
  passenger_enabled on;
  passenger_app_env development;
  root /home/myname/apps/testapp/public;
}

有什么想法吗?

只是将它们放在不同的端口上。所以 127.0.0.1:3000 转到 rails 站点,127.0.0.1 转到 wordpress 或类似的东西。所以使用你的例子:

server {
  listen 3000;
  server_name 127.0.0.1;
  passenger_enabled on;
  passenger_app_env development;
  root /home/myname/apps/testapp/public;
}

在实时服务器上然后只使用子域。