Edw*_*all 5 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
Run Code Online (Sandbox Code Playgroud)
然而,我的生产环境存在问题.这是配置:
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
Run Code Online (Sandbox Code Playgroud)
这显然更复杂,主要是为了使用套接字,日志记录和守护进程.我知道它的工作原理,因为它可以通过以下命令启动:
$ bundle exec pumactl start
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.但是,如果我想像上面的命令一样停止或重启服务器,我收到以下消息:
$ bundle exec pumactl stop
Neither pid nor control url available
Run Code Online (Sandbox Code Playgroud)
如果我指定配置文件的位置,它的工作原理:
$ bundle exec pumactl -F config/puma/production.rb stop
Run Code Online (Sandbox Code Playgroud)
为什么我需要指定配置文件stop,restart但不是start?
| 归档时间: |
|
| 查看次数: |
845 次 |
| 最近记录: |