小编phy*_*lis的帖子

用于Rails的NGINX配置5带有puma的ActionCable

我正在将Jelastic用于我的开发环境(尚未投入生产).我的应用程序与Unicorn一起运行,但我发现带有ActionCable的websockets并将其集成到我的应用程序中.

一切都在本地工作正常,但在部署到我的Jelastic环境(使用默认的NGINX/Unicorn配置)时,我在我的javascript控制台中收到此消息,我在访问日志中看不到任何内容

WebSocket connection to 'ws://dev.myapp.com:8080/' failed: WebSocket is closed before the connection is established.
Run Code Online (Sandbox Code Playgroud)

我曾经在我的本地环境中通过在配置文件中添加所需的ActionCable.server.config.allowed_request_origins来解决它.所以我仔细检查了我的开发配置,这没关系.

这就是为什么我想知道NGINX配置是否有特定的东西,除了在ActionCable git页面上解释的内容

bundle exec puma -p 28080 cable/config.ru
Run Code Online (Sandbox Code Playgroud)

对于我的应用程序,我在这里输入链接描述,但没有提及任何有关NGINX配置的内容

我知道带有ActionCable的websocket很新,但我希望有人能够在这方面给我一个带头

非常感谢

nginx jelastic ruby-on-rails-5 actioncable

14
推荐指数
1
解决办法
6715
查看次数

宽度:CSS中的100%在Android 4.4中无法很好地呈现

我在Android(4.4)的最后一次更新时面临一个奇怪的问题:我的CSS渲染在用户的屏幕上可见,这意味着我的webview内容非常薄,然后才能适应宽度:100%的CSS.

我使用android.webkit.WebView来显示这样的html字符串:

webView.loadDataWithBaseURL(null, html, "text/html", "utf-8", null);
Run Code Online (Sandbox Code Playgroud)

此webview具有以下大小集:

  • webview宽度的屏幕宽度的90%
  • 用于webview高度的WRAP_CONTENT

构建CSS以适应webview宽度,然后高度将自行调整.css中没有设置绝对宽度或高度.

当我显示我的webview(已经完全加载,因为我使用onPageFinished回调以了解加载已完成)时,CSS开始呈现.这让我感到惊讶,因为我认为在加载webview时应该渲染它.问题是,对于用户,显示非常小的白线,然后该行调整自身以匹配webview设置.

如果我在CSS中修复宽度,我没有任何渲染问题.但我不能这样做,因为我想匹配所有屏幕尺寸.

Android 4.4之前没有问题,因为在CSS完全呈现之前屏幕上没有显示任何内容.

顺便说一下,我正在使用webview中的setPictureListener()方法.我知道这种方法已被弃用(暂时已过时),但这是了解webview何时真正完成在屏幕上"绘制"的唯一方法.如果我在Android 4.4中使用此方法,则会多次调用它,并且此错误在DDMS中出现:

W/UnimplementedWebViewApi(23891): Unimplemented WebView method run called from: android.os.Handler.handleCallback(Handler.java:733)
Run Code Online (Sandbox Code Playgroud)

我不知道是否存在直接关系,我不认为即使不使用此方法,我的CSS也无法正确呈现.

我尝试了很多东西:

  • 使用javascript onload使身体可见
  • 在webview上使用chrome客户端并等待进度达到100%以使我的webview可见
  • 使用webview客户端并等待onPageFinished使我的webview可见
  • 使用PictureListener使我的webview可见时,使用500毫秒的postDelayed
  • 使用所有图层类型选项:HARDWARE/SOFTWARE/NONE
  • 首先让我的webview父母看不见/ GONE然后可见

但没有任何效果.看起来只有在webview对用户可见时才会呈现CSS.

我无法显示源代码,因为它是出于专业目的,因此我只想对可以搜索的位置有不同的观点(或者如果有人已经在DDMS中看到这个奇怪的错误)

有人知道如何在显示此webview之前等待CSS在webview中呈现吗?

非常感谢

css android webview android-webview android-4.4-kitkat

5
推荐指数
1
解决办法
2662
查看次数

Nginx + Unicorn:两个worker_processes之间的差异

我有一个在Nginx + Unicorn环境中运行的rails应用程序

我看到他们的配置文件中都有"worker_processes",我想知道什么是最佳配置

如果我有4个核心,我应该为它们放4个核心吗?或1为nginx和4为独角兽?

(顺便说一下,我也在使用sidekiq,那么sidekiq并发呢?)

ruby-on-rails nginx unicorn

1
推荐指数
1
解决办法
1252
查看次数