当我尝试访问URL时,Rails日志在Puma的终端中没有显示任何内容:localhost:3000

时间:2016-09-05 17:53:41

标签: ruby-on-rails ruby ruby-on-rails-5

当我执行rails s时,它成功启动了我的服务器,并通过URL http://localhost:3000提供页面,但问题是:当我从此服务器访问任何内容时,它不会显示任何更改

enter image description here

我访问过这么多页面,但它仍然没有显示任何提示。我重新启动了Rails服务器,使用以下命令杀死了所有的rails服务器:

ps aux | grep 'rails' | grep -v 'grep' | awk '{ print $2 }' | xargs kill -9

退出并重新开始iTerm,但没有任何事情可以帮助我。

我正在使用Rails 5.0.0和ruby 2.2.3。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我遇到了同样的问题。 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