2012-05-23 2 views
0

У меня есть приложение Rails 3.2.3 (ruby 1.9.3p125), развернутое на сервере Windows 2000 R2 SP2 (не спрашивайте). Это мой Gemfile:Rails 3.2.3, Mongrel on WIndows Server 2003 R2 SP2, send_file

gem 'mysql2' 
gem 'tiny_tds' 
gem 'activerecord-sqlserver-adapter' 
gem 'pdf-toolkit', "~> 1.0.0.rc1" 
gem 'mongrel', '>= 1.2.0.pre2' 
gem 'dispatcher' 

Я запустил Apache 2.2 и имею двух mongrels, работающих как службы Windows. Apache загружается отлично, и никаких ошибок не сообщается. Приложение запущено. он просто делает некоторые формы Pdftk начинку и отправляет файл в формате PDF, а именно:

send_file(....) 

В разработке, я получаю правильный PDF, в производстве на окнах, я получаю пустой PDF, и это в моем error.log:

2012-05-23 10:08:42 -0700: Error calling Dispatcher.dispatch #<NameError: uninitialized constant ActionController::CgiRequest> 
c:/ruby193/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/rails.rb:76:in `block in process' 
<internal:prelude>:10:in `synchronize' 
c:/ruby193/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel/rails.rb:74:in `process' 
c:/ruby193/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel.rb:165:in `block in process_client' 
c:/ruby193/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel.rb:164:in `each' 
c:/ruby193/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel.rb:164:in `process_client' 
c:/ruby193/lib/ruby/gems/1.9.1/gems/mongrel-1.2.0.pre2-x86-mingw32/lib/mongrel.rb:291:in `block (2 levels) in run' 

я это работает с Rails 2.3.8 и Ruby, 1.8.7, конфиг Apache не был изменен, так как он бежал правильно, так что я не думаю, что это связано с конфигурации Apache, я Я уверен, что это связано с новыми материалами, которые мне пришлось добавить из-за Rails 3.

ОБНОВЛЕНИЕ:

Я сдался и попробовал его, используя тонкие, прекрасно работает.

Увидев, что большинство сообщений об установке тонких окон были из таймфрейма 3.0.x. Я дам небольшое обновление по 3.2.3 и Ruby 1.9.3.

Вы все еще должны установить тонкий в два прохода

gem install eventmachine --pre 
gem install thin 

Вы должны иметь уже рубин инсталлятор DevKit установлен

После тестирования, я вновь сделал мой Apache конфигурации использовать тонкий:

NameVirtualHost *:80 
<VirtualHost *:80> 
    ServerName pdftk.neeis.com 
    DocumentRoot E:/Apache/pdftk/public/ 
    RewriteEngine On 
    <Proxy balancer://thinservers> 
    BalancerMember http://127.0.0.1:3005 
    BalancerMember http://127.0.0.1:3006 
    </Proxy> 
    RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f 
    RewriteRule ^/(.*) balancer://thinservers%{REQUEST_URI} [P,QSA,L] 
    ProxyPass/balancer://thinservers/ 
    ProxyPassReverse/balancer://thinservers/ 
    ProxyPreserveHost On 
    ProxyPass /images ! 
    ProxyPass /stylesheets ! 
    ProxyPass /javascripts !  
    <Proxy * > 
    Order Deny,Allow 
    Allow from all 
    </Proxy> 
    ErrorLog E:/Apache/Logs/error.log 
    CustomLog E:/Apache/Logs/access.log combined 
    LogLevel debug 
</VirtualHost> 

Затем возникла утомительная задача превратить тонкие в службы windows, пришлось установить Windows 2003 Resource Kit, скопировать svrany.exe в System32, использовать команду sc для создания se rzices, затем выполните некоторые исправления regedt32. Но это работает!

+0

прочитать http://stackoverflow.com/a/10636946/643500 и посмотреть, если это помогает –

+0

пилу, что уже, разница в том, что мое приложение на самом деле работает, и я только получаю ошибка при попытке файла send_file. Я еще немного поцарапаю себе голову на этом посту, посмотрю, какие выводы я могу извлечь из того, что сообщения об ошибках одинаковы. – RadBrad

+0

Попробуйте на тонком сервере, это должно быть базовое изменение, чтобы проверить его –

ответ

0

отредактирован:

Некоторые камни не поддерживают Rails 3 еще, попробуйте Thin.

Насколько я знаю, mongrel_cluster еще не поддерживает Rails 3. Самое быстрое решение - переключиться на Thin, он поддерживает несколько Rails экземпляров, и его конфигурационный файл очень похож на Mongel's .

кредит: https://stackoverflow.com/a/5660824/643500

Смежные вопросы