- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在努力解决 send_file
使用 rails 3.0.9 运行 ruby 1.9,乘客 3.0.8 在 ubuntu lucid 上运行 apache
xsendfile 模块已安装并加载到 apache
root~# a2enmod xsendfile
Module xsendfile already enabled
lrwxrwxrwx 1 root root 32 Aug 8 11:20 xsendfile.load -> ../mods-available/xsendfile.load
config.action_dispatch.x_sendfile_header = "X-Sendfile"
在我的 production.rb 中设置
filepath = Rails.root.join('export',"#{filename}.csv")
if File.exists?(filepath)
send_file filepath, :type => 'text/csv'
end
最佳答案
我相信前面的答案不是正确的方法,因为据我所知,当应用此解决方案时,Apache 根本没有处理下载,而是使用 rails 进程。这就是为什么出现不应该工作的 nginx 指令的原因。通过注释掉 config 指令可以得到相同的结果。
另一个缺点(除了将 rails 进程占用太长时间之外)是当数据流由 rails 进程处理时,响应似乎不会发送内容长度 header 。所以用户不知道他们正在下载的文件有多大,也不知道需要多长时间(可用性问题)。
我能够通过确保 mod_sendfile 正确包含并加载到我的 apache 配置中来使其工作,就像这样(这将取决于您的 apache 安装等):
LoadModule xsendfile_module /usr/lib64/httpd/modules/mod_xsendfile.so
...
# enable mod_x_sendfile for offloading zip file downloads from rails
XSendFile on
XSendFilePath /
关于ruby-on-rails - Rails 3,apache & 乘客,send_file 发送零字节文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6981658/
我安装了 Apache、Passenger 和 Sinatra,并部署了一个应用程序。尝试访问时出错: An error occurred while starting up the preloade
我在使用 RJB 和 Passenger 时遇到一些问题。 我的系统:Debian 6 Java JDK 7 Apache2 + Passenger Ruby 1.9.2 Rails 3.2.6 我正
我试图在 CentOS 6.3 上使用 mod_passenger 将 Redmine 部署到 Apache 但出现错误: The application spawner server exited
我已经尝试过这里推荐的方法:Passenger: internal server error , 但在 config.ru 中没有发现对 STDOUT 的引用 我在 ruby-2.0.0-p247
在本地,我的应用程序运行良好并写入其日志。 我的生产服务器运行 CentOS,Apache 服务器运行 Passenger。尝试调试时,我注意到我的日志文件没有被写入。我做的第一件事是 chmod 0
我将 Rails 3.2 与乘客 + nginx 一起使用。当数据库服务器关闭时,我想显示漂亮的自定义 500 页面。当我的 rails 应用程序无法启动时,我想显示一些内容。这是我的 nginx:
按照教程 here提出了这个错误: The following packages have unmet dependencies: nginx-extras : Depends: perlapi-5
当我尝试在 Ruby on Rails 上传照片时使用 Paperclip在我的本地机器上,它运行良好。 当我尝试在带有 Apache 和 CentOS 的 Linux(Phusion Passeng
有一次,我在我的系统上使用 NGINX、Rails 和Passenger 一切都运行良好。 昨天我重新安装了Passenger,现在passenger-install-nginx-module失败。
Started GET "/home" for 117.55.68.xxx at 2012-11-05 22:56:06 +0900 Processing by PageController#home
我正在设置一个服务器,以使用Passenger在Fedora 12上运行Ruby on Rails应用程序。 我现在处于安装Passenger的阶段,按照规定进行设置,但是在重新启动Apache时出现
我们在 Apache 2.2 (CentOS 6.latest) 后面使用 Passenger 4.0.59 和 Rails 3.2。 在/etc/httpd/conf/httpd.conf 中,我们
我在服务器上部署 Rails 应用程序时遇到问题。我正在部署使用 Passenger 来提供页面。当我启动服务器时,我的页面上列出了以下错误。似乎我安装的 passenger 版本引用了 ruby
我正在尝试使用 Phusion Passenger 运行简单的 RoR 应用程序。在转到本地主机的那一刻,我看到了主题的错误。事实上,我没有任何待处理的迁移: Status Migrat
我正在尝试通过 Capistrano 将 Rails 应用程序部署到 VPS。我在 VPS 上安装了 passenger standalone 并使用 capistrano-passenger具有默认
我用 Nginx 安装了 Phusion Passenger,将 Nginx 配置为指向正确的目录,然后我运行 webapp 目录,这已经下载了 gemfile,但找不到 gem。 当我访问该网站时,
我试图用 Apache2 和 ruby 2.0 安装 passenger,但我在安装时遇到了这行错误: passenger-install-apache2-module 错误: ---------
我在我的生产应用程序上收到此错误,我仍然没有修复它的线索。该应用程序在开发模式下运行良好,但在我的生产服务器上出现捆绑程序错误。我正在通过 RVM + Nginx + 乘客使用带有 ruby 1.
当我尝试访问我的服务器时,出现以下错误 App 13379 stdout: App 13379 stdout: [ 2015-02-02 05:28:59.1782 13226/7fb5d969970
我已经在服务器(Ubuntu 12.04 LTS)上安装了 redmine 2.1,它现在会产生 500 Server 错误消息。 我已配置为使用 apache 乘客并通过安装 xxxx:/usr/l
我是一名优秀的程序员,十分优秀!