首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongrel_service和bundler

Mongrel_service和bundler
EN

Stack Overflow用户
提问于 2012-09-05 10:40:36
回答 1查看 316关注 0票数 0

我已经成功地安装了mongrel,mongrel_service,win-32服务,也成功地在我的计算机上安装了该服务,并且正在成功启动。

现在的主要问题是,我的应用程序使用了一束宝石,因此在正常情况下,mongrel_rails start将从bundle执行开始。即使服务启动了,mongrels也不会启动,因为我无法使用包执行来启动它。

我的问题是,如何在创建windows服务的命令中包含bundle exec,以便它能够使用bundle启动mongrels?

是否还有其他方法,可能在boot.rb或preinitializer.rb中包括bundle exec,以便它能够自动加载?我正在使用rails 2.3。

mongrel日志低于

代码语言:javascript
复制
** Starting Mongrel listening at 0.0.0.0:3000
** Starting Rails with production environment...
c:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.22/lib/bundler/runtime.rb:31:in
`setup': You have already activated mongrel 1.2.0.pre2, but your Gemfile
requires mongrel 1.2.0.pre2. Using bundle exec may solve this.
(Gem::LoadError)
  from
c:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.22/lib/bundler/runtime.rb:17:in
`setup'
  from**strong text**
c:/Ruby/lib/ruby/gems/1.8/gems/bundler-1.0.22/lib/bundler.rb:110:in
`setup'
  from c:/xxxxx/xxxxxx/config/../config/preinitializer.rb:17
  from c:/xxxxx/xxxxx/config/boot.rb:26:in `load'
  from c:/xxxxx/xxxxx/config/boot.rb:26:in `preinitialize'
  from c:/xxxxx/xxxxx/config/boot.rb:8:in `boot!'
  from c:/xxxxx/xxxxx/config/boot.rb:120
  from c:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require'
  from c:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`require'
  from c:/xxxxx/xxxxx/config/environment.rb:5
  from c:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require'
  from c:/Ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`require'
  from
c:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/../lib/mongrel/rails.rb:147:in
`rails'
  from
c:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:116:in
`cloaker_'
  from
c:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/../lib/mongrel/configurator.rb:149:in
`call'
  from
c:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/../lib/mongrel/configurator.rb:149:in
`listener'
  from
c:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:102:in
`cloaker_'
  from
c:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/../lib/mongrel/configurator.rb:50:in
`call'
  from
c:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/../lib/mongrel/configurator.rb:50:in
`initialize'
  from
c:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:86:in
`new'
  from
c:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:86:in
`run'
  from
c:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/../lib/mongrel/command.rb:210:in
`run'
  from
c:/Ruby/lib/ruby/gems/1.8/gems/mongrel-1.2.0.pre2-x86-mingw32/bin/mongrel_rails:282
  from c:/Ruby/bin/mongrel_rails:19:in `load'
  from c:/Ruby/bin/mongrel_rails:19
EN

回答 1

Stack Overflow用户

发布于 2012-09-06 13:27:41

我已经找到了解决这个问题的办法。Lavana说,事实上,mongrel_service已经死了,现在是一种新产品service_wrapper,它使各种工作人员的安装成为一种服务。按照下面的过程

  1. service_wrapper下载https://github.com/luislavena/service
  2. service_wrapper.exe从下载的服务包装器的bin文件夹复制到一个目录(例如C:\service_wrapper. )
  3. 通过打开任何文本编辑器并输入以下内容,为service_wrapper创建一个配置文件

;服务部分,它将是service_wrapper唯一读取的部分。

服务

;通往ruby可执行文件的路径

可执行文件= C:\Ruby\bin\ruby.exe

;ruby可执行文件的参数

参数=C:\Ruby\bundle exec mongrel_rails start -p 3000 -e开发

路径您的应用程序目录

目录= C:\myapp

;可选地指定一个日志文件,其中STDOUT和STDERR的可执行文件都将被;重定向。;请注意,完整路径也是必需的.

C:\service_wrapper\service_wraper_log.log日志文件=

  1. 使用扩展"my_config.conf" ".conf" say c:\service_wrapper将文本文件保存到c:\service_wrapper目录中
  2. 打开命令提示符并键入以下命令以创建windows服务:

sc创建服务名binPath= "c:\service_wrapper\service_wrapper.exe c:\service_wrapper\my_config.conf“start= auto

(请注意binPath=和start=后面的空格)

  1. 键入net start servicename以启动服务
  2. 等一会儿,大约30秒后,你就可以在本地主机3000打开你的应用程序了。

希望它能帮到别人。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12279600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档