开发和生产之间的Rails问题

时间:2015-03-31 15:38:23

标签: ruby-on-rails ruby nginx

我正在为我的rails网站/博客处理我的生产服务器上的一些奇怪的不一致。

例如,在我的开发服务器上(刚刚运行Webrick),这是我的导航栏(这是正确的)并且100%显示时间:

enter image description here

将我的最新代码推送到生产服务器(passenger& nginx)之后,我的导航栏现在显示(注意缺少的博客链接),并显示大约40%的时间。我必须继续在我的浏览器上点击'刷新',直到博客链接显示:

enter image description here

这里给出了什么? RoR新手,但我相信问题在于我的Blog MVC。我一直在看nginx的日志文件,它们什么都没显示。

我还可以去哪里诊断这个问题?


以下是导航栏部分(_navigation.html.erb)

中的代码
<div class="navbar-collapse collapse">
  <ul class="nav navbar-nav">
    <li class="active"><a href="/">Home</a></li>
    <li><%= link_to("How It Works", "/howto") %></li>
    <li><%= link_to("FAQ", "/frequent") %></li>
    <li><%= link_to("Blog", blogs_path) %></li>
    <li><%= link_to("Contact Us", "/contact_forms/new") %></li>
  </ul>
</div>

Tailing production.log也不是很有启发性。当“博客”链接加载时:

I, [2015-03-31T12:48:59.624208 #5061]  INFO -- : Started GET "/" for X.X.X.X at 2015-03-31 12:48:59 -0400
I, [2015-03-31T12:48:59.625722 #5061]  INFO -- : Processing by StaticPagesController#home as HTML
D, [2015-03-31T12:48:59.627223 #5061] DEBUG -- :   Testimonial Load (0.4ms)  SELECT "testimonials".* FROM "testimonials"
I, [2015-03-31T12:48:59.628629 #5061]  INFO -- :   Rendered layouts/_navigation.html.erb (0.3ms)
I, [2015-03-31T12:48:59.631063 #5061]  INFO -- :   Rendered layouts/_footer.html.erb (0.5ms)
I, [2015-03-31T12:48:59.631303 #5061]  INFO -- :   Rendered static_pages/home.html.erb within layouts/application (3.1ms)
I, [2015-03-31T12:48:59.632149 #5061]  INFO -- : Completed 200 OK in 6ms (Views: 4.3ms | ActiveRecord: 0.4ms)

当Blog链接未加载production.log时,几乎没有任何内容写入。这就像服务器只注册部分页面加载一样。

我做了我的更改,重新启动了网络服务器(包括nginx和乘客),甚至重新启动了实际的服务器本身......仍然没有运气。

我对如何解决这个问题感到茫然,因为在开发过程中一切都很完美,而且我对RoR还是很新的。

1 个答案:

答案 0 :(得分:0)

源代码非常简单,博客链接周围没有条件分支(if)。

因此,唯一的解释是生产中运行的代码不是您正在开发的代码。

确保您的部署成功。检查您的服务器文件夹以确保代码在那里。还要确保重新启动了Web服务器,否则它可能仍在提供以前部署的代码。对于Passenger和Nginx,您需要(除非它已更改)touch restart.txt项目文件夹中的/tmp/restart.txt文件,以便执行Passenger重启(没有明显重新启动整个Nginx进程)。