2010-07-22 54 views
20

Tôi đang viết một ứng dụng Ruby on Rails thường chạy trên Heroku hoặc Linux Box, nhưng tôi cũng cần phải triển khai nó cho Windows Server.Ruby on Rails trên IIS?

Máy chủ là một máy chủ 64-bit Win2008 có cài đặt IIS 7.0, vì vậy thông thường tôi muốn sử dụng IIS thay vì thiết lập một Apache bên cạnh nó.

Tôi không biết liệu Ruby/Rails có hoạt động với IIS không? Do Gems có hoạt động không? 64-Bit có phải là vấn đề không?

Tôi đang nghĩ đến việc sử dụng Ruby 1.9.1 và Rails 2.3.

Trả lời

12

bạn phải thích đau vì triển khai này sẽ bị tổn thương. Tôi không biết đây có phải là giải pháp cho bạn hay không, nhưng ở công việc cũ của tôi, chúng tôi đã triển khai các ứng dụng web trên máy tính bảng windows (trên 200 máy) và quyết định sử dụng hộp ảo và triển khai ứng dụng trong vm. Một trong những ứng dụng cũ của chúng tôi trên máy tính bảng mà chúng tôi triển khai trên các cửa sổ không có iis, chỉ cần sử dụng ruby ​​và rubygems với mongrel như máy chủ ứng dụng và mysql làm cơ sở dữ liệu nhưng nó không vui.

+10

Đó thực sự là một ý tưởng thú vị: Cài đặt máy chủ Hyper-V và chạy một số Linux trong đó. Tôi sẽ ghi nhớ điều đó như một ý tưởng. (PS: Tôi là một nhà phát triển SharePoint, vì vậy tôi không chỉ thích đau đớn, tôi đang tích cực tìm kiếm nó ...) –

+0

cho biết nếu bạn muốn đi tuyến đường đó, hoặc bản thân tôi hoặc ông chủ cũ của tôi có lẽ sẽ có thể để cung cấp cho bạn một số mẹo. Tôi nghĩ rằng chúng tôi đã gặp phải một số vấn đề cấp phép bằng cách sử dụng phiên bản được biên dịch của hộp ảo, vì vậy chúng tôi phải biên dịch nó từ nguồn, vốn không phải là một quá trình đơn giản (tôi nghĩ họ cố gắng giữ nó theo cách đó). –

2

Bạn có thể triển khai Rails trong IIS, nó rất khó và không có nhiều tài liệu. Bạn sẽ cần một đặc biệt thực hiện Fast-CGI: http://roriis.codeplex.com/

Ngoài ra thông tin ở đây: http://mvolo.com/blogs/serverside/archive/2007/02/18/10-steps-to-get-Ruby-on-Rails-running-on-Windows-with-IIS-FastCGI.aspx

Rails dưới Apache trên Windows là một chút dễ dàng hơn, nhưng nhược điểm lớn nhất của việc triển khai Windows mà bạn có thể' t sử dụng Capistrano để tự động triển khai. Đá quý hoạt động trên Windows. Tất cả kinh nghiệm của tôi là 32bit, có thể có một trục trặc liên quan đến 64bit, nhưng tôi nghi ngờ nó.

17

Để cài đặt Ruby on Rails cho IIS 7 64-Bit Windows 2008 Server xin vui lòng sử dụng Helicon Zoo

+3

Điều này có một bất lợi: Nếu bạn đã cài đặt và tinh chỉnh một bản sao của Ruby, nó sẽ không đề nghị sử dụng nó, nhưng sẽ cài đặt một cái khác, và hơn thế nữa, nó sẽ đưa Ruby mới vào PATH để phá vỡ cài đặt trước đó. Một điều nữa: Sở thú Helicon có thể cài đặt RoR, nhưng không thể gỡ cài đặt nó - bạn sẽ phải thực hiện việc này theo cách thủ công. – Paul

+0

Có, đặc biệt đối với SQL-Server, bạn cần một phiên bản cũ hơn của Ruby, hoặc nó sẽ không biên dịch ... –

0

Đối với công việc trong các cửa sổ với RoR Tôi làm điều này:

1. Install Ruby and RoR 
2. Install NginX (balancing for each thin server launched) 
3. Install Thin Server 
4. Create a service (on Ruby code) that run each thin server process with each affinity process (cpu0/cpu1...) for example if have a DualCore CPU it will launch 2 Thin Server (different port between those) and set affinity for each one (using PID). 
5. Set a windows user with permission to do run that service (like a IIS pool and isolated process concept) 

Ứng dụng của tôi đang làm việc hơn một năm liên tục và không có bất kỳ vấn đề với điều đó và tôi hạnh phúc.