Доброе утро всем,
, за последние два дня я работал над своим первым сайтом Ruby on Rails, который я хотел бы развернуть на своем виртуальном сервере.
Я думаю, что все настроил правильно и могу запросить сайт через мой любимый браузер (firefox).Сайт в основном статический, поэтому у него много статических ресурсов, которые мне нужно предварительно скомпилировать.
Однако, когда я фиксирую изменения в пользовательской таблице стилей и прекомпилирую ее, веб-сервер (apache2 в сочетании с пассажирским)продолжает обслуживать старую таблицу стилей / веб-страницу, что меня смущает, так как я думал, что это должно быть предотвращено механизмом хеширования, который rails использует для статических ресурсов.
После перезапуска сервера apache с помощью 'service apache2 restartи перейдите в браузере на веб-сайт, я смогу увидеть новый макет.
Я подозреваю, что это проблема с конфигурацией apache2, так что вот моя конфигурация виртуального хоста (без комментариев):
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName example.com
ServerAdmin admin@example.com
DocumentRoot /var/www/project/public
RailsEnv production
PassengerRuby /usr/local/rvm/wrappers/ruby-2.5.1/ruby
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /path/to/cert/file
SSLCertificateKeyFile /path/to/private/key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
BrowserMatch "MSIE [2-6]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
<Directory />
Require all denied
</Directory>
<Directory /var/www/project/public>
Options FollowSymLinks
Require all granted
</Directory>
<Location /assets/>
# Use of ETag is discouraged when Last-Modified is present
Header unset ETag
FileETag None
# RFC says only cache for 1 year
ExpiresActive On
ExpiresDefault "access plus 1 year"
</Location>
</VirtualHost>
</IfModule>
У кого-нибудь есть предложение, где я могу найти неправильную конфигурацию?Большое спасибо.
Дополнительная информация: Rails v5.2.1
Gemfile:
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby '2.5.1'
gem 'passenger'
gem 'rails', '~> 5.2.1'
gem 'sqlite3'
gem 'puma', '~> 3.11'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'jquery-rails'
gem 'coffee-rails', '~> 4.2'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.5'
gem 'bootsnap', '>= 1.1.0', require: false
group :development, :test do
gem 'byebug', platforms: [:mri, :mingw, :x64_mingw]
end
group :development do
gem 'web-console', '>= 3.3.0'
gem 'listen', '>= 3.0.5', '< 3.2'
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
group :test do
gem 'capybara', '>= 2.15'
gem 'selenium-webdriver'
gem 'chromedriver-helper'
end
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]