我在Windows 2003 R2 SP2服務器上部署了Rails 3.2.3應用程序(ruby 1.9.3p125),(不要問)。這是我的Gemfile:Rails 3.2.3,Mongrel在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,並且在運行與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的配置,我m確定它涉及到由於Rails 3而必須添加的新雜種材料。
更新:
我放棄了,並嘗試使用薄,工作正常。
鑑於大多數關於在Windows上安裝thin的帖子都來自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 rvices,然後做一些regedt32 hackery。但是,它的工作原理!
閱讀http://stackoverflow.com/a/10636946/643500,看看它是否有助於 –
鋸已經,不同的是,我的應用程序實際運行,我只得到當我嘗試send_file時出錯。我會在那篇文章上多寫一些我的頭,看看我可以從錯誤消息相同的事實中得出什麼結論。 – RadBrad
在瘦服務器上嘗試一下,它應該是一個基本的變化來測試它 –