<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>dailyzhou (Aaron Zhou)</title>
    <link>https://ruby-china.org/dailyzhou</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Renew SSL 证书的时候报错</title>
      <description>&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[Thu Oct 17 15:29:30 UTC 2019] url='https://acme-v01.api.letsencrypt.org/directory'
[Thu Oct 17 15:29:30 UTC 2019] timeout=
[Thu Oct 17 15:29:30 UTC 2019] _CURL='curl -L --silent --dump-header /home/app/ssl/http.header  -g '
[Thu Oct 17 15:29:31 UTC 2019] ret='0'
[Thu Oct 17 15:29:31 UTC 2019] Could not get nonce, let's try again.
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;请问有什么解决办法没。&lt;/p&gt;

&lt;p&gt;GitHub 上的&lt;a href="https://github.com/ruby-china/homeland-docker" rel="nofollow" target="_blank" title=""&gt;repo&lt;/a&gt;已经很久没更新了，是停止维护了嘛。&lt;/p&gt;</description>
      <author>dailyzhou</author>
      <pubDate>Thu, 17 Oct 2019 23:34:24 +0800</pubDate>
      <link>https://ruby-china.org/topics/39168</link>
      <guid>https://ruby-china.org/topics/39168</guid>
    </item>
    <item>
      <title>ElasticSearch Error</title>
      <description>&lt;p&gt;版本升级的时候遇到个重建索引的错，现象是现在网站无法搜索，有没有什么好方法处理一下，谢谢 &lt;img title=":joy:" alt="😂" src="https://twemoji.ruby-china.com/2/svg/1f602.svg" class="twemoji"&gt; &lt;/p&gt;

&lt;p&gt;在网站上搜索直接报错，后台 Exception 如下&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Method:      GET
URL:         /search?q=a
Controller:  search#index
RequestId:   8fcba3f8-9bee-4f9c-9d98-83558936d663
User-Agent:  Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36
Remote IP:   172.19.0.8
Language:    en,zh-CN;q=0.9,zh;q=0.8
Server:      83a0e57b3091
Process:     11

--------------------------------------------------

#&amp;lt;ActionView::Template::Error: [404] {"error":{"root_cause":[{"type":"index_not_found_exception","reason":"no such index","resource.type":"index_or_alias","resource.id":"pages","index_uuid":"_na_","index":"pages"}],"type":"index_not_found_exception","reason":"no such index","resource.type":"index_or_alias","resource.id":"pages","index_uuid":"_na_","index":"pages"},"status":404}&amp;gt;


/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/elasticsearch-transport-5.0.5/lib/elasticsearch/transport/transport/base.rb:202:in `__raise_transport_error'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/elasticsearch-transport-5.0.5/lib/elasticsearch/transport/transport/base.rb:319:in `perform_request'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/elasticsearch-transport-5.0.5/lib/elasticsearch/transport/transport/http/faraday.rb:20:in `perform_request'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/elasticsearch-transport-5.0.5/lib/elasticsearch/transport/client.rb:131:in `perform_request'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/elasticsearch-api-5.0.5/lib/elasticsearch/api/actions/search.rb:183:in `search'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/elasticsearch-model-5.0.2/lib/elasticsearch/model/searching.rb:51:in `execute!'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/elasticsearch-model-5.0.2/lib/elasticsearch/model/response.rb:31:in `response'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/elasticsearch-model-5.0.2/lib/elasticsearch/model/response/base.rb:33:in `total'
/home/app/homeland/app/views/search/index.html.erb:5:in `_app_views_search_index_html_erb__2909668803154264808_70059658455800'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionview-5.2.2.1/lib/action_view/template.rb:159:in `block in render'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/notifications.rb:170:in `instrument'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionview-5.2.2.1/lib/action_view/template.rb:354:in `instrument_render_template'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionview-5.2.2.1/lib/action_view/template.rb:157:in `render'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionview-5.2.2.1/lib/action_view/renderer/template_renderer.rb:54:in `block (2 levels) in render_template'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionview-5.2.2.1/lib/action_view/renderer/abstract_renderer.rb:44:in `block in instrument'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/notifications.rb:168:in `block in instrument'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/notifications.rb:168:in `instrument'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionview-5.2.2.1/lib/action_view/renderer/abstract_renderer.rb:43:in `instrument'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionview-5.2.2.1/lib/action_view/renderer/template_renderer.rb:53:in `block in render_template'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionview-5.2.2.1/lib/action_view/renderer/template_renderer.rb:61:in `render_with_layout'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionview-5.2.2.1/lib/action_view/renderer/template_renderer.rb:52:in `render_template'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionview-5.2.2.1/lib/action_view/renderer/template_renderer.rb:16:in `render'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionview-5.2.2.1/lib/action_view/renderer/renderer.rb:44:in `render_template'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionview-5.2.2.1/lib/action_view/renderer/renderer.rb:25:in `render'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionview-5.2.2.1/lib/action_view/rendering.rb:103:in `_render_template'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/streaming.rb:219:in `_render_template'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionview-5.2.2.1/lib/action_view/rendering.rb:84:in `render_to_body'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/rendering.rb:52:in `render_to_body'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/renderers.rb:142:in `render_to_body'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/abstract_controller/rendering.rb:25:in `render'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/rendering.rb:36:in `render'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/instrumentation.rb:46:in `block (2 levels) in render'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/core_ext/benchmark.rb:14:in `block in ms'
/usr/local/lib/ruby/2.6.0/benchmark.rb:308:in `realtime'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/core_ext/benchmark.rb:14:in `ms'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/instrumentation.rb:46:in `block in render'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/instrumentation.rb:87:in `cleanup_view_runtime'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/railties/controller_runtime.rb:31:in `cleanup_view_runtime'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/instrumentation.rb:45:in `render'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/implicit_render.rb:35:in `default_render'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `block in send_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `tap'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/abstract_controller/base.rb:194:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/rendering.rb:30:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/callbacks.rb:132:in `run_callbacks'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/abstract_controller/callbacks.rb:41:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/rescue.rb:22:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/notifications.rb:168:in `block in instrument'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/notifications.rb:168:in `instrument'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/instrumentation.rb:32:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/params_wrapper.rb:256:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/railties/controller_runtime.rb:24:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/abstract_controller/base.rb:134:in `process'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionview-5.2.2.1/lib/action_view/rendering.rb:32:in `process'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal.rb:191:in `dispatch'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal.rb:252:in `dispatch'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb:52:in `dispatch'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb:34:in `serve'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/router.rb:52:in `block in serve'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/router.rb:35:in `each'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/router.rb:35:in `serve'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb:840:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/omniauth-1.8.1/lib/omniauth/strategy.rb:190:in `call!'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/omniauth-1.8.1/lib/omniauth/strategy.rb:168:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/http_accept_language-2.1.1/lib/http_accept_language/middleware.rb:14:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-attack-5.4.2/lib/rack/attack.rb:182:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/exception_notification-4.3.0/lib/exception_notification/rack.rb:41:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/warden-1.2.8/lib/warden/manager.rb:36:in `block in call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/warden-1.2.8/lib/warden/manager.rb:34:in `catch'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/warden-1.2.8/lib/warden/manager.rb:34:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/tempfile_reaper.rb:15:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/etag.rb:25:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/conditional_get.rb:25:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/head.rb:12:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/http/content_security_policy.rb:18:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/session/abstract/id.rb:232:in `context'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/session/abstract/id.rb:226:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/cookies.rb:670:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/callbacks.rb:98:in `run_callbacks'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/debug_exceptions.rb:61:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/railties-5.2.2.1/lib/rails/rack/logger.rb:38:in `call_app'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/railties-5.2.2.1/lib/rails/rack/logger.rb:26:in `block in call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/tagged_logging.rb:71:in `block in tagged'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/tagged_logging.rb:28:in `tagged'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/tagged_logging.rb:71:in `tagged'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/railties-5.2.2.1/lib/rails/rack/logger.rb:26:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/request_id.rb:27:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/method_override.rb:22:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/runtime.rb:22:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/executor.rb:14:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/sendfile.rb:111:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/ssl.rb:74:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-cors-1.0.2/lib/rack/cors.rb:97:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-utf8_sanitizer-1.6.0/lib/rack/utf8_sanitizer.rb:22:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/railties-5.2.2.1/lib/rails/engine.rb:524:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/puma-3.12.0/lib/puma/configuration.rb:225:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/puma-3.12.0/lib/puma/server.rb:658:in `handle_request'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/puma-3.12.0/lib/puma/server.rb:472:in `process_client'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/puma-3.12.0/lib/puma/server.rb:332:in `block in run'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:133:in `block in spawn_thread'
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;去机器上执行&lt;code&gt;sudo make reindex&lt;/code&gt;，报错如下&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ sudo make reindex
Reindex ElasticSearch...
Starting homeland_redis ...
Starting homeland_redis ... done
Starting homeland_elasticsearch ... done
rake aborted!
NoMethodError: undefined method `bytesize' for nil:NilClass
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/faraday-0.15.4/lib/faraday/adapter/net_http.rb:87:in `perform_request'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/faraday-0.15.4/lib/faraday/adapter/net_http.rb:43:in `block in call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/faraday-0.15.4/lib/faraday/adapter/net_http.rb:92:in `with_net_http_connection'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/faraday-0.15.4/lib/faraday/adapter/net_http.rb:38:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/faraday-0.15.4/lib/faraday/rack_builder.rb:143:in `build_response'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/faraday-0.15.4/lib/faraday/connection.rb:387:in `run_request'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/elasticsearch-transport-5.0.5/lib/elasticsearch/transport/transport/http/faraday.rb:23:in `block in perform_request'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/elasticsearch-transport-5.0.5/lib/elasticsearch/transport/transport/base.rb:262:in `perform_request'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/elasticsearch-transport-5.0.5/lib/elasticsearch/transport/transport/http/faraday.rb:20:in `perform_request'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/elasticsearch-transport-5.0.5/lib/elasticsearch/transport/client.rb:131:in `perform_request'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/elasticsearch-api-5.0.5/lib/elasticsearch/api/actions/bulk.rb:95:in `bulk'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/elasticsearch-model-5.0.2/lib/elasticsearch/model/importing.rb:123:in `block in import'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/elasticsearch-model-5.0.2/lib/elasticsearch/model/adapters/active_record.rb:106:in `block in __find_in_batches'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/relation/batches.rb:136:in `block in find_in_batches'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/relation/batches.rb:238:in `block in in_batches'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/relation/batches.rb:222:in `loop'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/relation/batches.rb:222:in `in_batches'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/relation/batches.rb:135:in `find_in_batches'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/querying.rb:11:in `find_in_batches'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/elasticsearch-model-5.0.2/lib/elasticsearch/model/proxy.rb:96:in `method_missing'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/elasticsearch-model-5.0.2/lib/elasticsearch/model/adapters/active_record.rb:105:in `__find_in_batches'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/elasticsearch-model-5.0.2/lib/elasticsearch/model/importing.rb:122:in `import'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/elasticsearch-rails-5.0.2/lib/elasticsearch/rails/tasks/import.rb:63:in `block (3 levels) in &amp;lt;main&amp;gt;'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rake-12.3.2/exe/rake:27:in `&amp;lt;top (required)&amp;gt;'
/usr/local/bundle/bin/bundle:23:in `load'
/usr/local/bundle/bin/bundle:23:in `&amp;lt;main&amp;gt;'
Tasks: TOP =&amp;gt; elasticsearch:import:model
(See full trace by running task with --trace)
make: *** [reindex] Error 1
&lt;/code&gt;&lt;/pre&gt;</description>
      <author>dailyzhou</author>
      <pubDate>Fri, 14 Jun 2019 14:24:03 +0800</pubDate>
      <link>https://ruby-china.org/topics/38646</link>
      <guid>https://ruby-china.org/topics/38646</guid>
    </item>
    <item>
      <title>上传图片的相关问题</title>
      <description>&lt;p&gt;遇到一个 homeland 上传图片问题，看起来像是图片上传超时了，虽然文件大小只有 200 K。&lt;/p&gt;

&lt;p&gt;网站使用的是阿里云 OSS，Access Token 配置正确。虽然上传失败，但通过阿里云的 Access Token 访问记录可以看到最后的访问时间。并且，8 天前还可以正常上传。&lt;/p&gt;

&lt;p&gt;数据库操作记录：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://i.imgur.com/V0s7ryG.png" title="" alt="Imgur"&gt;&lt;/p&gt;

&lt;p&gt;异常详情：&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;execution expired

Method:      POST
URL:         /photos
Controller:  photos#create
RequestId:   57b1e0a6-25b2-41fa-bf4c-93cffa6e5c19
User-Agent:  Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36
Remote IP:   172.23.0.8
Language:    en,zh-CN;q=0.9,zh;q=0.8
Server:      c13ba6dc1530
Process:     44

--------------------------------------------------

#&amp;lt;Net::OpenTimeout: execution expired&amp;gt;


/usr/local/lib/ruby/2.6.0/net/http.rb:947:in `initialize'
/usr/local/lib/ruby/2.6.0/net/http.rb:947:in `open'
/usr/local/lib/ruby/2.6.0/net/http.rb:947:in `block in connect'
/usr/local/lib/ruby/2.6.0/timeout.rb:103:in `timeout'
/usr/local/lib/ruby/2.6.0/net/http.rb:945:in `connect'
/usr/local/lib/ruby/2.6.0/net/http.rb:1548:in `begin_transport'
/usr/local/lib/ruby/2.6.0/net/http.rb:1505:in `transport_request'
/usr/local/lib/ruby/2.6.0/net/http.rb:1479:in `request'
/usr/local/lib/ruby/2.6.0/net/http.rb:1472:in `block in request'
/usr/local/lib/ruby/2.6.0/net/http.rb:920:in `start'
/usr/local/lib/ruby/2.6.0/net/http.rb:1470:in `request'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/httparty-0.16.3/lib/httparty/request.rb:145:in `perform'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/httparty-0.16.3/lib/httparty.rb:573:in `perform_request'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/httparty-0.16.3/lib/httparty.rb:517:in `put'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/httparty-0.16.3/lib/httparty.rb:632:in `put'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/aliyun-oss-sdk-0.1.8/lib/aliyun/oss/http.rb:55:in `request'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/aliyun-oss-sdk-0.1.8/lib/aliyun/oss/http.rb:22:in `put'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/aliyun-oss-sdk-0.1.8/lib/aliyun/oss/api/bucket_objects.rb:44:in `bucket_create_object'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/carrierwave-aliyun-0.9.0/lib/carrierwave/aliyun/bucket.rb:41:in `put'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/carrierwave-aliyun-0.9.0/lib/carrierwave/storage/aliyun_file.rb:49:in `store'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/carrierwave-aliyun-0.9.0/lib/carrierwave/storage/aliyun.rb:15:in `store!'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/carrierwave-1.2.3/lib/carrierwave/uploader/store.rb:66:in `block in store!'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/carrierwave-1.2.3/lib/carrierwave/uploader/callbacks.rb:15:in `with_callbacks'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/carrierwave-1.2.3/lib/carrierwave/uploader/store.rb:65:in `store!'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/carrierwave-1.2.3/lib/carrierwave/mounter.rb:100:in `each'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/carrierwave-1.2.3/lib/carrierwave/mounter.rb:100:in `store!'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/carrierwave-1.2.3/lib/carrierwave/mount.rb:395:in `store_image!'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/callbacks.rb:426:in `block in make_lambda'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/callbacks.rb:236:in `block in halting_and_conditional'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/callbacks.rb:517:in `block in invoke_after'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/callbacks.rb:517:in `each'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/callbacks.rb:517:in `invoke_after'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/callbacks.rb:133:in `run_callbacks'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/callbacks.rb:816:in `_run_save_callbacks'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/callbacks.rb:342:in `create_or_update'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/persistence.rb:273:in `save'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/validations.rb:46:in `save'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/transactions.rb:310:in `block (2 levels) in save'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/transactions.rb:387:in `block in with_transaction_returning_status'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:259:in `block in transaction'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:239:in `block in within_new_transaction'
/usr/local/lib/ruby/2.6.0/monitor.rb:230:in `mon_synchronize'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/transaction.rb:236:in `within_new_transaction'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/connection_adapters/abstract/database_statements.rb:259:in `transaction'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/transactions.rb:212:in `transaction'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/transactions.rb:385:in `with_transaction_returning_status'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/transactions.rb:310:in `block in save'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/transactions.rb:325:in `rollback_active_record_state!'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/transactions.rb:309:in `save'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/suppressor.rb:44:in `save'
/home/app/homeland/app/controllers/photos_controller.rb:16:in `create'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/abstract_controller/base.rb:194:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/rendering.rb:30:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/callbacks.rb:132:in `run_callbacks'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/abstract_controller/callbacks.rb:41:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/rescue.rb:22:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/notifications.rb:168:in `block in instrument'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/notifications.rb:168:in `instrument'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/instrumentation.rb:32:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal/params_wrapper.rb:256:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activerecord-5.2.2.1/lib/active_record/railties/controller_runtime.rb:24:in `process_action'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/abstract_controller/base.rb:134:in `process'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionview-5.2.2.1/lib/action_view/rendering.rb:32:in `process'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal.rb:191:in `dispatch'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_controller/metal.rb:252:in `dispatch'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb:52:in `dispatch'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb:34:in `serve'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/router.rb:52:in `block in serve'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/router.rb:35:in `each'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/journey/router.rb:35:in `serve'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/routing/route_set.rb:840:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/omniauth-1.8.1/lib/omniauth/strategy.rb:190:in `call!'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/omniauth-1.8.1/lib/omniauth/strategy.rb:168:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/http_accept_language-2.1.1/lib/http_accept_language/middleware.rb:14:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-attack-5.4.2/lib/rack/attack.rb:182:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/exception_notification-4.3.0/lib/exception_notification/rack.rb:41:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/warden-1.2.8/lib/warden/manager.rb:36:in `block in call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/warden-1.2.8/lib/warden/manager.rb:34:in `catch'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/warden-1.2.8/lib/warden/manager.rb:34:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/tempfile_reaper.rb:15:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/etag.rb:25:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/conditional_get.rb:38:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/head.rb:12:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/http/content_security_policy.rb:18:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/session/abstract/id.rb:232:in `context'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/session/abstract/id.rb:226:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/cookies.rb:670:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/callbacks.rb:98:in `run_callbacks'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/callbacks.rb:26:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/debug_exceptions.rb:61:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/railties-5.2.2.1/lib/rails/rack/logger.rb:38:in `call_app'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/railties-5.2.2.1/lib/rails/rack/logger.rb:26:in `block in call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/tagged_logging.rb:71:in `block in tagged'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/tagged_logging.rb:28:in `tagged'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/tagged_logging.rb:71:in `tagged'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/railties-5.2.2.1/lib/rails/rack/logger.rb:26:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/request_id.rb:27:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/method_override.rb:22:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/runtime.rb:22:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.2.1/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/executor.rb:14:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/sendfile.rb:111:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/actionpack-5.2.2.1/lib/action_dispatch/middleware/ssl.rb:74:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-cors-1.0.2/lib/rack/cors.rb:97:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/rack-utf8_sanitizer-1.6.0/lib/rack/utf8_sanitizer.rb:22:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/railties-5.2.2.1/lib/rails/engine.rb:524:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/puma-3.12.0/lib/puma/configuration.rb:225:in `call'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/puma-3.12.0/lib/puma/server.rb:658:in `handle_request'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/puma-3.12.0/lib/puma/server.rb:472:in `process_client'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/puma-3.12.0/lib/puma/server.rb:332:in `block in run'
/home/app/homeland/vendor/bundle/ruby/2.6.0/gems/puma-3.12.0/lib/puma/thread_pool.rb:133:in `block in spawn_thread'
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;另一个可能的 bug：&lt;/p&gt;

&lt;p&gt;在&lt;code&gt;后台管理 -&amp;gt; 图片&lt;/code&gt;菜单的最底部，有一个&lt;code&gt;New Photo&lt;/code&gt;的链接，点进去之后是 404，链接地址为&lt;code&gt;/admin/photos/new&lt;/code&gt;。&lt;/p&gt;

&lt;p&gt;&lt;img src="https://i.imgur.com/MOlz5sn.png" title="" alt="Imgur"&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;请确认，十分感谢 &lt;img title=":smile:" alt="😄" src="https://twemoji.ruby-china.com/2/svg/1f604.svg" class="twemoji"&gt; &lt;/p&gt;</description>
      <author>dailyzhou</author>
      <pubDate>Tue, 07 May 2019 17:49:02 +0800</pubDate>
      <link>https://ruby-china.org/topics/38489</link>
      <guid>https://ruby-china.org/topics/38489</guid>
    </item>
    <item>
      <title>Homeland Exception    765: unexpected token at '�'</title>
      <description>&lt;p&gt;不知道有没有遇到的朋友 Homeland 部署之后 偶尔会有这个 Exception&lt;/p&gt;

&lt;p&gt;比较好奇 为什么 URL 那栏 有 12306 相关的信息……&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2018/4a41d42b-1202-489c-8708-097636889f89.png!large" title="" alt=""&gt;&lt;/p&gt;</description>
      <author>dailyzhou</author>
      <pubDate>Mon, 08 Oct 2018 22:03:55 +0800</pubDate>
      <link>https://ruby-china.org/topics/37599</link>
      <guid>https://ruby-china.org/topics/37599</guid>
    </item>
    <item>
      <title>一个区块链的社区</title>
      <description>&lt;p&gt;这种潜在的推广/广告贴…不知道是不是应该发在这个节点下 &lt;/p&gt;

&lt;p&gt;我用 Homeland 项目 搭建了一个&lt;strong&gt;区块链/加密货币&lt;/strong&gt; 的社区——“你好区块链”，主要面向两个方面&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;对区块链/智能合约等相关技术感兴趣的朋友&lt;/li&gt;
&lt;li&gt;对各种区块链代币感兴趣的朋友&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;社区去年 12.26 算是正式上线，非盈利，目前由我一个人维护和管理 &lt;/p&gt;

&lt;p&gt;因为去年行情火爆，想了解这块的朋友越来越多。做这个社区，也是希望能分享和沉淀出有质量的内容，方便后来人了解这块的技术和历史&lt;/p&gt;

&lt;p&gt;有的时候，IM 里讨论过的东西，聊过就没，搜索也不方便&lt;/p&gt;

&lt;p&gt;行情好的时候都只关心怎么赚钱怎么投机，真正愿意关注事物本身的朋友少之又少&lt;/p&gt;

&lt;p&gt;希望这里能保持简单并充满乐趣，欢迎你们&lt;/p&gt;

&lt;p&gt;目前整理的一些资料和工具&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://hiblockchain.io/wiki/" rel="nofollow" target="_blank"&gt;https://hiblockchain.io/wiki/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;上线前的一些心里话&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://hiblockchain.io/wiki/about" rel="nofollow" target="_blank"&gt;https://hiblockchain.io/wiki/about&lt;/a&gt;&lt;br&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://hiblockchain.io/topics/2" rel="nofollow" target="_blank"&gt;https://hiblockchain.io/topics/2&lt;/a&gt;&lt;br&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;FYI&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;因为 VPS 和域名都在国外，有朋友反映需要运用“计算机基础知识”才能打开网页 &lt;img title=":joy:" alt="😂" src="https://twemoji.ruby-china.com/2/svg/1f602.svg" class="twemoji"&gt; &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;社区地址    &lt;a href="https://hiblockchain.io/" rel="nofollow" target="_blank"&gt;https://hiblockchain.io/&lt;/a&gt;&lt;/p&gt;</description>
      <author>dailyzhou</author>
      <pubDate>Tue, 16 Jan 2018 00:08:00 +0800</pubDate>
      <link>https://ruby-china.org/topics/34890</link>
      <guid>https://ruby-china.org/topics/34890</guid>
    </item>
    <item>
      <title>如何设置 homeland 的 favicon</title>
      <description>&lt;p&gt;请教一个问题…关于怎么修改 homeland 部署后的 favicon，使用 docker 部署&lt;/p&gt;
&lt;h2 id="原来的思路"&gt;原来的思路&lt;/h2&gt;
&lt;p&gt;因为暂时在虚拟机上测试，所以&lt;code&gt;app.local.env&lt;/code&gt;中&lt;code&gt;domain&lt;/code&gt;直接配置成了虚机 IP&lt;/p&gt;

&lt;p&gt;运行起来之后 后台全局设置 在&lt;code&gt;custom_head_html&lt;/code&gt;里添加一行关于 favicon 的代码
确实可以达到效果 但是访问&lt;code&gt;虚机IP/favicon.ico&lt;/code&gt;依旧显示 ruby 的红宝石 logo&lt;/p&gt;
&lt;h2 id="新的思路"&gt;新的思路&lt;/h2&gt;
&lt;p&gt;查看了&lt;code&gt;homeland&lt;/code&gt;的源码，在&lt;code&gt;homeland/public&lt;/code&gt;下有个&lt;code&gt;favicon.ico&lt;/code&gt;的文件&lt;/p&gt;

&lt;p&gt;查看了&lt;code&gt;homeland-docker&lt;/code&gt;的源码，在&lt;code&gt;homeland-docker/images/homeland/Dockerfile&lt;/code&gt;下
引用了最新版本的代码
&lt;code&gt;git clone --branch v$HOMELAND_VERSION https://github.com/ruby-china/homeland.git --depth 1&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;所以我&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;fork 一份 homeland 的代码，push 我自己的 favicon.ico 到&lt;code&gt;homeland/public&lt;/code&gt;覆盖掉原来的文件&lt;/li&gt;
&lt;li&gt;在&lt;code&gt;sudo make install&lt;/code&gt;之前，修改了 Dockerfile 引用自己的 repo
&lt;code&gt;git clone --branch gitzhou https://github.com/gitzhou/homeland.git --depth 1&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;然而…效果没有什么变化&lt;/p&gt;

&lt;p&gt;进入到 container 里查看…favicon 文件仍然是原来的
&lt;img src="https://l.ruby-china.com/photo/2017/808d80d3-1c8f-40b6-bdb2-5d8ee288f76d.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;并且&lt;code&gt;git log&lt;/code&gt;输出来看，build 出来的 homeland image 好像并没有使用我的代码分支
&lt;img src="https://l.ruby-china.com/photo/2017/d2af30ed-b4ff-4574-8d53-c88e10c43ca1.png!large" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2017/1c81942c-8e8f-45e7-b3b4-13771b3be23e.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;请教各位大佬 我的思路是不是有问题…或者哪里操作出了错   感谢各位&lt;/p&gt;</description>
      <author>dailyzhou</author>
      <pubDate>Mon, 25 Dec 2017 14:17:55 +0800</pubDate>
      <link>https://ruby-china.org/topics/34767</link>
      <guid>https://ruby-china.org/topics/34767</guid>
    </item>
    <item>
      <title>封装 reco4life 官方接口的 gem</title>
      <description>&lt;p&gt;找到一个开放操作接口的「智能插座」 &lt;a href="http://www.reco4life.com/cn/index.html" rel="nofollow" target="_blank" title=""&gt;Reco4life&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;我学着教程自己 build 了一个 gem，把官方的接口封装了一下&lt;/p&gt;

&lt;p&gt;不知道有没有一起折腾的朋友，交流一下，贴上 repo 的&lt;a href="https://github.com/gitzhou/reco4life/" rel="nofollow" target="_blank" title=""&gt;地址&lt;/a&gt;  😝&lt;/p&gt;</description>
      <author>dailyzhou</author>
      <pubDate>Mon, 16 Jan 2017 22:22:23 +0800</pubDate>
      <link>https://ruby-china.org/topics/32147</link>
      <guid>https://ruby-china.org/topics/32147</guid>
    </item>
  </channel>
</rss>
