Created
April 25, 2017 10:04
-
-
Save MasashiSalvador57f/6dfa4f478ef007a80850d5905dc5c65a to your computer and use it in GitHub Desktop.
This file contains hidden or 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
| # Error in launcing app server in Heroku (And how to solve) | |
| ## Environments | |
| * Heroku | |
| * Memcachier | |
| * Rails 5 API Mode | |
| * MySQL ClearDB | |
| ## Error | |
| ``` | |
| 2017-04-25T08:46:54.321621+00:00 app[web.1]: W, [2017-04-25T08:46:54.321561 #4] WARN -- : localhost:11211 failed (count: 0) Errno::ECONNREFUSED: Connection refused - connect(2) for "localhost" port 11211 | |
| ``` | |
| ## source code (before resolve the problem) | |
| ### configuration file | |
| ```config/environments/production.rb | |
| config.cache_store = :dalli_store, | |
| nil, | |
| { | |
| :username => ENV["MEMCACHIER_USERNAME"], | |
| :password => ENV["MEMCACHIER_PASSWORD"], | |
| :failover => true, | |
| :socket_timeout => 1.5, | |
| :socket_failure_delay => 0.2, | |
| :down_retry_delay => 60, | |
| :expires_in => 7.day, | |
| :compress => true, | |
| :namespace => 'Planna-prod', | |
| } | |
| ``` | |
| note: According to [GitHub - petergoldstein/dalli: High performance memcached client for Ruby](https://github.com/petergoldstein/dalli) | |
| > If your servers are specified in ENV["MEMCACHE_SERVERS"] (e.g. on Heroku when using a third-party hosted addon), simply provide nil for the servers: | |
| Or simply write configuration according to a Heroku document. | |
| ```config/environments/production.rb | |
| config.cache_store = :dalli_store, | |
| (ENV["MEMCACHIER_SERVERS"] || "").split(","), | |
| { | |
| :username => ENV["MEMCACHIER_USERNAME"], | |
| :password => ENV["MEMCACHIER_PASSWORD"], | |
| :failover => true, | |
| :socket_timeout => 1.5, | |
| :socket_failure_delay => 0.2, | |
| :down_retry_delay => 60, | |
| :expires_in => 7.day, | |
| :compress => true, | |
| :namespace => 'Planna-prod', | |
| ``` | |
| and, in `config/application.rb` is a middleware configuration as | |
| ``` | |
| config.middleware.use ActionDispatch::Session::MemCacheStore, expires_after: 7.day | |
| ``` | |
| and, `config/initializers/session_store.rb` is | |
| ``` | |
| Rails.application.config.session_store :mem_cache_store | |
| ``` | |
| ### environmental variables | |
| Enviromental variables are set as below, | |
| * MEMCACHE_PASSWORD | |
| * MEMCACHE_USERNAME | |
| * MEMCACHE_SERVERS | |
| * MEMCACHIER_PASSWORD | |
| * MEMCACHIER_USERNAME | |
| * MEMCACHIER_SERVERS | |
| ### the first try | |
| Modify `config/initializers/session_store.rb` from | |
| ``` | |
| Rails.application.config.session_store :mem_cache_store | |
| ``` | |
| To | |
| ``` | |
| Rails.application.config.session_store :dalli_store | |
| ``` | |
| ### the second try | |
| Modify `config/application.rb` from | |
| ``` | |
| config.middleware.use ActionDispatch::Session::MemCacheStore, expires_after: 7.day | |
| ``` | |
| To | |
| ``` | |
| require 'action_dispatch/middleware/session/dalli_store' | |
| config.middleware.use ActionDispatch::Session::DalliStore, expires_after: 7.day | |
| ``` | |
| and then I encountered the same problem as mentioned in this issue: https://github.com/petergoldstein/dalli/issues/613 | |
| so I tried to fix up the code the instruction In the issue 613. | |
| > Update the value of config.cache_store in your environment configuration to be :dalli_store | |
| > Set the config.session_store values to ActionDispatch::Session::CacheStore with whatever options you'd like | |
| Then the problem in heroku (the output is below) | |
| ``` | |
| 2017-04-25T10:00:38.564394+00:00 heroku[web.1]: Process exited with status 0 | |
| 2017-04-25T10:00:39.945440+00:00 heroku[web.1]: Starting process with command `bin/rails server -p 29870 -e production` | |
| 2017-04-25T10:00:42.430045+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.1/lib/active_support/xml_mini.rb:51: warning: constant ::Fixnum is deprecated | |
| 2017-04-25T10:00:42.430073+00:00 app[web.1]: /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.1/lib/active_support/xml_mini.rb:52: warning: constant ::Bignum is deprecated | |
| 2017-04-25T10:00:43.478293+00:00 app[web.1]: => Booting Puma | |
| 2017-04-25T10:00:43.478322+00:00 app[web.1]: => Rails 5.0.1 application starting in production on http://0.0.0.0:29870 | |
| 2017-04-25T10:00:43.478323+00:00 app[web.1]: => Run `rails server -h` for more startup options | |
| ``` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment