gpt4 book ai didi

css - Rails & Nginx & Passenger css 和 javascript 加载但未在生产中应用

转载 作者:太空宇宙 更新时间:2023-11-03 17:54:02 26 4
gpt4 key购买 nike

这是一个由 Nginx + Passenger 提供服务的 Rails 4 元素。在开发 Rails 环境时完美运行。我认为压缩的 javascript 文件加载正确,因为应该在页面加载时执行的 ajax 调用工作正常。问题是没有任何 CSS 规则应用于文档。

我遇到的问题与此处描述的完全相同:CSS available but not rendering when push to production [Rails app]除了我的 css 文件的 mime 类型是正确的。

这是我的 config/environments/production.rb

  config.eager_load = true
config.cache_classes = true
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.serve_static_assets = true
config.assets.compress = true
config.assets.compile = false
config.assets.digest = true
config.assets.css_compressor = :yui

Assets 已正确预编译。这是相关的服务 html 链接/脚本规范:

  <link data-turbolinks-track="true" href="/assets/application-3d4e35bd2c14a288b7d2ff3f5dd8f5c4.css" media="all" rel="stylesheet" />

<script data-turbolinks-track="true" src="/assets/application-ab6bb9f22b553eba6788881b0b36f94c.js"></script>

Nginx 配置:

http {
passenger_root /home/ubuntu/.rvm/gems/ruby-2.1.3/gems/passenger-4.0.53;
passenger_ruby /home/ubuntu/.rvm/gems/ruby-2.1.3/wrappers/ruby;

include mime.types;
default_type application/octet-stream;

sendfile on;
keepalive_timeout 65;

server {
listen 80;
server_name subdomain.domain.com;
root /home/user/rails-project/public;
passenger_enabled on;
rails_env production;
}
}

这是 css 请求/响应(注意正确的 mime 类型): enter image description here

CSS 文件已正确编译,并且我所有的 sass 和 css 规则和存在(组合 sass 和 css)。

最佳答案

静态文件应该直接从磁盘提供,所以确保 Nginx 设置有足够的权限来访问这些文件。它还建议为静态创建自己的位置:

location /assets/  {
root /home/user/rails-project/public;
gzip_static on;
expires max;
add_header Cache-Control public;
access_log /dev/null;
}

Assets Pipeline 生成压缩的 JS 和 CSS 文件的 gzip 版本,因此“gzip_static”指令可帮助您立即提供 gzip 服务,而无需任何开销。您的 Nginx 应该使用模块 --with-http_gzip_static_module 进行编译以支持它。

关于css - Rails & Nginx & Passenger css 和 javascript 加载但未在生产中应用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26684703/

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