部署 Ruby China 的代码直接跑 rvmsudo rails s -e production -p 80 资源文件无法调用

ppplinve · 2013年08月30日 · 最后由 ppplinve 回复于 2013年08月30日 · 2551 次阅读

我没有装 passenger,development 正常

  1. config.action_controller.asset_host 改成我自己的域名了 2.执行了 rake assets:precompile
  2. 发现客户端没有拉到 assets/front-d00289eb290b1abc8c8618500f60e7a3.css 等 css 文件,ruby-china/public/assets/front-d00289eb290b1abc8c8618500f60e7a3.css 是有这个文件的 @huacnlee 大大指导帮忙,在线等待

没人回答么?自己顶顶

Nginx 没配置 assets 这个 location 看错了,你没用 Nginx

当你不用 Nginx 或 Apache 之类的东西来部署你的 Rails 应用,而是直接用 rails s 来跑的话,你需要注意下面几个配置:

production.rb 里面

config.serve_static_assets = false # 需要设置成 false Rails 才会响应 /assets 的请求
config.action_controller.asset_host # 这里不要设置,Ruby China 开源出来的代码是有设置的,你需要注释掉

最好还是建议用 Nginx,来跑,同时配置 /assets 这个 location

如:

server {
  listen                  80;
  server_name      ruby-china.org;
  root                    /home/jason/www/ruby-china/current/public;

  location /assets {
    access_log        off;
    expires           max;
  }
}

现在是按照上面的配置 jss css 文件是 ok 了,但是图片还是拉不到,我发现 assets/text_logo-55fc4e2b5d134a0def564d5017206e34.png 还是拉不到,@huacnlee 还是看不到

但是 rake assets:precompile 是生成了这张图的

#4 楼 @ppplinve 你别折腾这个了吧,干嘛不用 Nginx 来配置呢,Ruby China 的代码就没考虑过直接 rails s 跑的情况,可能就是某些地方的配置有些坑

好吧,听@huacnlee 大大的吧,我按照 WIKI 装下

谢谢,@huacnlee大大在线支持,现在好了。

用 nginx 就好了

@huacnlee 大大,我想把我站上用户帖的图片发到你的云空间,可以吗?

头像的不会

需要 登录 后方可回复, 如果你还没有账号请 注册新账号