<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>hesongGG</title>
    <link>https://ruby-china.org/hesongGG</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>[问题] 部署的时候碰到的一些问题</title>
      <description>&lt;ul&gt;
&lt;li&gt;
&lt;h5 id="遇到的问题:"&gt;遇到的问题：&lt;/h5&gt;
&lt;ol&gt;
&lt;li&gt;部署 actioncable 到正式环境的时候，在谷歌 console 里报错为： &lt;code&gt;WebSocket connection to 'ws://example.com:28080/' failed: WebSocket is closed before the connection is established.&lt;/code&gt; &lt;a href="http://stackoverflow.com/questions/12487828/what-does-websocket-is-closed-before-the-connection-is-established-mean" rel="nofollow" target="_blank" title=""&gt;报错信息的大致意思&lt;/a&gt;. &lt;/li&gt;
&lt;li&gt;但是在正式服务器上，cable 的 process 是正常运行的，log 里没有相关的 websocket 信息输出。&lt;/li&gt;
&lt;li&gt;ps: 在测试服务器上没有出现这种错误。是可以正常运行的。&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h5 id="相关的环境"&gt;相关的环境&lt;/h5&gt;
&lt;ol&gt;
&lt;li&gt;测试服务器是阿里云，&lt;/li&gt;
&lt;li&gt;正式服务器是 ucloud&lt;/li&gt;
&lt;li&gt;跑的应用服务器是 puma&lt;/li&gt;
&lt;li&gt;rails4&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;h5 id="相关处理:"&gt;相关处理：&lt;/h5&gt;
&lt;ol&gt;
&lt;li&gt;看了华顺的那个&lt;a href="https://ruby-china.org/topics/29346" title=""&gt;关于 ActionCable 部署的细节经验分享&lt;/a&gt;.也改了关于限制的问题，还是一样的报错。&lt;/li&gt;
&lt;li&gt;把正式环境还有测试环境的进程全部杀死。然后重新部署在正式环境，测试环境禁用 cable，还是报一样的错误。
找了很久的谷歌，没有什么信息。&lt;/li&gt;
&lt;li&gt;谷歌了挺久的，尝试了之后都不可以。&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h6 id="在正式服务器上，当杀死cable的进程之后，报错信息也是"&gt;在正式服务器上，当杀死 cable 的进程之后，报错信息也是&lt;/h6&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;WebSocket&lt;/span&gt; &lt;span class="n"&gt;connection&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="s1"&gt;'ws://example.com:28080/'&lt;/span&gt; &lt;span class="ss"&gt;failed: &lt;/span&gt;&lt;span class="no"&gt;WebSocket&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;closed&lt;/span&gt; &lt;span class="n"&gt;before&lt;/span&gt; &lt;span class="n"&gt;the&lt;/span&gt; &lt;span class="n"&gt;connection&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;established&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h5 id="在本地或者测试服务器的时候，关闭cable，会直接报错为:"&gt;在本地或者测试服务器的时候，关闭 cable，会直接报错为：&lt;/h5&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;WebSocket&lt;/span&gt; &lt;span class="n"&gt;connection&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="s1"&gt;'ws://localhost:28080/'&lt;/span&gt; &lt;span class="ss"&gt;failed: &lt;/span&gt;&lt;span class="no"&gt;Error&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="n"&gt;connection&lt;/span&gt; &lt;span class="ss"&gt;establishment: &lt;/span&gt;&lt;span class="n"&gt;net&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;ERR_CONNECTION_REFUSED&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h6 id="疑问:  同样是关闭了cable的进程，正式环境和测试环境以及本地的报错信息为何会有这样的差异?"&gt;疑问：同样是关闭了 cable 的进程，正式环境和测试环境以及本地的报错信息为何会有这样的差异？&lt;/h6&gt;
&lt;p&gt;出现这种错误是因为什么原因呢，因为测试环境和正式环境的配置，基本是相同的。&lt;/p&gt;</description>
      <author>hesongGG</author>
      <pubDate>Fri, 23 Sep 2016 20:34:02 +0800</pubDate>
      <link>https://ruby-china.org/topics/31153</link>
      <guid>https://ruby-china.org/topics/31153</guid>
    </item>
  </channel>
</rss>
