如何配置Nginx以在同一域上同时提供Rails应用程序和Angular

时间:2015-08-12 08:13:24

标签: ruby-on-rails angularjs nginx

我想使用Nginx为我的Rails(使用乘客)和Angular前端提供服务。

基本上,所有发送到/的请求都应该定向到Rails,每个发送到/admin/*的请求都应该重定向到Angular App。

我发现这个question理论上恰好是我正在寻找的东西。不幸的是,对于一个对Nginx一点也不了解的人(像我一样),Dmitry的答案有点模糊。

编辑:这是我尝试过的Nginx配置:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    server_name 178.62.92.199;
    passenger_enabled on;
    passenger_app_env development;
    root /var/www/netturing/public;

    # Add index.php to the list if you are using PHP
    index index.html index.htm index.nginx-debian.html;

    server_name _;

    location ~ ^/admin/ {
            proxy_pass http: /var/www/client/admin;
    }

    location / {
            proxy_pass http: /var/www/netturing/public;
    }

}

有人可以延长答案吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

我认为haproxy这是一个更好的工具。

但我在standalone passenger server中有一些rails应用程序,前面有nginx。

我建议的nginx配置:

server {

  # some config directives
  ...

  # Al turrón !

  # Angular App
  location ~ ^/admin/ {
    proxy_pass http://<URI TO ANGULAR APP>;
  }

  # Rails App
  location / {
    proxy_pass http://<URI TO RAILS APP>;
  }
}
相关问题