2012-02-02 13 views
6

Próbuję zacząć myśleć o sfinksie na moim serwerze, ale to nie chce działać.Myślenie sfinksa nie rozpoczyna się - "Nie udało się uruchomić demona wyszukiwania"

zrobić:

$ rake thinking_sphinx:index && rake thinking_sphinx:start 

i dostaję: System

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, increasing to 13568 kb 
collected 0 docs, 0.0 MB 
total 0 docs, 0 bytes 
total 0.012 sec, 0 bytes/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.000 sec, 0.0 kb/call avg, 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 

mój serwer jest Ubuntu 10.04. Ponadto na moim komputerze lokalnym (Mac OS X) działa idealnie.

Moja 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 

config/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 

Odpowiedz

14

I rozwiązać go. Miałem proces sfinks w tle, więc po prostu zabił go:

$ 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 

Potem zacząłem sfinks:

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

Witam otrzymuję ten problem, gdy robię rake thinking_sphinx: start .... otrzymuję następujący błąd Nie powiodło się uruchomienie demona searchd. Sprawdź /home/user/newsvn/alumnicell/log/searchd.log. Nie powiodło się uruchomienie demona. Sprawdź /home/user/newsvn/alumnicell/log/searchd.log Pamiętaj, aby uruchomić think_sphinx: index before thinking_sphinx: start co powinieneś zrobić – NJF

+0

Myślę, że powinieneś zadać inne pytanie na stackoverflow. – ExiRe

+0

Alternatywnie można użyć "pgrep searchd", aby znaleźć uruchomiony proces. – Stone

5

Brzmi jak startowych już rozpoczął wystąpienie searchd związany z portem 9312 .

Istnieje kilka rozwiązań:

  1. zabić wystąpienie systemowy searchd: sudo service sphinxsearch stop.
  2. Zmodyfikuj config/sphinx.yml i powiedz Sphinx, aby używał innego portu w produkcji. (config/thinking_sphinx.yml jeśli używasz TS 3.x)
  3. Skonfiguruj swój serwer tak, aby nie uruchamiał wyszukiwania po uruchomieniu systemu. W Ubuntu 14.04 możesz to zrobić edytując /etc/defaults/sphinxsearch i ustawiając START=no.

Nasz serwer działa z Ubuntu, a ja zainstalowałem Sphinx z Debian package dostępnego na stronie Sphinx.

0

W moim przypadku sprawdził tego pliku: ../yourdirectory/log/searchd.log i było napisane, że: /usr/local/var/data/binlog.002: No such file or directory I tylko to zrobić:

touch /usr/local/var/data/binlog.002

Done, działa bez zarzutu.

Powiązane problemy