Tag: webrick

对于Ruby on Rails,当使用Webrick时,它是否支持并发请求和Keep-Alive,以及为什么加载.js和.png文件这么慢?

我正在运行Rails 3.0.5,并且在控制台上报告了一个页面需要60ms,但如果我检查Firefox Net加载时间图表,则需要2.9秒。 如果我在Bash上运行ab命令,它说需要300ms。 因此,如果移除了javascripts(其中6个),那么它需要1.9秒……但我想知道为什么这么慢? 是不是还活着? 同样奇怪的是Firefox显示4个文件同时下载 – 我认为Webrick一次只支持1个连接? (改为使用杂种或“瘦”会使事情变得不同或更好吗?) 也奇怪的是,如果我 ab -n 10 -c 5 http://www.somesite.com:8080 它需要3秒,并且为了测试如何支持keep-alive ,我使用了-k选项: ab -n 10 -c 5 -k http://www.somesite.com:8080 但现在总时间从3秒变为4.5秒。 是不是keep-alive应该让它更快,并且由Webrick支持keep-alive ? 另外,如果它支持并发连接,那么如果某些代码使用类变量来处理事物,那么不会有竞争条件发生吗? (因为类变量内容跨越请求)

在启动rails webrick server时报告错误

我有一个在rails 2.3.2上运行的应用程序,现在我将我的rails版本升级到3.0.3 在我尝试通过键入rails server启动应用程序rails server 我得到一个我应该传递给命令的参数列表。 这表明服务器无法成功启动。 但是,在哪里可以获得启动rails服务器时遇到的错误列表? 此外,我正在使用RVM来管理rails版本。 但是,即使更改了当前运行的导轨版本,Radrails仍然使用旧版本的导轨。 如何指示radrails使用当前的系统rails版本? —> rails server exists exists app/controllers exists app/helpers exists app/models exists app/views/layouts exists config/environments exists config/initializers exists config/locales exists db exists doc exists lib exists lib/tasks exists log exists public/images exists public/javascripts exists public/stylesheets exists script/performance exists test/fixtures exists test/functional exists test/integration exists test/performance […]

Rails webrick force-exits:未初始化的常量WebConsole :: Railtie :: Middleware(NameError)

所以我是ruby的新手,试图第一次启动webrick。 我刚刚用mysql2修复了分段错误错误,并遇到了这个新的退出问题。 这是命令行读数: G:\ Ruby Development \ simple_cms> G:\ Ruby Development \ simple_cms> rails服务器 =>启动WEBrick => Rails 4.2.1应用程序从http:// localhost:3000开始开发 =>运行rails server -h以获取更多启动选项 => Ctrl-C关闭服务器 退出 C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/web-console-2.1.2/lib/web_console/railtie.rb:21:in`block in’:未初始化的常量WebConsole :: Railtie: :中间件(NameError) 来自C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:30:在`instance_exec’中 来自C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:55:在`block in run_initializers’中 来自C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:30:在’run’中 来自C:/Ruby22-x64/lib/ruby/2.2.0/tsort.rb:226:inclock in tsort_each’ 来自C:/Ruby22-x64/lib/ruby/2.2.0/tsort.rb:348:在每个_trtrongly_connected_component中的’block(2个级别)’ 来自C:/Ruby22-x64/lib/ruby/2.2.0/tsort.rb:429:在`each_strongly_connected_component_from’中 来自C:/Ruby22-x64/lib/ruby/2.2.0/tsort.rb:347:在`block in each_strongly_connected_component’中 来自C:/Ruby22-x64/lib/ruby/2.2.0/tsort.rb:345:在’each’中 来自C:/Ruby22-x64/lib/ruby/2.2.0/tsort.rb:345:在`call’中 来自C:/Ruby22-x64/lib/ruby/2.2.0/tsort.rb:345:在’each_strongly_connected_component’中 来自C:/Ruby22-x64/lib/ruby/2.2.0/tsort.rb:224:in`tsort_each’ 来自C:/Ruby22-x64/lib/ruby/2.2.0/tsort.rb:203:在`tsort_each’中 来自C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/initializable.rb:54:in”run_initializers’ 来自C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/railties-4.2.1/lib/rails/application.rb:352:在`initialize!’ 来自G:/ Ruby Development / simple_cms […]

WEBrick rails服务器无法正常工作

我的操作系统是Windows 10 今天我安装了Ruby(ruby 2.2.3p173(2015-08-18修订版51636)[x64-mingw32])和rails gem(rails 4.2.4) 我正在按照一系列有关rails的教程video中的说明进行操作。 我安装了以下版本的myqsl 2(并在重新安装的情况下重新安装)mysql2-0.4.1-x64-mingw32 此问题适用于按照教程上的说明以下列方式创建的名为simple_cms的应用程序 rails new simple_cms -d mysql 我有: 运行bundle安装几次 用过的gem清理 运行bundle exec rails server 尝试rake db:create和bundle exec rake:db按照这里的建议创建每个方法 重新安装mysql2几次 但输入后 rails server 在我的项目simple_cms的根目录中。 WEBrick甚至没有开始 作为示例,在此处和此处的其他类似问题中,两个查询者都接收以下内容 => Booting WEBrick => Rails 3.2.13 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown […]

无法使用mysql db在rails中启动服务器

在终端窗口中使用rails s或rails服务器时,我得到以下消息。 我在应用程序根目录中。 有任何想法吗? /Users/paul/.rvm/gems/ruby-2.0.0-p247/gems/mysql2-0.3.13/lib/mysql2.rb:8:in `require’: dlopen(/Users/paul/.rvm/gems/ruby-2.0.0-p247/gems/mysql2-0.3.13/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib (LoadError) Referenced from: /Users/paul/.rvm/gems/ruby-2.0.0-p247/gems/mysql2- 0.3.13/lib/mysql2/mysql2.bundle Reason: image not found – /Users/paul/.rvm/gems/ruby-2.0.0-p247/gems/mysql2-0.3.13/lib/mysql2/mysql2.bundle from /Users/paul/.rvm/gems/ruby-2.0.0-p247/gems/mysql2-0.3.13/lib/mysql2.rb:8:in `’ from /Users/paul/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `require’ from /Users/paul/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in `block (2 levels) in require’ from /Users/paul/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `each’ from /Users/paul/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in `block in require’ from /Users/paul/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `each’ from /Users/paul/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in `require’ from /Users/paul/.rvm/gems/ruby-2.0.0-p247@global/gems/bundler-1.3.5/lib/bundler.rb:132:in `require’ from /Users/paul/Documents/Ruby/simple_cms/config/application.rb:7:in […]

我可以让Rails / WEBrick将/ etc / hosts中的条目识别为子域(而不是域)吗?

我正在尝试在本地使用子域用于Rails应用程序,因此我将以下行添加到我的/etc/hosts文件中: # add ‘test’ subdomain for localhost 127.0.0.1 test.localhost 现在我可以将浏览器指向test.localhost:3000并点击我的Rails应用程序。 但是,Rails或WEBrick将整个域名解释为域: # logging in the controller logger.debug(“domain: ‘#{request.domain}’, subdomain: ‘#{request.subdomain}'”) # output in the console domain: ‘test.localhost’, subdomain: ” 是否有一种简单的方法可以让WEBrick Rails将test解释为子域? 谢谢! 更新 我最终将before_action作为一种解决方法。 def set_domain_and_subdomain @domain = request.domain @subdomain = request.subdomain # HACK: force /etc/hosts subdomains if Rails.env.development? if m = request.domain.match(/([^\.]+).localhost/) @subdomain = […]

是否有正确的时间,您可能需要重新启动Webrick以查看更改?

我听说Kevin Skoglund(lynda.com)说,养成在开发过程中频繁重启Webrick的习惯是一种好习惯。 虽然通常您不需要重新启动Webrick来查看您的更改,但他暗示有时可能需要这样做? 有谁知道这些情况可能是什么? 这让奇怪的是Webrick是否有点片状。

从外部访问WEBrick服务器

我希望能够从我家外的机器访问我的开发服务器。 我试过运行rvmsudo rails server -p 80 ,但是当我尝试使用我的IP访问我的计算机时,我进入了路由器的配置页面… 有任何想法吗?

设置Webrick以服务于我的rails应用程序

我尝试在Ubuntu的计算机上托管我的ruby on rails app,但我无法得到它。 我尝试从我的路由器设置向前移植。 我想我成功地将端口转发到源端口80 – 8080和目标端口3000.然后我在生产模式下启动webrick。 但是,我无法通过键入我的外部IP从互联网上打开我的应用程序。 如何以正确的方式设置计算机? 你有什么建议吗? 谢谢…

Ruby on Rails:如何在Windows后自动启动WEBrick服务器?

为了在Windows XP上运行我的Rails应用程序,我打开一个命令行,cd到应用程序的目录,然后运行rails server 。 我想自动执行此操作,这样每次打开计算机时,我所要做的就是在浏览器中键入localhost:3000 。 我怎么能这样做?