Новые активы, которые я добавляю, больше не отображаются на моей производственной площадке (в EC2).Ранее он работал, и старые изображения, таблицы стилей и файлы .js работают, однако ничего нового, что я добавляю, не рендерится.
Когда я запускаю
rake assets:precompile RAILS_ENV="production"
, я получаю следующее сообщение без ошибок:
yarn install v1.9.4
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
[1/4] Resolving packages...
success Already up-to-date.
Done in 0.09s.
Но тогда в моем журнале ошибок nginx есть ряд ошибок, таких какследующее для всех моих активов, которые были недавно добавлены:
2018/10/19 16:59:13 [error] 5875#5875: *9800 open() "/home/deploy/production/
{appname}/public/assets/images/social.svg" failed (2: No such file or directory),
client: xx.x.xxx.xxx, server: , request: "GET /assets/images/social.svg HTTP/1.1",
host: "{appname}.com", referrer: "http://{appname}.com/"
Я не был тем, кто изначально настроил это, и мне не ясно, что является причиной проблемы, и был бы действительно признателен, если бы кто-томожет указать мне в правильном направлении.Я читаю все, что могу найти, чтобы понять это, но ничего не получаю.
production.rb
Rails.application.configure do
config.cache_classes = true
config.eager_load = true
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.read_encrypted_secrets = true
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
config.serve_static_files = false
config.assets.compile = true
config.assets.digest = true
config.assets.paths << "#{Rails.root}/assets/fonts"
config.assets.paths << "#{Rails.root}/assets/images"
config.assets.paths << "#{Rails.root}/assets/javascripts"
config.assets.paths << "#{Rails.root}/assets/stylesheets"
config.assets.paths << "#{Rails.root}/assets/pdf"
#config.assets.precompile = ['*.js', '*.css', '*.css.erb', '*.css.scss' '*.svg' '.png' '.jpg']
#config.assets.precompile += %w( .svg .eot .woff .ttf .png )
config.assets.js_compressor = :uglifier
# config.assets.css_compressor = :sass
config.force_ssl = false
config.log_level = :debug
config.log_tags = [ :request_id ]
# config.active_job.queue_adapter = :resque
# config.active_job.queue_name_prefix = "byc1_#{Rails.env}"
config.i18n.fallbacks = true
config.active_support.deprecation = :notify
config.log_formatter = ::Logger::Formatter.new
# require 'syslog/logger'
# config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')
if ENV["RAILS_LOG_TO_STDOUT"].present?
logger = ActiveSupport::Logger.new(STDOUT)
logger.formatter = config.log_formatter
config.logger = ActiveSupport::TaggedLogging.new(logger)
end
config.log_level = :info
RAILS_DEFAULT_LOGGER = Logger.new('log/production.log')
config.active_record.dump_schema_after_migration = false
end
/ и т. Д./nginx/nginx.conf
user www-data;
worker_processes auto;
pid /run/nginx.pid;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
gzip_disable "msie6";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
/ etc / nginx / sites-enabled / bcrypto
upstream bcrypto_unicorn {
server unix:/home/deploy/production/{appname}/tmp/sockets/bcrypto_unicorn.todo.sock fail_timeout=0;
}
server {
listen 80 default deferred;
root /home/deploy/production/{appname}/public;
location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
add_header ETag "";
}
try_files $uri/index.html $uri @bcrypto_unicorn;
location @bcrypto_unicorn {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://bcrypto_unicorn;
}
error_page 422 500 502 503 504 /500.html;
client_max_body_size 4G;
keepalive_timeout 60;
}
config / initializers /assets.rb
Rails.application.config.assets.version = '1.0'
Rails.application.config.assets.precompile += %w( admin.js admin.css )
Rails.application.config.assets.precompile += %w( alphabetical_paginate.js )
Rails.application.config.assets.precompile << /(^[^_\/]|\/[^_])[^\/]*$/