我在一个ec2示例上托管了一个Rails 4应用程序,并使用Nginx,我向控制器添加了一个视图,并在尝试通过浏览器导航到页面时遇到错误,直到我重新加载nginx. conf。一旦它出现了,我做了一些改变,但这些都没有显示,直到我重新加载nginx。
显然,我不想每次需要更改视图时都重新加载nginx.conf。我是不是漏掉了什么好让自己好过点?
这是我的nginx.conf文件。
server {
listen 80;
server_name app-on-rails;
passenger_enabled on;
#charset koi8-r;
#access_log logs/host.access.log main;
root /home/usr/www/app-on-rails/welcome;
index index.html.erb;
}
字符串
我的环境/生产.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.serve_static_files = false
config.assets.js_compressor = :uglifier
config.assets.compile = true
型
2条答案
按热度按时间hgqdbh6s1#
您的nginx配置似乎正在使用乘客。默认情况下,在生产模式下,所有文件内容只解析一次,并缓存在内存中-因此更改不会立即引起注意。要强制刷新,您至少需要重新启动乘客。这可以通过简单地触摸应用程序根目录中的tmp/restart.txt文件来完成。
8xiog9wr2#
在environments/production.rb文件中,可以更改以下行
config.cache_classes = false
这个配置决定了ruby类不会被缓存。因此,您对代码的更改将反映在刷新浏览器上。由于类没有被缓存,性能会有所下降。因此,在您的开发之后,下面的内容可能会设置为true。