我已经使用RailsInstaller和Windows 8中的postgresql安装了Ruby on Rails。我尝试使用现有应用程序的文件运行rails server
,但我收到错误JRuby或Windows'不支持工作模式。
在我的config / puma.rb文件中,我将worker设置为0,然后在Windows上不支持有关守护进程模式的错误。基本上每次我改变一些东西我会得到更多的错误。
我修复了环境变量,宝石等(比如其他帖子),比如这个Cannot install Puma gem on Ruby on Rails.,是否有希望在Windows机器上运行Linux内置的预先存在的RoR应用? / p>
当我为RoR'博客'运行rails服务器时它的工作正常,所以我知道RoR肯定在windows中工作!
这是我的 - '去识别' config / puma.rb文件。是因为在Windows中我没有/ var / app文件夹吗?我玩过目录等无济于事。
`
#!/usr/bin/env puma
# start puma with:
# RAILS_ENV=production bundle exec puma -C ./config/puma.rb
workers 0
theident = 'nameofthing'
application_path = '/var/app/'+ theident + '.address.com.au/current'
railsenv = 'production'
directory application_path
environment railsenv
daemonize false
pidfile "#{application_path}/tmp/pids/puma-#{railsenv}.pid"
state_path "#{application_path}/tmp/pids/puma-#{railsenv}.state"
stdout_redirect"#{application_path}/log/puma-#{theident}.log"
threads 0, 16
bind "unix:///var/run/puma/" + theident + "_app.sock" `
我已将这些目录更改为当前路径,现在正在运行' rails server'开始,但localhost:3000是一个页面无法正常工作。我在SIGUSR1无法正常工作,SIGUSR2无法正常工作等错误
答案 0 :(得分:1)
"工人" JRuby和Windows都不支持该方法,因此最好的解决办法是从puma.rb中删除导致错误的行。在我的情况下,我删除了;
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
对您而言可能会有所不同,但具体的行将从"工人"
开始