我已经使用Passenger-NGinx和Unicorn部署了我的Rails应用程序,但检查日志真的很难,因为日志总是被它自己(在根路径上)命中,也就是说,即使没有真正的传入请求。不确定为什么会发生这种情况。这也意味着日志变得非常大,非常快。
我的unicorn.rb文件如下所示:
# 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,乘客日志也有同样的问题。
发布于 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。
https://stackoverflow.com/questions/36951059
复制相似问题