Windows 7,Rails 3 在这里。我是本地/开发模式,rails server
不会同时处理多个请求。进程崩溃,cmd提示符出现在前面。
我在以下情况下注意到了这种行为:
- 有太多的ajax请求,彼此太近
- 在 2 个浏览器上加载一个简单的页面
有没有办法解决这个问题?更改本地服务器(默认为 webrick)?那是怎么做的?
谢谢。
Windows 7,Rails 3 在这里。我是本地/开发模式,rails server
不会同时处理多个请求。进程崩溃,cmd提示符出现在前面。
我在以下情况下注意到了这种行为:
有没有办法解决这个问题?更改本地服务器(默认为 webrick)?那是怎么做的?
谢谢。
我不知道这是否仍然需要答案,但我通过添加gem 'puma'
到 Gemfile 来做到这一点,然后您需要添加config.threadsafe!
到config/application.rb
您正在运行的文件或环境文件(例如config/environments/development.rb
.
有时你可能不想要线程安全,所以我在我的development.rb
:
if ENV["THREADS"]
config.threadsafe!
end
现在(用我在我的 中所做的development.rb
)我可以做rails s Puma
,它最多可以运行 16 个线程,并且可以处理多个请求。您还可以使用 Puma 建立线程池并配置更多,文档在这里
请注意,config.threadsafe!
在 Rails 4+ 中不需要使用,我相信它已被弃用。
您需要安装 mongrel gem 并指定您在使用时要使用的服务器rails s
我不知道你们在win系统上是如何做到的。为什么不运行一个虚拟的 Unix 机器?Rails 不是更容易吗?所以对于 Unix,它会是这样的:
安装杂种宝石:
gem install mongrel
然后指定要运行的服务器:
rails server mongrel