标签: mongrel

Ruby on Rails服务器选项

为我的Ruby on Rails应用程序设置开发服务器的整个问题让我很困惑.我确信有WEBrick,Mongrel,Passenger,Apache,Nginx等等,我真的不明白他们扮演的角色.

我开始使用WEBrick,现在我使用Mongrel进行开发.这些服务器是独立的,还是它们位于Apache之前?

我读过有关Passenger的内容,我并不真正理解它是什么,该网站称"使Ruby Web应用程序的部署变得轻而易举",它是否取代了Mongrel?它是否像Capistrano一样,也部署了Web应用程序?

请记住我想测试SSL,我相信mongrel不支持,什么是最好的开发服务器设置?

谢谢

apache mongrel ruby-on-rails passenger

575
推荐指数
1
解决办法
9万
查看次数

gem install mongrel使用ruby 1.9.1失败

我昨天开始自己进入rails开发.
我安装了ruby 1.9.1,rubygems和rails.
运行gem install mongrel良好,表面上也安装了杂种.我有点疑惑,因为:

  • 脚本/服务器默认启动webrick
  • which mongrel 没有回报
  • locate mongrel 返回许多条目,如
/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1
/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib
/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel
.
.
.
/usr/local/bin/mongrel_rails
/usr/local/lib/ruby/gems/1.9.1/cache/mongrel-1.1.5.gem
/usr/local/lib/ruby/gems/1.9.1/doc/actionpack-2.3.2/rdoc/files/lib/action_controller/vendor/rack-1_0/rack/handler/evented_mongrel_rb.html
/usr/local/lib/ruby/gems/1.9.1/doc/actionpack-2.3.2/rdoc/files/lib/action_controller/vendor/rack-1_0/rack/handler/mongrel_rb.html
/usr/local/lib/ruby/gems/1.9.1/doc/actionpack-2.3.2/rdoc/files/lib/action_controller/vendor/rack-1_0/rack/handler/swiftiplied_mongrel_rb.html
/usr/local/lib/ruby/gems/1.9.1/gems/actionpack-2.3.2/lib/action_controller/vendor/rack-1.0/rack/handler/evented_mongrel.rb
/usr/local/lib/ruby/gems/1.9.1/gems/actionpack-2.3.2/lib/action_controller/vendor/rack-1.0/rack/handler/mongrel.rb
/usr/local/lib/ruby/gems/1.9.1/gems/actionpack-2.3.2/lib/action_controller/vendor/rack-1.0/rack/handler/swiftiplied_mongrel.rb
/usr/local/lib/ruby/gems/1.9.1/gems/mongrel-1.1.5
.
.
.

看起来我安装了mongrel(默认安装和我的自定义安装).那么为什么不是哪个杂种会回归呢.

尝试使用gem install mongrel返回重新安装mongrel 会抛出自己的异常集:

Building native extensions.  This could take a while...
ERROR:  Error installing mongrel:
    ERROR: Failed to build gem native extension.

/usr/local/bin/ruby extconf.rb install mongrel
checking for main() in -lc... yes
creating Makefile

make
gcc -I. -I/usr/local/include/ruby-1.9.1/i386-darwin9.7.0 -I/usr/local/include/ruby-1.9.1/ruby/backward -I/usr/local/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE …

ruby mongrel rubygems ruby-1.9

22
推荐指数
2
解决办法
2万
查看次数

使用Rails3和Ruby 1.9.2运行Mongrel的LoadError

我不熟悉编程(之前只做html/css/design)试图通过Simply Rails 2开始学习RoR.但是我想从最新版本的Ruby(1.9.2)和Rails(3)开始我被迫在没有这本书的情况下完成所有配置.我通过谷歌和stackoverflow看了很多.当我rails server自动运行它时使用Webrick,但我想使用Mongrel.我安装了预发布的Mongrel via gem install mongrel --pre并删除了以前的版本.我读到,为了让Mongrel与rails server我一起工作,我必须添加gem 'mongrel'到Gemfile,但我不知道我应该添加哪一个(我尝试了几个但没有改变).所以我决定通过git查看mongrel文档并了解mongrel_rails start我何时运行,我得到了这个:

C:\Ruby192\shovell>mongrel_rails start  
** Starting Mongrel listening at 0.0.0.0:3000  
** Starting Rails with development environment...   C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/runtime.rb:27:in
'block in setup': You have already activated mongrel 1.2.
0.pre2, but your Gemfile requires mongrel 1.1.5. Consider using bundle exec. (Gem::LoadError)  
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/spec_set.rb:12:in
'block in each'  
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/spec_set.rb:12:in
'each'  
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/spec_set.rb:12:in
'each'  
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler/runtime.rb:17:in
'setup'  
from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0.rc.6/lib/bundler.rb:100:in
'setup'  
from C:/Ruby192/shovell/config/boot.rb:8:in '<top (required)>'  
from <internal:lib/rubygems/custom_require>:29:in …
Run Code Online (Sandbox Code Playgroud)

ruby mongrel ruby-on-rails-3

17
推荐指数
2
解决办法
2万
查看次数

不同Ruby on Rails生产Web服务器之间的建议(和差异)

我很快就计划将我的第一个Ruby on Rails应用程序部署到生产环境中,我甚至选择了一个带有所有托管服务器的webhost,以及你期望从RoR提供商那里获得的Capistrano优点.

提供商允许Mongrel,Thin,Passenger和FastCGI Web服务器,这看起来非常灵活,但老实说我不知道​​它们之间的差异.我已经对它们进行了一些研究,但是当它们开始讨论功能和最大同时请求时,它们都会变得有点多 - 而且这些数据似乎会因发布者的不同而有所不同.

我看过Passenger(表面上看) - 这看起来对我很有吸引力 - 但我的印象是Passenger不是真正的网络服务器,而是更像是Apache或nginx之上的一层并且管理产生了应用程序的实例(如Mongrel集群).

任何人都可以请我直截了当地说明外行人的条款,以便我可以明智地选择(因为任何看过印第安纳琼斯和最后的十字军的人都知道如果选择不好会发生什么).

webserver mongrel fastcgi ruby-on-rails passenger

16
推荐指数
2
解决办法
6077
查看次数

Rails:无法访问日志文件

重新启动我的rails应用程序时出现以下错误.我以前遇到过这个问题,在另一个服务器上有另一个应用程序,但不记得是什么问题,或者我是如何解决它的.

Rails Error: Unable to access log file. Please ensure that /apps/staging/releases/20090310162127/log/staging.log exists and is chmod 0666. The log level has been raised to WARN and the output directed to STDERR until the problem is fixed.
Run Code Online (Sandbox Code Playgroud)

我正在Ubuntu上部署到带有capistrano的杂种群集.

当我做 ls -l /apps/staging/releases/20090310162127/log/staging.log

结果是:

-rw-rw-rw- 1 me grp 51 Mar 10 16:07 /apps/staging/releases/20090310162127/log/staging.log
Run Code Online (Sandbox Code Playgroud)

日志目录是link/ apps/staging/shared/log.

这是怎么回事?

linux mongrel capistrano ruby-on-rails

14
推荐指数
1
解决办法
9653
查看次数

Rails应用程序和Mongrel的奇怪问题

我最初在serverfault.com上发布了一个与此问题相关的问题:https://serverfault.com/questions/152587/apache-mod-proxy-to-another-server

我已经意识到这不是我的服务器设置问题,而是我的rails应用程序.我已经在服务器上设置了这个应用程序,就像我在同一台服务器上运行的另一个正常运行的rails应用程序一样.当我启动服务器时,我的mongrel.log看起来像这样:

** Daemonized, any open files are closed.  Look at /var/www/osuwebdev/tmp/pids/mongrel.pid and log/mongrel.log for info.
** Starting Mongrel listening at 0.0.0.0:8080
** Starting Rails with production environment...
** Rails loaded.
** Loading any Rails specific GemPlugins
** Signals ready.  TERM => stop.  USR2 => restart.  INT => stop (no restart).
** Rails signals registered.  HUP => reload (without restart).  It might not work well.
** Mongrel 1.1.5 available at 0.0.0.0:8080
** Writing PID file to /var/www/osuwebdev/tmp/pids/mongrel.pid …
Run Code Online (Sandbox Code Playgroud)

mongrel ruby-on-rails dispatcher

13
推荐指数
1
解决办法
3880
查看次数

你如何在Sinatra中选择你的HTTP服务器?

我在本地运行Sinatra应用程序.

自从我安装了Thin之后,我的Sinatra应用程序总是将它用作Web服务器.但是,我一直在使用Thin提供应用程序所需的大量静态文件的性能问题,我想切换到Mongrel或WEBrick.

我似乎无法弄清楚如何将我的应用程序切换到Mongrel或WEBrick.即使我放在app.rb的顶部require 'mongrel'或者require 'webrick'在我的顶部ruby app.rb,Sinatra仍然以Thin开头.

所以,我的问题是:如何指定Sinatra的Web服务器在开发模式下使用?另外,我怎么能在生产模式下这样做?

rack mongrel thin webrick sinatra

13
推荐指数
1
解决办法
9798
查看次数

你如何处理开发中的SSL?

我有一个应用程序,它与ssl_requirement插件一起使用HTTPS的一些路由.它已部署并在生产中正常运行.

问题是在开发过程中如何最好地处理这个问题,因为目前我只是在劈砍我routes.rb取下:requirements钥匙,显然这不是很方便或优雅:

map.resource :session, :controller => 'session',
                       :only => [:new, :create, :destroy],
                       :requirements => { :protocol => 'https' }
Run Code Online (Sandbox Code Playgroud)

理想情况下,我希望能够在Mongrel上开发我的应用程序的安全部分而不做任何更改.我怎样才能做到这一点?我正在使用Mac OS X.

ssl https mongrel ruby-on-rails

12
推荐指数
2
解决办法
5782
查看次数

我该如何解决这个错误?config.gem:vendor/gems中的unpacked gem authlogic-2.1.3没有规范文件

启动Mongrel服务器时出现此错误...

$ script/server --debugger
=> Booting Mongrel
=> Rails 2.3.5 application starting on http://0.0.0.0:3000
config.gem: Unpacked gem authlogic-2.1.3 in vendor/gems has no specification file. Run 'rake gems:refresh_specs' to fix this.
=> Debugger enabled
=> Call with -d to detach
=> Ctrl-C to shutdown server
Run Code Online (Sandbox Code Playgroud)

当我运行rake gems时:refresh_specs就像它表明我得到了另一个错误:

rake aborted!
undefined method `installed_source_index' for #<Gem::SourceIndex:0x100551a58>
Run Code Online (Sandbox Code Playgroud)

有关如何解决此问题的任何想法?

gem mongrel ruby-on-rails

12
推荐指数
1
解决办法
5901
查看次数

Nginx和Mongrel之间的区别?

我经常读到关于Nginx和Mongrel一起使用的内容.有人可以向我解释他们是如何不同的吗?为什么需要Mongrel?为什么让Nginx直接与许多Rails服务器通信是不可取的?

mongrel ruby-on-rails nginx

12
推荐指数
2
解决办法
4809
查看次数