Skip to content

Instantly share code, notes, and snippets.

@carloespinosa
Forked from benmoss/deploy.rb
Created December 3, 2012 10:53
Show Gist options
  • Save carloespinosa/4194181 to your computer and use it in GitHub Desktop.
Save carloespinosa/4194181 to your computer and use it in GitHub Desktop.
Configuring a remote sphinx server with Thinking Sphinx
# deploy.rb
namespace :ts_remote do
task :conf do
run <<-CMD
cd #{current_release}
&&
RAILS_ENV=#{rails_env} rake ts:conf
&&
rsync --progress #{current_release}/config/#{rails_env}.sphinx.conf sphinxsearch@db-server:/home/sphinxsearch/
&&
ssh sphinxsearch@db-server "searchd -c /home/sphinxsearch/#{rails_env}.sphinx.conf --stop
; searchd -c /home/sphinxsearch/#{rails_env}.sphinx.conf"
CMD
end
end
# sphinx.rake
namespace :ts_remote do
desc 'Update indexes on the remote sphinx server'
task :reindex do
system "ssh sphinxsearch@db-server indexer --config ./#{ENV['RAILS_ENV']}.sphinx.conf --all --rotate"
end
end
# sphinx.yml
development:
port: 9312
test:
port: 9312
staging:
port: 9312
address: db-server
sql_host: localhost
pid_file: /home/sphinxsearch/searchd.staging.pid
searchd_file_path: /home/sphinxsearch/searchd-staging
sql_sock: /var/run/mysqld/mysqld.sock
searchd_log_file: "/home/sphinxsearch/log/staging.searchd.log"
query_log_file: "/home/sphinxsearch/log/staging.query.log"
production:
port: 9313
address: db-server
pid_file: /home/sphinxsearch/searchd.production.pid
searchd_file_path: /home/sphinxsearch/searchd-production
sql_sock: /var/run/mysqld/mysqld.sock
searchd_log_file: "/home/sphinxsearch/log/production.searchd.log"
query_log_file: "/home/sphinxsearch/log/production.query.log"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment