Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何将Nginx配置为在同一域上同时为Rails应用程序和Angular服务_Ruby On Rails_Angularjs_Nginx - Fatal编程技术网

Ruby on rails 如何将Nginx配置为在同一域上同时为Rails应用程序和Angular服务

Ruby on rails 如何将Nginx配置为在同一域上同时为Rails应用程序和Angular服务,ruby-on-rails,angularjs,nginx,Ruby On Rails,Angularjs,Nginx,我想使用Nginx为我的轨道(使用乘客)和一个有角度的前端提供服务 基本上,所有到/的请求都应该定向到Rails,每个到/admin/*的请求都应该重定向到Angular应用程序 我发现理论上这正是我想要的。不幸的是,对于像我这样对Nginx知之甚少(几乎一无所知)的人来说,Dmitry的回答有点模糊 编辑:以下是我尝试过的Nginx配置: server { listen 80 default_server; listen [::]:80 default_server;

我想使用Nginx为我的轨道(使用乘客)和一个有角度的前端提供服务

基本上,所有到
/
的请求都应该定向到Rails,每个到
/admin/*
的请求都应该重定向到Angular应用程序

我发现理论上这正是我想要的。不幸的是,对于像我这样对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;
    }

}
有人能把答案再延长一点吗

谢谢

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

但我有一些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>;
  }
}
服务器{
#一些配置指令
...
#图隆!
#角度应用程序
地点~^/管理/{
代理传递http://;
}
#Rails应用程序
地点/{
代理传递http://;
}
}

不幸的是,这不起作用。我已经用一个代码片段更新了我的问题。本质上,这个问题的公式化和详细程度更好,两种情况下的问题完全相同,但有一点不同。我同意问题基本相同,但我不理解答案,也不理解作为答案给出的代码片段。在这种情况下,您希望我做什么?请正确解释,您必须声明
@ruby
@angular
的位置,但请先尝试
文件。您的
位置
部分似乎有点错误。您必须将代理部分配置为app server。