Rails 当我尝试点击 URL 时,日志在 Puma 的终端中没有显示任何内容:localhost:3000
Rails logs do not show anything in terminal for Puma when I try to hit the URL: localhost:3000
当我执行 rails s
时,它成功启动了我的服务器,并通过 URL http://localhost:3000
提供页面,但问题是:它没有显示任何更改我从该服务器访问任何内容。
访问了这么多页面,还是没有任何提示。我已经重新启动了 Rails 服务器,并使用以下命令杀死了所有 rails 服务器:
ps aux | grep 'rails' | grep -v 'grep' | awk '{ print }' | xargs kill -9
已经退出并重新开始 iTerm,但没有任何帮助。
我正在使用 Rails 5.0.0 和 ruby 2.2.3。
config/puma.rb 文件有问题,我花了一个晚上才弄明白。无论如何,Puma 的正确配置 运行 您的开发服务器是:
workers Integer(ENV['WEB_CONCURRENCY'] || 2)
threads_count = Integer(ENV['RAILS_MAX_THREADS'] || 5)
threads threads_count, threads_count
preload_app!
rackup DefaultRackup
port ENV['PORT'] || 3000
environment ENV['RACK_ENV'] || 'development'
on_worker_boot do
# Worker specific setup for Rails 4.1+
# See: https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#on-worker-boot
ActiveRecord::Base.establish_connection
end
我遇到了同样的问题。 puma.rb 文件中有一个错误,我通过在 puma.rb 文件中复制以下内容来解决问题。之后,重新启动服务器,您现在可以找到服务器上任何请求的日志,还可以通过在代码中提及断点来停止服务器上的断点,这在以前的配置中是不可能的。
# Code goes here
workers 2
# Min and Max threads per worker
threads 1, 6
app_dir = File.expand_path("../..", __FILE__)
shared_dir = "#{app_dir}/shared"
# Default to production
rails_env = ENV['RAILS_ENV'] || "production"
environment rails_env
# Set up socket location
bind "unix://#{shared_dir}/sockets/puma.sock"
# Logging
stdout_redirect "#{shared_dir}/log/puma.stdout.log", "#{shared_dir}/log/puma.stderr.log", true
# Set master PID and state locations
pidfile "#{shared_dir}/pids/puma.pid"
state_path "#{shared_dir}/pids/puma.state"
activate_control_app
将此添加到 development.rb
文件中。我的应用程序在 Rails 6.
config.logger = Logger.new(STDOUT)
就我而言,多亏了@mick 评论 当我运行 它通过rails s
(准确地说bundle exec rails s
)时我的日志开始出现。
我稍后会在调试后更新这个答案,了解为什么会有不同,但预感是 运行 它通过 rails s 将日志输出配置为在以下情况下路由到 STDOUT服务器未 运行 处于守护进程模式。
当我执行 rails s
时,它成功启动了我的服务器,并通过 URL http://localhost:3000
提供页面,但问题是:它没有显示任何更改我从该服务器访问任何内容。
访问了这么多页面,还是没有任何提示。我已经重新启动了 Rails 服务器,并使用以下命令杀死了所有 rails 服务器:
ps aux | grep 'rails' | grep -v 'grep' | awk '{ print }' | xargs kill -9
已经退出并重新开始 iTerm,但没有任何帮助。
我正在使用 Rails 5.0.0 和 ruby 2.2.3。
config/puma.rb 文件有问题,我花了一个晚上才弄明白。无论如何,Puma 的正确配置 运行 您的开发服务器是:
workers Integer(ENV['WEB_CONCURRENCY'] || 2)
threads_count = Integer(ENV['RAILS_MAX_THREADS'] || 5)
threads threads_count, threads_count
preload_app!
rackup DefaultRackup
port ENV['PORT'] || 3000
environment ENV['RACK_ENV'] || 'development'
on_worker_boot do
# Worker specific setup for Rails 4.1+
# See: https://devcenter.heroku.com/articles/deploying-rails-applications-with-the-puma-web-server#on-worker-boot
ActiveRecord::Base.establish_connection
end
我遇到了同样的问题。 puma.rb 文件中有一个错误,我通过在 puma.rb 文件中复制以下内容来解决问题。之后,重新启动服务器,您现在可以找到服务器上任何请求的日志,还可以通过在代码中提及断点来停止服务器上的断点,这在以前的配置中是不可能的。
# Code goes here
workers 2
# Min and Max threads per worker
threads 1, 6
app_dir = File.expand_path("../..", __FILE__)
shared_dir = "#{app_dir}/shared"
# Default to production
rails_env = ENV['RAILS_ENV'] || "production"
environment rails_env
# Set up socket location
bind "unix://#{shared_dir}/sockets/puma.sock"
# Logging
stdout_redirect "#{shared_dir}/log/puma.stdout.log", "#{shared_dir}/log/puma.stderr.log", true
# Set master PID and state locations
pidfile "#{shared_dir}/pids/puma.pid"
state_path "#{shared_dir}/pids/puma.state"
activate_control_app
将此添加到 development.rb
文件中。我的应用程序在 Rails 6.
config.logger = Logger.new(STDOUT)
就我而言,多亏了@mick 评论rails s
(准确地说bundle exec rails s
)时我的日志开始出现。
我稍后会在调试后更新这个答案,了解为什么会有不同,但预感是 运行 它通过 rails s 将日志输出配置为在以下情况下路由到 STDOUT服务器未 运行 处于守护进程模式。