1
我们最近将一个较旧的Rails 2.3网站从CentOS 6服务器迁移到CentOS 7服务器。自转换之后,几页文件就不会被缓存。Rails 2.3页面不应该放在Passenger上时被缓存5
下面是在Web服务器上的细节变化:
- 旧系统客运4.x中,在新的客运5.0.30。
- 旧系统的Apache,新的是Nginx的1.10.1
- 该应用程序还没有改变,不是添加config.ru客运等5
- 我们正在红宝石REE 运行的Rails 2.3.17
- 我们正在运行Memcached进行一些片段缓存,但不是使用这些页面。
的事情,我们曾尝试:
- 如果我们修改视图,所做的更改不会显示,直到重新启动。视图模板被缓存。
- 我们禁用乘客5的涡轮增压。它没有帮助。
- 我们从Memcached中删除了所有的密钥。它没有帮助。
- 在磁盘上查找和删除Rails缓存 - 我们没有找到任何(也不应该)。
更多细节:
- 我们举办其他几个的Rails 2.3的Rails的3.X/4.x的网站网站和数十人没有这个问题。
- 如果重新启动Nginx或
touch tmp/restart.txt
,会显示更改。 - Nginx的日志文件显示200
- 生产Rails日志文件显示数据库和视图创建的时间。
看起来它是在生成输出,但是它从Rails,Passenger和Nginx之间的某种缓存中提取。
这可能是什么原因造成的?
您是否直接在生产环境中修改视图,而不是经历“完整”部署过程(其中一步是反弹应用服务器)?这适用于您的其他应用程序? –
什么样的变化被阻止?我在Rails 2.x模型关系中遇到过类似的问题,其中has_many或类似的关系缓存在启动web服务器时的状态(就好像db本身被缓存,尽管不是)。 –
@SergioTulentsev我们修改了视图,没有完整的部署或弹出服务器。我怀疑这些缓存视图模板缓存。 –