首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >独角兽应用服务器日志保持其自身的节拍

独角兽应用服务器日志保持其自身的节拍
EN

Stack Overflow用户
提问于 2016-04-30 13:17:07
回答 1查看 314关注 0票数 1

我已经使用Passenger-NGinx和Unicorn部署了我的Rails应用程序,但检查日志真的很难,因为日志总是被它自己(在根路径上)命中,也就是说,即使没有真正的传入请求。不确定为什么会发生这种情况。这也意味着日志变得非常大,非常快。

我的unicorn.rb文件如下所示:

代码语言:javascript
复制
# set path to application
tmp_dir = "/tmp"
app_dir = File.expand_path("../..", __FILE__)
shared_dir = "#{app_dir}/shared"
working_directory app_dir


# Set unicorn options
worker_processes 2
preload_app true
timeout 30

# Set up socket location
listen "#{shared_dir}/sockets/unicorn.sock", :backlog => 64

# Logging
stderr_path "#{shared_dir}/log/unicorn.stderr.log"
stdout_path "#{shared_dir}/log/unicorn.stdout.log"

# Set master PID location
pid "#{shared_dir}/pids/unicorn.pid"

有什么有用的建议吗?谢谢!

更新:

看起来这是乘客本身的问题。我删除了Unicorn作为应用服务器,现在使用Passenger,乘客日志也有同样的问题。

EN

回答 1

Stack Overflow用户

发布于 2016-04-30 14:55:26

如果没有更多的信息,很难说流量的来源是什么。您是否有健康检查或ping来检查服务器的状态?有没有可能流量可能来自机器人或搜索蜘蛛?如果您仍然不确定,我可以考虑使用tcpdump监听端口80,以查看IP和其他有关流量可能源自何处的信息。

在任何情况下,如果您希望排除此类请求,那么您可以编写自己的Rack中间件来从记录流量中排除特定的URL或IP。这里有一篇更详细的博客文章:https://archive.dennisreimann.de/blog/silencing-the-rails-log-on-a-per-action-basis/

您还可以考虑使用Lograge,它提供了比Rails附带的默认日志记录更好的控制:https://github.com/roidrage/lograge。通过lograge,您可以在配置中使用payload[:ip].reject语法来拒绝基于IP地址或操作的请求:https://github.com/roidrage/lograge#what-it-doesnt-do

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36951059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档