问题标签 [mod-rails]

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 投票
1 回答
1979 浏览

ruby-on-rails - 在运行时更改乘客应用程序池大小

是否可以在运行时更改乘客应用程序池的大小?即,无需重新启动 apache,也无需中断活跃的访问者?

每天同一时间我们有一个后台作业运行。它非常占用内存。由于在此期间,站点上的流量往往相对较低,我想在作业运行之前自动缩减运行的应用程序服务器的数量,然后在完成后再次扩展。

0 投票
1 回答
210 浏览

ruby-on-rails - 带有页内管理的 Rails 页面缓存

我很想在我运行的 Rails 站点上使用页面缓存。每个页面上的信息大多是不变的,但是需要运行以收集信息的查询很复杂,并且在某些情况下可能很慢。使用页面缓存的唯一障碍是管理界面内置在主站点中,因此可以在不离开感兴趣的页面的情况下执行管理操作。

我正在使用 Apache+mod_rails(乘客)。当当前用户具有会话变量或名为“admin”* 的 cookie 时,是否有办法向 Apache 指示应忽略 .html 文件?session 变量不需要由 Apache 评估有效性(因为在这种情况下它将由 Rails 评估)。

0 投票
5 回答
93 浏览

mysql - 归档整个 Rails 站点

我有一个 Ruby on Rails 站点,该站点只需要很短的时间,在此期间,用户将各种对象添加到 mySQL 数据库,对它们进行评论,将自己与它们关联等等等等。

问题是这样的:直到明年一周左右,我将清除数据库并再次使用它(从头开始),才不再需要该站点。存档当前站点以使现有内容仍然可见但不能添加新内容的最佳方法是什么?最好的方法是指使用最少系统资源的方法,服务器将是最安全的,等等。

有什么建议么?

0 投票
1 回答
943 浏览

ruby-on-rails - Rails Beta3 & PaperClip & Passenger Bundler::PathError

所以我绕着这个圈子——我正在使用Paperclip Rails gem的一个分支来让它与Rails3一起工作。在我的 OSX 盒子上和乘客一起工作正常。但是在我的服务器(CentOS 5)上,我收到了这个错误:

git://github.com/lmumar/paperclip.git (at rails3) is not checked out. Please run捆绑安装(Bundler::PathError)Blockquote

我尝试了 Bundle Pack,但它没有从 github 打包 gem。我在我尝试过的 application.rb 文件中阅读了一篇关于将 parh 设置为 BUNDLE_HOME 的帖子:

但这不起作用。有什么想法吗?我不知道还能做什么,也不知道如何进一步调试或跟踪问题:(

乘客版本 2.2.11。

谢谢。

0 投票
2 回答
2275 浏览

ruby-on-rails - 无法在乘客应用程序中上传 apache

我无法在 apache 后面的乘客应用程序中上传 8.4 MB 文件。通过 scp 传输相同的文件需要 4.1 分钟。

错误回溯:

[ pid=10222 file=ext/apache2/Hooks.cpp:727 time=2010-05-18 07:13:14.842 ]:mod_passenger 中出现意外错误:接收 HTTP 上传数据时出错:对等方重置连接 (104)回溯:在 'boost::shared_ptr Hooks::receiveRequestBody(request_rec*, const char*)' (Hooks.cpp: 1084) in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp:459)

注意:用户没有取消或任何事情。他在火狐上:-)

日志中看到的其他错误是:

  1. [ pid=16593 file=ext/apache2/Hooks.cpp:727 time=2010-05-23 23:06:12.156 ]:mod_passenger 中的意外错误:看起来浏览器没有完成文件上传:它说它会上传 6610086\ 字节,但它在发送 610155 字节后关闭了连接。用户可能在浏览器中单击了停止,或者他的 Internet 连接停止。回溯:在 'boost::shared_ptr Hooks::receiveRequestBody(request_rec*, const char*)' (Hooks.cpp: 1084) in 'int Hooks::handleRequest(request_rec*)' (Hooks.cpp: 459)

    注意:用户没有取消或任何事情。他在 IE6 上 :-)

  2. [ pid=28995 file=ext/apache2/Hooks.cpp:727 time=2010-05-17 00:40:18.697 ]:mod_passenger 中出现意外错误:无法将数据发送到 ApplicationPool 服务器:write() 失败:管道损坏(32) Backtrace: in 'virtual boost::shared_ptr Passenger::ApplicationPoolServer::Client::get(const Passe\ nger::PoolOptions&)' (ApplicationPoolServer.h: 402) in 'int Hooks::handleRequest(request_rec*) ' (Hooks.cpp: 523)

问题是:

  1. 为什么文件没有上传?
  2. 在 apache 中上传文件以提高吞吐量和性能的最佳实践。
  3. 我可以在 apache 之外处理上传,然后将其交给乘客吗
  4. 也试过 mod_porter,http ://modporter.com ,似乎没有帮助。
  5. 乘客中是否有调试模式 - 详细日志记录

PS:使用 RubyOnRails 在 apache 上部署 mod_rails,http://www.modrails.com/和 ruby​​ 企业版。TimeOut 在 apache virtalhost 中设置为 1200。

问候,
迪帕克

0 投票
1 回答
1609 浏览

ruby-on-rails - 尝试使用 Apache/Passenger 运行 Rails 应用程序,但得到 404

我已经将乘客(不知道安装是否正确)安装到 apache 上(我只是使用开发 macintosh 运行雪豹)。

httpd.conf 文件有这样的 VirtualHost 设置

再次,不确定这是否正确。

我可以使用 apachectl start 启动 apache

我可以使用此链接( http://localhost )打开主页。

但是,当我尝试转到我的一个控制器页面(我有一个名为 blocks_controller.rb 的控制器)时,我收到 404 错误(http://localhost/blocks)。

apache error_log 文件显示 => [Wed Jul 07 15:25:46 2010] [error] [client 127.0.0.1] 文件不存在:/webapps/boom/public/blocks

我认为这很简单,我做错了,但我不知道是什么。

有什么想法吗??

谢谢!

0 投票
1 回答
9698 浏览

ruby-on-rails - 如何重启 phusion 乘客?

我的设置工作得很好,但由于某种原因,我上次部署它时杀死了 phusion 乘客,我不知道如何重新启动它。有任何想法吗?

我将乘客作为 apache 模块(mod rails)运行。我尝试重新启动 apache 并重新启动服务器,但没有成功。

谢谢

0 投票
2 回答
277 浏览

ruby-on-rails - 我如何弄清楚为什么我的 rails 3 应用程序使用 mod_rails 这么慢?

我使用 Rails 3.0.0 和 Ruby 1.9.2 开发了一个小型 Rails 应用程序。在测试过程中,在我的个人电脑上,它的性能很好。我把它放在我的 VPS 上进行生产,使用 Apache 和 mod_rails,有时性能很糟糕。

以下是 production.log 中的示例:

在 2010-11-21 21:49:56 -0500 开始为 XX.XX.XX.XX 获取 "
/
tracker
" .html.haml (1.0ms)
渲染布局/_footer.html.haml (0.0ms)
在布局/应用程序中渲染页面/about.html.haml (4.5ms)
在 15ms 内完成 200 OK (Views: 14.3ms | ActiveRecord: 0.0小姐)

在 2010-11-21 21:50:02 -0500 开始为 XX.XX.XX.XX 获取“/tracker/”
由 FleetsController#index 处理为 HTML
渲染布局/_stylesheets.html.haml (0.7ms)
渲染布局/ _header.html.haml (1.1ms)
渲染布局/_footer.html.haml (0.0ms)
在布局/应用程序中渲染fleets/index.html.haml (7.8ms)
1901ms 内完成 200 OK (Views: 7.8ms | ActiveRecord: 1.5毫秒)

在 2010-11-21 21:50:06 -0500 开始 GET "/tracker/fleets/XXXXXXXXX" for XX.XX.XX.XX
由 FleetsController#show 作为 HTML
参数处理:{"id"=>"XXXXXXXXX"}
渲染车队/_details_inner.html.haml (1.2ms)
渲染车队/_details.html.haml (2.1ms) 渲染车队
/_summary.html.haml (3.5ms)
渲染车队/_scouts_inner.html.haml (1.3ms)
渲染车队/_scouts.html.haml (3.5ms)
渲染报告/_report.html.haml (0.5ms)
渲染车队/_reports.html.haml (3.0ms)
渲染车队/_recon_form.html.haml (39.9ms)
渲染车队/_recon .html.haml (40.8ms)
渲染用户/_user.html.haml (1.2ms)
渲染车队/_pilots.html.haml (1.9毫秒)
渲染布局/_stylesheets.html.haml (0.5ms)
渲染布局/_header.html.haml (0.9ms)
渲染布局/_footer.html.haml (0.0ms)
在布局/应用程序中渲染车队/show.html.haml (60.2毫秒)
在 495 毫秒内完成 200 次 OK(查看次数:59.1 毫秒 | ActiveRecord:2.9 毫秒)

第一次命中没有任何数据库访问权限。第二个确实有数据库访问,但是生成视图只用了7.8ms,数据库只用了1.5ms,但整个页面几乎2分钟都没有完成!这是一个很常见的例子,但我有一些日志条目有 14 秒以上的页面响应。不,这不是在重新启动后的初始轨道加载期间。

什么可能占用那段时间?

1) 我是否误解了 ActiveRecord 时间报告,这实际上只是代码时间,但实时数据库时间是时间的去向?

2)我正在使用sqlite。我知道最终我可能不得不切换到 MySQL,因为我会遇到并发问题,因为(大多数)每个页面命中都会导致数据库写入。但是现在,我几乎没有流量;最多可能有 15 人同时在网站上。在上面的日志示例中,一次只有 1 次命中,每次命中之间有 4-6 秒。我认为sqlite可以处理...

3) 我在一个共享的 VPS 上。这意味着 VPS 上的其他用户可能正在同时做某事导致服务器变慢。大多数时候,我的 VPS 的 CPU 负载非常低,但我可能运气不好,并且在那一刻发生了一些事情。但我经常看到这种情况发生,所以我不认为这是一个答案。

4)VPS只有512+512MB内存。我显示有 150MB 可用空间,但有没有可能我只是达到了内存限制,这是页面交换之类的?

5) 我还在日志中看到了一些 BusyException。我将 database.yml 超时时间从 5 秒增加到 15 秒,看看是否有帮助。从那以后就没有做过真正的测试,看看是否有。

我知道我可能没有提供足够的信息让你真正告诉我发生了什么,所以真正的问题是,我什至如何开始尝试追踪这个?

0 投票
2 回答
1206 浏览

ruby-on-rails - 乘客的 VirtualHost 问题 (mod_rails)

我对虚拟主机束手无策。我正在尝试安装 redmine,它可以与 webrick 测试服务器一起使用,但是当我尝试使用乘客 (mod_rails) 托管并转到我在 apache 配置文件的虚拟主机部分中指定的地址时,没有任何反应。这是我尝试设置虚拟主机的 /etc/httpd/conf/httpd.conf 的相关部分:

然而,当我到达 redmine.MYSITE.com:80 时,什么也没发生,我只是得到我们正常的主页。我不知道问题是什么,我们将不胜感激任何帮助。如果您需要任何其他信息,请告诉我,我会提供。

0 投票
1 回答
4833 浏览

ruby-on-rails - 如何使用 nginx/passenger 服务多个站点?

我有不同的网站/应用程序用 Rails 构建,它们有不同的域名。问题是我想通过 Nginx/passenger 的服务器为他们提供服务。我尝试了一些技术,但我无法让它们发挥作用,基本上,我对此知之甚少。

因此,我可以在不同的端口上为不同的网站/应用程序提供服务。但是,如果他们来自 aaa.com,我如何让人们看到应用程序“AAA”,如果他们来自 bbb.com,我怎样才能让他们看到应用程序“BBB”?