gpt4 book ai didi

ruby-on-rails - Windows 中的 RoR 不适用于在 Linux 中使用 RoR 构建的现有应用程序

转载 作者:太空宇宙 更新时间:2023-11-04 10:33:37 27 4
gpt4 key购买 nike

我已经使用 RailsInstaller 安装了 Ruby on Rails,还在 Windows 8 中安装了 postgresql。我正在尝试使用文件运行 rails server,但我收到错误消息“Worker JRuby 或 Windows 不支持模式。

在我的 config/puma.rb 文件中,我将 workers 设置为 0,然后收到有关 Windows 不支持守护进程模式的错误。基本上每次我改变一些东西我都会得到更多的错误。

我已经修复了环境变量、gems 等(就像在其他帖子中一样),例如 Cannot install Puma gem on Ruby on Rails.有没有希望在 Windows 机器上运行一个预先存在的用 Linux 构建的 RoR 应用程序?

当我为 RoR“博客”示例运行 rails server 时,它运行良好,所以我知道 RoR 绝对可以在 Windows 中运行!

这是我的 -'de-identified' 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 不工作等方面遇到错误

最佳答案

JRuby 和 Windows 都不支持“workers”方法,因此最好的解决方案是从 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

这对你来说可能会有所不同,但特定行将以“workers”开头

关于ruby-on-rails - Windows 中的 RoR 不适用于在 Linux 中使用 RoR 构建的现有应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38601907/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com