【问题标题】:Rails (Puma server) Phantomjs don't run on productionRails(Puma 服务器)Phantomjs 不在生产环境中运行
【发布时间】:2018-12-29 14:12:11
【问题描述】:

我想在 Controller 上运行 PhantomJs。

在我的文件test.js

use 'strict';
console.log('HELLO WORLD');

my_controller.rb

def test
  rs = `phantomjs 'path/to/test.js' `
  puts rs
end

当我以development 模式在本地运行项目时,

  • 我开始行动/test => 它显示'HELLO WORLD'(工作)

但是当我部署并以production 模式运行它时 不显示HELLO WORLD,好像幻影js没有运行。

我使用 Phantomjs 2.1.1、rails 5.1.5、ruby 2.3.5 并启动使用 Puma 服务器。 任何人都可以告诉我一个可以解决它的方法。

【问题讨论】:

  • 你在为Phantomjs使用任何gem吗??检查您的 GemFile
  • 另外,建议离开 PhantomJS;它不再开发AFAIK。尝试研究无头 Chrome 等。性能也更好。 hackernoon.com/…
  • Niraj KaushalL 不,我不为 phantom js 安装 gem,我从 cmd 系统调用 phantomJs

标签: ruby-on-rails ruby phantomjs ruby-on-rails-5 puma


【解决方案1】:

尝试确保您的 prod 服务器上安装了 phantomjs,并且路径设置正确。从你的 shell 运行 phantomjs 来验证这一点

【讨论】:

  • 当我从 shell 运行 phantomjs 时它可以工作,但是当从控制器以生产模式(puma 启动)运行时它不起作用。
  • 您是否正在使用 phantomjs 工作的当前 shell 在同一用户下运行 puma 线程?
猜你喜欢
  • 2021-07-01
  • 2019-11-10
  • 1970-01-01
  • 2016-10-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多