Created
April 19, 2011 14:38
-
-
Save benmoss/928090 to your computer and use it in GitHub Desktop.
Configuring a remote sphinx server with Thinking Sphinx
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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" |
Hey. I'm actually trying to do this but I'm having some difficulty on implementing and I hope you can help me.
How do I send out the password for the rsync? What's happening right now to me is that I'm having 'Permission denied, please try again.' so I guess this must be because I'm not handing out the password. So how do I bypass this? Thanks!
I think you need to use an RSA key that will allow your Rails server to connect to the Sphinx server without needing a password
See my fork for making the default RAILS_ENV=development
@benmoss @roganartu is this still relevant with ThinkingSphinx > v3.0 as far as you know?
bump
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
db-server is the database server (obvs)
sphinxsearch is the user on the db-server that has access to the relevant files
All the sphinx files are stored in sphinxsearch's home directory. No Rails on the db server, but you do need Sphinx on the app server in order to generate the conf file.