install memcache :
If you want to specify a different installation directory, use the --prefix option:
shell> ./configure --prefix=/opt
The default is to use the /usr/local directory.
/usr/local/bin /usr/local/include /usr/local/share
libevent安装
>tar -zxvf libevent-1.4.9-stable.tar.gz
>cd libevent-1.4.9-stable
>./configure //默认装到/usr/lib/下
>make
>make install
Memcached安装
>tar -zxvf memcached-1.4.1.tar.gz
>cd memcached-1.4.1
>./configure --prefix=/usr/local/memcached
>make
>make install
安装client和依赖的gem
sudo gem install -v=1.6.5 memcache-client
sudo gem install SystemTimer
启动memcached
/usr/local/bin/memcached -d -m 10 -u root -l 127.0.0.1 -p 12000 -c 256 -P /tmp/memcached.pid
environment.rb
# Be sure to restart your server when you modify this file
# Specifies gem version of Rails to use when vendor/rails is not present
RAILS_GEM_VERSION = '2.3.4' unless defined? RAILS_GEM_VERSION
# Bootstrap the Rails environment, frameworks, and default configuration
require File.join(File.dirname(__FILE__), 'boot')
require 'memcache'
# require 'memcache_util'
# memcache defaults, environments may override these settings
unless defined? MEMCACHE_OPTIONS then
MEMCACHE_OPTIONS = {:debug => false,
:namespace => "mem-#{RAILS_ENV}",
:readonly => false}
end
# memcache configuration
unless defined? MEMCACHE_CONFIG then
File.open "#{RAILS_ROOT}/config/memcached.yml" do |memcache|
MEMCACHE_CONFIG = YAML::load memcache
end
end
# Connect to memcache
unless defined? CACHE then
CACHE = MemCache.new MEMCACHE_OPTIONS
CACHE.servers = MEMCACHE_CONFIG[RAILS_ENV]
end
Rails::Initializer.run do |config|
# Settings in config/environments/* take precedence over those specified here.
# Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded.
# Add additional load paths for your own custom dirs
# config.load_paths += %W( #{RAILS_ROOT}/extras )
config.load_paths += Dir.glob("#{RAILS_ROOT}/app/models/*").select { |f| File.directory? f }
config.load_paths += Dir.glob("#{RAILS_ROOT}/lib/*").select { |f| File.directory? f }
config.load_paths += Dir.glob("#{RAILS_ROOT}/app/views/api3/*").select { |f| File.directory? f }
config.load_paths << "#{RAILS_ROOT}/vendor/prawn/lib"
# Specify gems that this application depends on and have them installed with rake gems:install
# config.gem "bj"
# config.gem "hpricot", :version => '0.6', :source => "http://code.whytheluckystiff.net"
# config.gem "sqlite3-ruby", :lib => "sqlite3"
# config.gem "aws-s3", :lib => "aws/s3"
# Only load the plugins named here, in the order given (default is alphabetical).
# :all can be used as a placeholder for all plugins not explicitly named
# config.plugins = [ :exception_notification, :ssl_requirement, :all ]
# Skip frameworks you're not going to use. To use Rails without a database,
# you must remove the Active Record framework.
# config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
# Activate observers that should always be running
# config.active_record.observers = :cacher, :garbage_collector, :forum_observer
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
# Run "rake -D time" for a list of tasks for finding time zone names.
config.time_zone = 'Beijing'
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}')]
# config.i18n.default_locale = :de
#solve error: ActionController::InvalidAuthenticityToken
config.action_controller.allow_forgery_protection = false
config.action_controller.session_store = :mem_cache_store
config.action_controller.session = {
:session_key => "mem-#{RAILS_ENV}",
:secret => '8fc080370e56e929a2d5afca5540a0f7',
:cache => CACHE,
# :expires => 900,
:expire_after => 3600*1 #session expired after 1 hour
}
end
memcached.yml
development: 188.188.1.88:11211
test: 188.188.1.88:11211
production: 188.188.1.88:11211