Puma无法找到生产环境配置

时间:2016-07-24 18:39:05

标签: ruby-on-rails puma

我有一个使用puma运行的rails(4.2.4)应用程序。文档说:

  

如果通过-e--environment标志或RACK_ENV环境变量指定了环境,则默认文件位置为config / puma / environment_name.rb。

这就是配置文件的位置。

在我的开发环境中,puma启动就好了。这是配置:

workers 1
threads 1, 6
environment 'development'
activate_control_app

然而,我的生产环境存在问题。这是配置:

workers 1
threads 1, 6
environment 'production'
app_dir = File.expand_path('../../..', __FILE__)
bind "unix://#{app_dir}/tmp/sockets/puma.sock"
stdout_redirect "#{app_dir}/log/puma.stdout.log",
                "#{app_dir}/log/puma.stderr.log",
                true
pidfile "#{app_dir}/tmp/pids/puma.pid"
state_path "#{app_dir}/tmp/pids/puma.state"
activate_control_app
daemonize true

这显然更复杂,主要是为了使用套接字,日志记录和守护进程。我知道它有效,因为它可以通过以下命令启动:

$ bundle exec pumactl start

到目前为止一切顺利。但是,如果我想像上面的命令一样停止或重启服务器,我收到以下消息:

$ bundle exec pumactl stop
Neither pid nor control url available

如果我指定配置文件的位置:

$ bundle exec pumactl -F config/puma/production.rb stop

为什么我需要指定stoprestart但不是start的配置文件?

0 个答案:

没有答案