问题标签 [mongrel]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
1897 浏览

ruby-on-rails - Capistrano 没有正确重启 Mongrel 集群

我有一个在 nginx 下运行的由三个杂种组成的集群,我使用 Capistrano 2.4.3 部署应用程序。当我在有一个正在运行的系统时“限制部署”时,行为是:

  1. 应用程序已部署。代码更新成功。
  2. 在 cap deploy 输出中,有这样的:

    • 执行“sudo -p 'sudo 密码:' mongrel_rails cluster::restart -C /var/www/rails/myapp/current/config/mongrel_cluster.yml”
    • 服务器:[“myip”]
    • [myip] 执行命令
    • ** [out :: myip] 停止端口 9096
    • ** [out :: myip] 停止端口 9097
    • ** [out :: myip] 停止端口 9098
    • ** [out :: myip] 已经启动了 9096 端口
    • ** [out :: myip] 已经启动了 9097 端口
    • ** [out :: myip] 已经启动了 9098 端口
  3. 我立即在服务器上检查,发现 Mongrel 仍在运行,并且前三个实例的 PID 文件仍然存在。
  4. 不久之后(不到一分钟),我发现 Mongrel 不再运行,PID 文件不见了,并且无法重新启动。
  5. 如果我手动在服务器上启动 mongrel,应用程序启动得很好。

似乎“mongrel_rails cluster::restart”在尝试重新启动集群之前没有正确等待完全停止。如何诊断和解决此问题?

编辑:这是答案:

mongrel_cluster,在“重启”任务中,简单地这样做:

在调用“开始”之前,它不会进行任何等待或检查以查看进程是否退出。这是一个已知的错误,提交了一个未完成的补丁。我将补丁应用到 Mongrel Cluster,问题就消失了。

0 投票
6 回答
1818 浏览

ruby-on-rails - 您为 Rails 应用程序使用哪些部署目录(部署到 debian 机器)?

我想知道 Rails 应用程序的最佳部署目录是什么?一些开发人员使用目录,例如/u/apps/#{appname}. 使用代替或其他操作系统默认目录时有什么优势吗?/u/apps/#{appname}/var/www/#{appname}

显然,我想选择具有最佳安全属性和最少摩擦的目录来设置服务器环境。

您如何部署 Rails 应用程序?为什么要使用特定目录?你觉得这真的很重要吗?

0 投票
4 回答
293 浏览

ruby-on-rails - 为什么 Mongrel 无法选择正确的 HTTP 动词?

我的Rails 应用程序中有一个非常简单的:routes.rb

启动我的应用程序script/server并将我的浏览器指向localhost:3000/tags/收益率:

ActionController::MethodNotAllowed

...

script/server webrick但是,使用 启动我的应用程序可以解决问题。

后来:以防万一,我在 OSX 10.5.5 上运行 Mongrel 1.1.5。

0 投票
3 回答
532 浏览

ruby-on-rails - Mongrel集群和多应用问题

我们正在处理这个问题。我们正在使用网络服务(使用soap4r)来运行某种搜索,当网络服务服务器关闭并且我们的应用程序试图连接到它时,问题就会出现。此时应用程序无法访问,并且所有客户都被阻止。

我们能做些什么来避免这种情况?是否有可能阻止到它被阻止的杂种的路由?(我想apache的代理使用循环算法)

谢谢罗伯托

0 投票
6 回答
4977 浏览

ruby-on-rails - 代理选择:mod_proxy_balancer、nginx + 代理平衡器、haproxy?

我们在一个专用的加速器上运行一个 Rails 站点http://hansard.millbanksystems.com 。我们目前有带有 mod-proxy-balancer 的 Apache 设置,代理到运行应用程序的四个 mongrel。

有些请求相当慢,为了防止出现其他请求在它们后面排队的情况,我们正在考虑代理选项,如果有一个空闲的杂种,它将把请求定向到一个空闲的杂种。

选项似乎包括:

这些是合理的选择吗?我们错过了什么明显的东西吗?我们将非常感谢您的建议。

0 投票
1 回答
516 浏览

ruby-on-rails - Mongrel::DirHandler 等效于乘客

我正在使用 Mongrel::DirHandler 来控制静态文件的响应头 - 这在我的开发机器上非常有用。我的生产机器使用Passenger,所以我的标题没有设置。使用Passenger时如何控制静态文件的标题?

我的 environment.rb 片段:

0 投票
4 回答
1034 浏览

ruby-on-rails - 使用 Apache 和 Mongrel 的多个铁路应用程序

我实际上正在开发和应用程序,它有大约 15 个模块,它们都使用相同的数据库。

我正在使用 Apache + Mongrel,我无法使用Passenger,因为我在 Windows 上工作(请原谅我犯了这个致命的罪过!)

以下哪个是更好的方法?

  1. 使用虚拟服务器和每个应用程序的一对混合器部署多个小型 Rails 应用程序。
  2. 仅部署大型 Rails 应用程序

我担心正在运行的 mongrel 的数量和内存/cpu 负载。

0 投票
2 回答
426 浏览

ruby-on-rails - 神秘的 Mongrel Rails 崩溃

在 OS X 10.4 服务器上通过 ruby​​-pg 0.7.9 使用 PostgreSQL 8.3 在 Rails 2.1.2 上运行 Mongrel 1.1.5...

添加了 restful_authentication 和 exception_notification,当我每次选择 /RESOURCE_NAME/new 时 Mongrel 都会因“非法指令”而死时,后者似乎对我没有好处。

不管是什么资源。

在 development.log 中,我看到它声明其意图呈现 /layouts/RESOURCE_NAME.html.erb 然后......什么都没有。没有堆栈跟踪,什么都没有。server.log 为空。

这是一个令人兴奋的事情,我不知道该怎么做。我尝试运行 webbrick,一个 la:

脚本/服务器 webbrick --force

但它无视我的意愿并加载杂种。

任何指针将不胜感激。

0 投票
2 回答
2132 浏览

ruby - apache的ProxyRemote可以用来代理HTTPS请求到mongrel进行处理吗?

所以我有一个用 ruby​​ 编写的自定义代理,它使用 mongrel 来处理一些相当复杂的缓存逻辑。这对 http 和 ftp 请求都很有效,但是由于 mongrel 不是为处理 https 请求而设计的,所以我希望将整个事情放在 apache 前面,并使用 ProxyRemote 命令传递给 mongrel 以处理 https 请求。

这类事情很容易通过 apache 中的 ProxyPass 和 ProxyPassReverse 命令镜像某些站点目录结构,但我看不到使用 ProxyRemote 的方法。

问题是 mongrel 不处理为建立安全请求而发出的 CONNECT 请求。因此,虽然我能够在代理本身内处理 https 请求,但实际上不支持直接将代理与 https 请求一起使用。

似乎最简单的解决方案是让 apache 处理 https 请求,然后简单地将 http 请求本身(减去 CONNECT)传递给 mongrel 并让它适当地处理它并将其返回给 apache,然后返回给客户端。

所以我的问题是,有没有办法让 ProxyRemote 的工作方式与 ProxyPass 处理 HTTP 请求的方式相同(即将未加密的请求传递给 mongrel)?

0 投票
8 回答
1313 浏览

ruby-on-rails - 杂种挂起

我在 Rails 应用程序中遇到问题。几个小时后,应用程序似乎开始挂起,我无法找到问题所在。日志文件中没有任何相关内容,但是当我尝试从浏览器获取 url 时,什么也没发生(比如 mongrel 接受请求但无法响应)。

你认为我可以测试什么来了解问题出在哪里?

谢谢你的帮助!