gpt4 book ai didi

ruby-on-rails - 未使用 RoR 4、Nginx、Unicorn 提供的 Assets

转载 作者:行者123 更新时间:2023-12-04 10:38:47 25 4
gpt4 key购买 nike

我已经使用 Capistrano 2、Unicorn、Nginx 部署了我的 RoR 4 应用程序。
问题是我得到 404 在 Assets (样式表,javascripts)上。

这是 Nginx 访问日志:

89.0.40.233 - - [16/Mar/2014:08:24:26 +0000] "GET /stylesheets/application.css HTTP/1.1" 404 650 "http://host.cloudapp.net/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.149 Safari/537.36"
89.0.40.233 - - [16/Mar/2014:08:24:26 +0000] "GET /javascripts/application.js HTTP/1.1" 404 650 "http://host.cloudapp.net/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.149 Safari/537.36"

我的 Assets 在 app 文件夹中:
azureuser@host:~/apps/testify/current/public$ ls -a assets
. application-d65a0eaefe6ca2eef9400045f94ab52b.js
.. application-d65a0eaefe6ca2eef9400045f94ab52b.js.gz
application-71e2591e9586afebf3fb4ff70aaae199.css manifest-a348973e84698f7d898e8021bd6e5388.json
application-71e2591e9586afebf3fb4ff70aaae199.css.gz

我的 Nginx 配置:
upstream unicorn {
server unix:/tmp/unicorn.testify.sock fail_timeout=0;
}

server {
listen 80 default deferred;
root /home/azureuser/apps/testify/current/public;

location ^~ /assets/ {
expires max;
add_header Cache-Control public;
}

try_files $uri/index.html $uri @unicorn;

location @unicorn {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://unicorn;
}

error_page 500 502 503 504 /500.html;
client_max_body_size 4G;
keepalive_timeout 10;
}

我从哪里开始寻找?

最佳答案

从 access.log 看来,您只是在布局中硬编码了 application.css/.js。由于 Assets 管道为它们提供的指纹名称(查看您的示例 ls 输出),生产公用文件夹中没有此类文件。

你可能会读到这个 ​​here .

解决您的问题非常简单。用以下代码替换 application.css/.js 的硬编码链接:

<%= javascript_include_tag "application" %>
<%= stylesheet_link_tag "application" %>

关于ruby-on-rails - 未使用 RoR 4、Nginx、Unicorn 提供的 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22434724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com