标签: passenger

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万
查看次数

无法加载此类文件 - bundler/setup(LoadError)

我正在使用Ruby 2.0设置Rails 4应用程序,但我得到"Web应用程序无法启动"并得到此跟踪:

cannot load such file -- bundler/setup (LoadError)
  /usr/local/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in `require'
  /usr/local/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in `require'
  /usr/lib/ruby/gems/1.8/gems/passenger-4.0.19/lib/phusion_passenger/loader_shared_helpers.rb:212:in `run_load_path_setup_code'
  /usr/lib/ruby/gems/1.8/gems/passenger-4.0.19/helper-scripts/rack-preloader.rb:96:in `preload_app'
  /usr/lib/ruby/gems/1.8/gems/passenger-4.0.19/helper-scripts/rack-preloader.rb:150:in `<module:App>'
  /usr/lib/ruby/gems/1.8/gems/passenger-4.0.19/helper-scripts/rack-preloader.rb:29:in `<module:PhusionPassenger>'
  /usr/lib/ruby/gems/1.8/gems/passenger-4.0.19/helper-scripts/rack-preloader.rb:28:in `<main>'
Run Code Online (Sandbox Code Playgroud)

我的apache2.conf是:

LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-4.0.19/buildout/apache2/mod_passenger.so
   PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-4.0.19
   PassengerDefaultRuby /usr/local/bin/ruby
Run Code Online (Sandbox Code Playgroud)

bundle -v 是:

Bundler version 1.3.5
Run Code Online (Sandbox Code Playgroud)

ruby -v 是:

ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-linux]
Run Code Online (Sandbox Code Playgroud)

gem env 是:

RubyGems Environment:
  - RUBYGEMS VERSION: 2.1.5
  - RUBY VERSION: 2.0.0 (2013-06-27 patchlevel 247) [x86_64-linux]
  - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: /usr/local/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/lib/ruby/gems/1.8/bin
  - SPEC CACHE DIRECTORY: …
Run Code Online (Sandbox Code Playgroud)

rubygems passenger ruby-2.0 ruby-on-rails-4

117
推荐指数
9
解决办法
21万
查看次数

使用Phusion Passenger和Rails时,初始服务器启动缓慢

为了跳上Phusion Passenger的乐队,我们为一个小型rails应用程序设置了一个临时服务器来测试.

到目前为止,使用它非常好,它使安装/配置和部署应用程序变得轻而易举.问题是我们使用的网站不会经常受到影响,似乎在后台关闭服务器.这意味着当某人进入该站点时,他们会等待很长时间,直到它启动一个新服务器来处理该请求.我们已经阅读了文档,尝试了很多不同的设置(智能/智能-lv2模式,乘客时间等),但仍然没有找到真正的解决方案.

在浏览Google结果后,我们无法真正找到有用的信息.目前,我们有一个cron作业,每隔一段时间发出一次请求,试图让服务器保持运行.

是否有其他人遇到此问题,您对修复有任何建议吗?

deployment ruby-on-rails passenger phusion

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

来自nginx /乘客的"来自申请的不完整回复"

我尝试通过capistrano在nginx和ubuntu上部署我的rails应用程序,如https://gorails.com/deploy/ubuntu/14.04页面上的教程.但最后我收到一条错误信息:

Incomplete response received from application
Run Code Online (Sandbox Code Playgroud)

在我的浏览器中.这可能是乘客的错误,但我怎么能弄明白该怎么办?

ruby-on-rails passenger nginx

66
推荐指数
4
解决办法
5万
查看次数

是否可以将二进制图像数据放入html标记中,然后在任何浏览器中像往常一样显示图像?

这是一个重要的安全问题,我相信这应该是可能的.

一个简单的例子:

您运行社区门户.用户已注册并上传他们的照片.只要允许显示图片,您的应用程序就会提供安全规则.例如,用户必须是系统各方的朋友,以便您可以查看其他人上传的图片.

问题出现了:有人可能会抓取您服务器的图像目录.但是您希望保护您的用户免受此类攻击.

如果可以将图像的二进制数据直接放入HTML标记中,则可以限制用户对用户的访问权限以及运行Web应用程序的组,并将图像数据直接传递给Apache用户和组. HTML.

那么唯一可能的弱点就是您的网络应用运行的用户的密码.

有可能吗?

html security image apache2 passenger

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

Rails 3:Passenger无法找到bundler安装的git gem

Rails 3.0.0,乘客2.2.15:

  • 创建一个新的Rails项目
  • 添加gem 'paperclip', :git => 'git://github.com/lmumar/paperclip.git', :branch => 'rails3' 到您的Gemfile
  • bundle install
  • 一切正常,从rails/script server&access 开始也有效
  • 但是,在使用Passenger访问时,它说:

未检出git://github.com/lmumar/paperclip.git(在rails3).请运行bundle install(Bundler :: GitError)

我曾尝试bundler pack(不利于)和设置BUNDER_HOME到〜/ .bundler(回纹针的git得到由安装有bundler install在.htaccess和不同的地方)在配置/*.RB,但没有成功,太.

〜/ .bundler是由相同的用户Rails项目(客运此用户下运行)所拥有,所以它不可能是一个权限问题.sudo已安装并调用bundle install.

任何提示?

ruby-on-rails passenger bundler ruby-on-rails-3

46
推荐指数
3
解决办法
3万
查看次数

什么时候重新启动而不是重新加载Nginx?

什么时候需要重新启动nginx并重新加载是不够的?
如果使用像乘客这样的分机,会有所不同吗?

如果服务消耗太多内存,应该重新启动服务.重启Nginx的其他原因,特别是在扩展或Nginx核心配置中进行配置更改后?

在进行配置更改后,可以通过二进制本身或Ubuntu上的init.d脚本"/etc/init.d/nginx -h" 重新启动或重新加载nginx .应该首选哪种方法?

deployment passenger nginx

46
推荐指数
3
解决办法
3万
查看次数

当我使用Bundler时,为什么要关心RVM的Gemset功能?

我只是不明白.我想,Bundler的开发是为了解决宝石之间的版本冲突.因此我require "bundler/setup"知道Bundler将加载我所有宝石及其依赖项的正确版本.现在,RVM非常适合管理多个Rubies,我知道,但为什么我应该关心Gemset功能呢?我在这里想念一下吗?它能使我的开发更容易吗?也许,你们中的一些人可以给我一些关于开发和生产的完美RVM + Bundler工作流程的一些提示.

我也不知道RVM何时开始切换到另一个Ruby.我知道.rvmrc我的项目中可以有一个文件,但是我必须cd到这个目录才能进行切换吗?

此外,我通常使用Passenger进行开发,因为Passenger.prefpaneMac OS中集成非常棒.我还能用RVM做到这一点还是有更好的方法呢?Passenger是否识别.rvmrc文件并切换到正确的Gemset?

ruby workflow passenger bundler rvm

41
推荐指数
2
解决办法
4992
查看次数

Phusion Passenger(傻瓜!)

我是一位经验丰富的LAMP开发人员,正在进入Rails.我有一个非常愚蠢的问题:Phusion Passenger到底做了什么?

我已经阅读了很多文档,我用Google搜索,我读过维基百科,我读过Stack Overflow.我甚至已经安装它并让它在开发机器上运行(使用Apache).我仍然不知道它到底在做什么.

这是一个猜测:我认为Apache文档根指向/mywebapp/public/而不是,这是奇怪的/mywebapp/,所以我认为它与使得所有内容/mywebapp/都可访问有关.(这是一个疯狂的猜测,基于这样一个事实,我不知道这些东西是如何被访问的.)

我已经知道Passenger是革命性的,开创性的等等,但是它做了什么!

对不起n00b问题,大家好.谢谢!

ruby-on-rails passenger

40
推荐指数
2
解决办法
4886
查看次数

未初始化的常量ActionDispatch :: Session :: EncryptedCookieStore(NameError)

我和乘客在轨道4上.一切都很顺利,直到我bundle刚才做了.现在我遇到以下错误:

Web application could not be started

uninitialized constant ActionDispatch::Session::EncryptedCookieStore (NameError)
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/application/configuration.rb:144:in `const_get'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/application/configuration.rb:144:in `session_store'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/application.rb:345:in `block in default_middleware_stack'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/application.rb:307:in `tap'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/application.rb:307:in `default_middleware_stack'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/engine.rb:494:in `app'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/application/finisher.rb:34:in `block in <module:Finisher>'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/initializable.rb:30:in `instance_exec'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/initializable.rb:30:in `run'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/initializable.rb:55:in `block in run_initializers'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/tsort.rb:150:in `block in tsort_each'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/tsort.rb:183:in `block (2 levels) in each_strongly_connected_component'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/tsort.rb:219:in `each_strongly_connected_component_from'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/tsort.rb:182:in `block in each_strongly_connected_component'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/tsort.rb:180:in `each'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/tsort.rb:180:in `each_strongly_connected_component'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/2.0.0/tsort.rb:148:in `tsort_each'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/initializable.rb:54:in `run_initializers'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/application.rb:214:in `initialize!'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/bundler/gems/rails-2ac97df55230/railties/lib/rails/railtie/configurable.rb:30:in `method_missing'
  /opt/ptolemy-web/config/environment.rb:5:in `<top (required)>'
  config.ru:3:in `require'
  config.ru:3:in `block in <main>'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:55:in `instance_eval'
  /u/sf/ytl/.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:55:in `initialize' …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails passenger session-cookies

35
推荐指数
1
解决办法
7203
查看次数