Ubuntu 14.04安装,带有nginx,passenger和postgresql。运行以下步骤:
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install mysql-server
sudo mysql_secure_installation _for allowing only localhost connection_
sudo apt-get install sphinxsearch
宝石文件
gem 'mysql2', '0.3.18', :platform => :ruby
gem 'thinking-sphinx', '3.1.4'
thinking_sphinx.yml指定
mysql41: 9312
运行:
RAILS_ENV=development bundle exec rake ts:rebuild
正确进行:total 112 writes, 0.079 sec, 485.0 kb/call avg, 0.7 msec/call avg Started searchd successfully (pid: 21644).
netstat -ltnp
仅显示一个搜索过程
tcp 0 0 127.0.0.1:9312 0.0.0.0:* LISTEN 21644/searchd
所以人们得出的结论是,一切都好......对吗? [讨厌的蜂鸣器]
ThinkingSphinx::ConnectionError
Error connecting to Sphinx via the MySQL protocol.
Error connecting to Sphinx via the MySQL protocol. _nice... stated twice!_
Can't connect to MySQL server on '127.0.0.1' (111)
非连接的可能途径:
他人?如何验证/断言?
答案 0 :(得分:0)
虽然Sphinx实现了用于查询的MySQL协议,但它并没有关注身份验证,因此Thinking Sphinx也没有使用这些字段。所以我不确定mysql_secure_installation是否适合这项工作 - 当然,如果它试图使用身份验证来控制访问权限。如果您不想允许与Sphinx进行外部通信,您是否可以阻止该端口?
答案 1 :(得分:0)
在Pat的观察基础上,以下让我运行Ubuntu 14.04安装,使用nginx,passenger和postgresql。
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install mysql-server
sudo apt-get install sphinx search
确保gem文件
gem 'mysql2', '0.3.18', :platform => :ruby
gem 'thinking-sphinx', '3.1.4'
# alternately with JRuby
gem 'jdbc-mysql', '~> 5.1.28', :platform => :jruby
thinking_sphinx.yml必须指定
mysql41: [port_number]
多个搜索过程需要不同的端口 配置,索引和启动:
RAILS_ENV=[your_environment] bundle exec rake ts:rebuild
sudo netstat -ltnp
应该显示think_sphinx.yml中定义的侦听端口,并在config / [your_environment]中显示.sphinx.conf
tcp 0 0 127.0.0.1:[port_number] 0.0.0.0:* LISTEN 21644/searchd
最后,
sudo reboot