2010-07-22 32 views
20

Piszę aplikację Ruby on Rails, która normalnie działa na Heroku lub LinuxBox, ale muszę również wdrożyć ją na Windows Server.Ruby on Rails on IIS?

Serwer to 64-bitowy serwer Win2008 z zainstalowanym IIS 7.0, więc zwykle wolę używać IIS zamiast instalować Apache obok niego.

Po prostu nie wiem, czy Ruby/Rails działa z IIS? Czy Gems działają? Czy 64-bit jest problemem?

Myślę o użyciu Ruby 1.9.1 i Rails 2.3.

Odpowiedz

12

Musisz polubić ból, ponieważ to wdrożenie będzie bolało. Nie wiem, czy jest to rozwiązanie dla ciebie, ale w mojej starej pracy wdrażaliśmy aplikacje internetowe na tabletach z systemem Windows (ponad 200 z nich) i zdecydowaliśmy się użyć wirtualnego pudełka i wdrożyć aplikację w vm. Jedna z naszych starych aplikacji na tabletach PC, którą wdrożyliśmy w systemie Windows bez iis, używa tylko ruby ​​i rubygmatów z kundlem jako serwerem aplikacji i mysql jako bazą danych, ale nie była przyjemna.

+10

To rzeczywiście ciekawy pomysł: zainstalować serwer Hyper-V i uruchomić jakiś Linux w nim. Będę o tym pamiętać jako pomysł. (PS: Jestem programistą SharePoint, więc nie tylko podoba mi się ból, aktywnie go szukam ...) –

+0

Jeśli chcesz iść tą drogą, ja lub mój stary szef prawdopodobnie będę w stanie dać ci kilka wskazówek. Wydaje mi się, że napotkaliśmy pewne problemy z licencjami, używając skompilowanej wersji wirtualnego pudełka, więc musieliśmy skompilować ją ze źródła, co nie było prostym procesem (myślę, że starają się zachować to w ten sposób). –

2

Można wdrażać Railsy w ramach IIS, jest to bardzo trudne i nie ma zbyt wiele dokumentacji. Musisz specjalną implementacją Fast CGI: http://roriis.codeplex.com/

także informacji: http://mvolo.com/blogs/serverside/archive/2007/02/18/10-steps-to-get-Ruby-on-Rails-running-on-Windows-with-IIS-FastCGI.aspx

Rails pod Apache na Windows jest nieco łatwiejsze, ale największą wadą rozmieszczenia systemu Windows jest to, że można” t używać Capistrano do automatyzacji wdrożeń. Klejnoty działają w systemie Windows. Całe moje doświadczenie jest 32-bitowe, może to być błąd związany z 64-bitami, ale wątpię w to.

17

Aby zainstalować Ruby on Rails na IIS 7 64-bitowy Windows 2008 Server należy użyć Helicon Zoo

+3

Ma to wadę: jeśli już zainstalowałeś i dostroiłeś kopię Rubiego, nie sugerujesz jej użycia, ale zainstalujesz inną, a ponadto wstawi ona nową Ruby do PATH, która przerwie poprzednią instalację. Jeszcze jedno: Helicon Zoo może zainstalować RoR, ale nie może go odinstalować - będziesz musiał to zrobić ręcznie. – Paul

+0

Tak, szczególnie w przypadku SQL-Servera potrzebna jest specjalna starsza wersja Rubiego, inaczej nie będzie kompilacji ... –

0

Do pracy w oknach z RoR to zrobić:

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) 

Moja aplikacja działa więcej niż jeden rok ciągły i nie ma żadnego problemu z tym i jestem szczęśliwy.