【问题标题】:Nginx Unicorn AngularJS html5 URLs configurationNginx Unicorn AngularJS html5 URLs 配置
【发布时间】:2015-06-18 21:38:17
【问题描述】:

我想在 Angular UI-router 中添加漂亮的 URL。我在一个以 Angular JS 作为前端的 Rails 应用程序上安装了 Nginx + Unicorn。

我想要漂亮的 URL,例如 mysite/a/b/c,没有“#”,也没有 hashbang。当我将 nginx 的位置更改为:

server {
    server_name yoursite.com;
    root /path/to/app;

    location / {
        try_files $uri $uri/ @unicorn;
    }
}

Unicorn 会抛出这个错误:

“/path/to/app”的目录索引被禁止

关于如何设置 nginx 重定向的任何想法?我认为将 chmod 提供给我的应用程序路径并不是一个好的解决方案..

编辑: 问题是使用 try_files $uri/index @unicorn,它可以工作,例如url.com/a/b。但是当我刷新时,它会自动将我重定向到根 url.com。 UI-router 建议 try_files $uri $uri/ /index.html,但是当我这样做时,我得到了 nginx 拒绝的访问。文件夹 /path/to/app 属于用户 'deploy',所以这不是 chmod 问题..

【问题讨论】:

  • 您的应用程序必须有权访问/path/to/app 中的文件,如root 指令中所设置。至少在我的情况下,我从作为这些文件所有者的同一用户运行我的 Rails/Unicorn 应用程序。
  • 更改独角兽root权限安全吗?
  • 对不起,亚历克斯,我想我不明白 - 你能再解释一下吗?我认为您不需要更改任何权限,只需在适当的用户下和应用程序文件夹中运行 unicorn。可能还有其他方法可以做到,但这是我的方法。
  • 我使用 Chef 和 A​​WS opsworks 运行它。源/根文件夹位于 /srv/app/.../public。然后 chef 获取这些文件并与用户“部署”到 /srv/app/.../shared 一起部署。现在,如果规则是 try_files $uri/index $uri/index.htm @unicorn;我的应用程序运行良好,所以这是奇怪的部分(当然没有 html5 /a/b/ 链接,但有 /#/a/b)。我的根文件夹中没有任何 index.html,我不明白它为什么会起作用!!您的解决方案/建议是否由用户'deploy' chown /srv/app/...public 下的文件?
  • 我使用mina 来管理我的部署,但我认为它类似于Chef。当我部署时,mina 从 git 中提取我的文件并在 /home/myapp/app/current/public 中构建它们,并使用户 myapp 拥有。这是我的公共 Rails 目录——它有资产和一些静态错误页面文件,如 404.html——也是我的 NGINX 根指令指向的地方。要启动/重新启动应用程序,我运行 /etc/init.d/unicorn.myapp,其中执行 su - myapp 以在 myapp 下运行 Unicorn。 Rails 路由器处理从这个公共目录到应用程序/控制器等的请求路由。

标签: ruby-on-rails angularjs nginx angular-ui-router unicorn


【解决方案1】:

终于解决了!这是我的错误,因为我在 rails routes.rb 文件中忘记了使用 angular 运行我的应用程序这一行:

get '*path' => '/'

改成

get '*path' => 'layouts#index' 

其中 layouts#index 是我的 Angular 布局,现在刷新 url.com/a/b 后,url 保持 url.com/a/b 并呈现适当的路由。

在 nginx 我的配置仍然存在:

location /{
    try_files $uri @unicorn;
}

【讨论】:

    猜你喜欢
    • 2012-08-17
    • 2013-08-09
    • 2021-02-04
    • 1970-01-01
    • 2017-01-07
    • 2015-07-28
    • 1970-01-01
    • 2014-01-01
    • 2016-07-15
    相关资源
    最近更新 更多