Git   发布时间:2022-05-05  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Nginx / Unicorn / Rails连接超时大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个Nginx /独angular兽运行的Rails应用程序。 链接到我的Nginx.conf和unicorn.rb

我正在通过capistrano进行部署,最初的应用程序运行良好。 然而,经过一段时间(即约10-20分钟)没有请求,则传入的请求将遇到问题。 (返回错误500页出错页面)。

Rails production.log显示它收到请求,但是我什么也没做:

I,[2015-01-29T13:12:03.725959 #24176] INFO -- : Started GET "/" for xxx.18.170.101 at 2015-01-29 13:12:03 +0000

Nginx的access.log

在系统启动时启动应用程序,无需login

lighttpd不会将全局环境variables提供给可执行文件

当我在Linux服务器上使用qsub时如何导入argparse?

如何使用Nodejs创build一个linux用户

Signalr WebSocket不能在Windows Server 2012 R2 + IIS 8.5上启用websocket协议,但可以在本地开发机器上运行(Win 10)

xxx.18.170.101 - - [29/Jan/2015:13:14:33 +0000] "GET / http/1.1" 504 1477 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/40.0.2214.91 Safari/537.36"

Nginx'error.log

2015/01/29 13:14:33 [error] 23786#0: *20 upstream timed out (110: Connection timed out) while reading response header from upstream,client: xxx.18.170.101,server:,request: "GET / http/1.1",upstream: "http://unix:/tmp/unicorn.my_app.sock/",host: "my_server"

独angular兽的error.log显示它超时并杀死worker

D,[2015-01-29T13:01:45.386741 #22987] DEBUG -- : waiTing 121.0s after suspend/hibernation E,[2015-01-29T13:16:04.784404 #22987] ERROR -- : worker=0 PID:24176 timeout (241s > 240s),killing E,[2015-01-29T13:16:04.794715 #22987] ERROR -- : reaped #<Process::Status: pid 24176 SIGKILL (signal 9)> worker=0 I,[2015-01-29T13:16:05.797775 #24377] INFO -- : worker=0 spawned pid=24377 I,[2015-01-29T13:16:05.827508 #24377] INFO -- : worker=0 ready

奇怪的是,在做出很less的请求之后,它会再次回到正常的production.log

I,[2015-01-29T13:34:39.054539 #24666] INFO -- : Started GET "/" for xx.18.170.101 at 2015-01-29 13:34:39 +0000 I,[2015-01-29T13:34:39.122488 #24666] INFO -- : Processing by ProductsController#index as HTML ....

然后,如果没有要求一段时间,错误将再次发生。

查看时间戳和成功请求的生产日志和错误请求之间的区别,我认为Nginx,独angular兽设置没有任何问题。 但是,通常当一个请求来到Rails应用程序,它将被processing by ...Controller但过了一会儿没有请求,下一个请求被卡住的地方。

任何build议如何解决,或如何debugging这个问题? 我试图strace但结果很难弄清楚。 最耗时的是:

[pid 12649] 06:34:02 SELEct(8,[7],NULL,{44,88867}) = 0 (Timeout) <44.105805>

Server 2012事件日志转发

我将如何在PowersHell的每个循环中保存凭证

用C ++开发Windows版Voip服务器

Docker for Windows Server 2016需要更新KB3176936

ejabberd模块编译错误

我不是100%肯定这个答案,但我不能留下评论呢。 所以我不能确切地告诉你为什么你的请求需要这么长时间,但重要的错误信息是你的独角兽工人被杀死的那个。

你的unicorn.rb: timeout 240

你的unicorn_error.log:

ERROR -- : worker=0 PID:24176 timeout (241s > 240s),killing

所以这个请求需要超过240秒。 尝试增加您的独角兽超时,以便请求可以通过,然后查看您的日志文件是什么花了这么久。 你说得对,麒麟不是问题,因为除非你正在做某件事情,而且用户期望要花很长时间,否则你不应该拿+ 240。

大佬总结

以上是大佬教程为你收集整理的Nginx / Unicorn / Rails连接超时全部内容,希望文章能够帮你解决Nginx / Unicorn / Rails连接超时所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: