ruby-on-rails-3.1 – 思考sphinx无法启动 – “无法启动searchd守护进程”

我试着开始在我的服务器上思考sphinx,但它不想工作.

我做:

$rake thinking_sphinx:index && rake thinking_sphinx:start

我得到:

Generating Configuration to /vol/www/apps/ror_tutorial/releases/20120202111730/config/development.sphinx.conf
Sphinx 2.0.3-release (r3043)
copyright (c) 2001-2011,Andrew Aksyonoff
copyright (c) 2008-2011,Sphinx Technologies Inc (http://sphinxsearch.com)

using config file '/vol/www/apps/ror_tutorial/releases/20120202111730/config/development.sphinx.conf'...
indexing index 'micropost_core'...
WARNING: collect_hits: mem_limit=0 kb too low,increasing to 13568 kb
collected 0 docs,0.0 MB
total 0 docs,0 bytes
total 0.008 sec,0 bytes/sec,0.00 docs/sec
skipping non-plain index 'micropost'...
indexing index 'user_core'...
WARNING: collect_hits: mem_limit=0 kb too low,0 bytes
total 0.012 sec,0.00 docs/sec
skipping non-plain index 'user'...
total 2 reads,0.000 sec,0.0 kb/call avg,0.0 msec/call avg
total 10 writes,0.0 msec/call avg
Failed to start searchd daemon. Check /vol/www/apps/ror_tutorial/releases/20120202111730/log/searchd.log.
Failed to start searchd daemon. Check /vol/www/apps/ror_tutorial/releases/20120202111730/log/searchd.log
Be sure to run thinking_sphinx:index before thinking_sphinx:start

我的服务器系统是Ubuntu 10.04.此外,在我的本地机器(Mac OS X)上,它完美无缺.

我的sphinx.yml:

development:
  bin_path: "/usr/local/bin"
  searchd_binary_name: searchd
  indexer_binary_name: indexer

test:
  bin_path: "/usr/local/bin"
  searchd_binary_name: searchd
  indexer_binary_name: indexer

配置/ deploy.rb

#Add RVM's lib directory to the load path.
$:.unshift(File.expand_path('./lib',ENV['rvm_path']))

#Load RVM's capistrano plugin.    
require "rvm/capistrano"
require 'bundler/capistrano'
#require 'thinking_sphinx/deploy/capistrano'

set :rvm_ruby_string,'1.9.3-head'                                            #This is current version of ruby which is uses by RVM. To get version print: $rvm list 
set :rvm_type,:root                                                          #Don't use system-wide RVM,use my user,which name is root.

set :user,"root"                                                             #If you log into your server with a different user name than you are logged into your local machine with,you’ll need to tell Capistrano about that user name.
set :rails_env,"production"

set :application,"ror_tutorial"
set :deploy_to,"/vol/www/apps/#{application}"

set :scm,:git
set :repository,"git://github.com/Loremaster/sample_app.git"
set :branch,"master"
set :deploy_via,:remote_cache
default_run_options[:pty] = true                                              #Must be set for the password prompt from git to work#Keep cash of repository locally and with ney deploy get only changes.


server "188.127.224.136",:app,# This may be the same as your `Web` server
                          :web,:db,:primary => true                               # This is where Rails migrations will run


# If you are using Passenger mod_rails uncomment this:
namespace :deploy do
   task :start do ; end
   task :stop do ; end
   task :restart,:roles => :app,:except => { :no_release => true } do
     run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
   end
end


desc "Prepare system"
  task :prepare_system,:roles => :app do
    run "cd #{current_path} && bundle install --without development test && bundle install --deployment"
  end

  after "deploy:update_code",:prepare_system

解决方法

解决了我在背景中有狮身人面像的过程,所以我就把它杀死了:
$ps -efa | grep sphinx
root     23823     1  0 14:12 ?        00:00:00 searchd --pidfile --config /vol/www/apps/ror_tutorial/releases/20120202111104/config/production.sphinx.conf
root     27069 20413  0 14:49 pts/1    00:00:00 grep sphinx
$kill 23823

然后我开始狮身人面像:

$rake ts:start RAILS_ENV=production
Started successfully (pid 27097).

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...