2012-06-25 78 views
4

我要设置负载均衡和故障转移管理平台:没有这样的文件加载 - memcache,但它被安装?

HAProxy 1 ------- Apache 1 ------- MySQL 1 
    |   (Repcached)    | 
    |    |     | 
(virtual IP) (memcached repl) (master-master repl) 
    |    |     | 
    |   (Repcached)    | 
HAProxy 2 ------- Apache 2 ------- MySQL 2 

,我想用repcached用于会话存储:

/usr/local/memcached/bin/memcached -d -u memcached -l 192.168.3.118 -c 512 -t 8 -m 512 -p 11211 -P /usr/local/memcached/var/run/redmine.pid -f 1.25 -x 192.168.6.142 -X 112110

复制功能的正常工作(由telnet测试) 。

memcache-client安装:

# gem list memcache-client 

*** LOCAL GEMS *** 

memcache-client (1.8.5) 

,可以通过命令行来加载:

# su - apache -s /bin/bash 
-bash-3.2$ gem contents --no-prefix memcache-client 
FAQ.rdoc 
History.rdoc 
LICENSE.txt 
README.rdoc 
Rakefile 
bin/memcached_top 
lib/continuum_native.rb 
lib/memcache.rb 
lib/memcache/event_machine.rb 
lib/memcache/version.rb 
lib/memcache_util.rb 
performance.txt 
test/test_benchmark.rb 
test/test_event_machine.rb 
test/test_mem_cache.rb 

-bash-3.2$ ruby -rubygems -e 'require "memcache"' 
-bash-3.2$ echo $? 
0 

只有一个我的服务器上的Ruby版本:

-bash-3.2$ which ruby 
/usr/bin/ruby 
-bash-3.2$ gem env 
RubyGems Environment: 
    - RUBYGEMS VERSION: 1.8.10 
    - RUBY VERSION: 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux] 
    - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8 
    - RUBY EXECUTABLE: /usr/bin/ruby 
    - EXECUTABLE DIRECTORY: /usr/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-linux 
    - GEM PATHS: 
    - /usr/lib/ruby/gems/1.8 
    - /var/www/.gem/ruby/1.8 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 

配置/environment.rb

require 'memcache' 

config.action_controller.session_store = :mem_cache_store 

memcache_options = { 
    :compression => true, 
    :debug => false, 
    :namespace => "mem-#{RAILS_ENV}", 
    :readonly => false, 
    :urlencode => false 
} 

memcache_servers = [ '192.168.3.118:11211', '192.168.6.142:11211' ] 

CACHE = MemCache.new(memcache_options) 
CACHE.servers = memcache_servers 
ActionController::Base.session_options[:cache] = CACHE 

但重启动Apache时,它抛出下面的错误:

没有这样的文件加载 - 内存缓存

我错过了什么?

PS:

Redmine version       2.0.3.stable 
    Ruby version        1.8.7 (x86_64-linux) 
    Rails version       3.2.6 
    Environment        production 
    Database adapter       MySQL 
+0

您是否将Memcache添加到Gemfile? –

+0

随时发表您的评论作为答案,我会接受它。 – quanta

回答

2

您需要添加gem 'memcache-client'到Gemfile中。

+0

谢谢。确切的是'memcache-client'。 – quanta

相关问题