Uruchamianie dwóch różnych aplikacji Rails na jednym serwerze dedykowanym
Mam jeden serwer dedykowany z poniższymi konfiguracjami
i3 - Dual Core - 3.06Ghz H/T
16GB RAM
500GB SATA2
Teraz chcę wykonać dwie różne aplikacje Rails na jednym serwerze dedykowanym. Obie aplikacje są różne, ale używają wspólnej bazy danych.
Czy to możliwe? Jeśli tak-jak Mogę to zrobić – Czy Phusion z Apache to dobre podejście? Jeśli tak-jak skonfigurować dwie aplikacje z jednym serwerem Phusion Passenger?3 answers
Opiszę jak uruchamiam wiele aplikacji Rails na jednym serwerze Linuksowym, używając Apache, Phusion Passenger i niektórych wersji Ruby. Masz wiele możliwości wyboru, ale to powinno pomóc Ci zacząć. Wiele z tych szczegółów pochodzi ze skryptu instalacyjnego
Najpierw zainstaluj pasażera Phusion.
> gem install passenger
Po drugie, zbuduj Apache 2 Passenger module. Powinieneś być w stanie wykonać następujący skrypt zainstalowany w pierwszym kroku.
> passenger-install-apache2-module
Ten skrypt skompiluje Moduł Apache 2 i wyjaśnij, jak skonfigurować Apache. Jeśli brakuje zależności, skrypt powinien zaoferować kilka pomocnych porad na temat ich instalacji.
Po Trzecie, Edytuj plik konfiguracyjny Apache. Muszę dodać coś takiego. (Po prostu użyj tego do referencji i nie martw się o to .RVM) skrypt uruchomiony w kroku drugim da ci coś, co możesz skopiować i wkleić.
LoadModule passenger_module /Users/me/.rvm/gems/ree/gems/passenger-3.0.9/ext/apache2/mod_passenger.so
PassengerRoot /Users/me/.rvm/gems/ree/gems/passenger-3.0.9
PassengerRuby /Users/me/.rvm/wrappers/ree/ruby
Po czwarte, dodaj coś takiego do pliku konfiguracyjnego Apache dla każdego aplikacja , którą chcesz uruchomić.
<VirtualHost *:80>
ServerName app1.example.com
DocumentRoot /somewhere/app1/public # <-- be sure to point to 'public'!
<Directory /somewhere/app1/public>
AllowOverride all # <-- relax Apache security settings
Options -MultiViews # <-- MultiViews must be turned off
</Directory>
</VirtualHost>
Jeśli masz dwie aplikacje Rails współdzielące jedną bazę danych, to obie będą miały podobne informacje o połączeniu w config / database.yml
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-20 20:40:38
Tak, to na pewno możliwe. Nigdy nie robiłem tego z Passenger + Apache, ale jestem pewien, że to dobry sposób. Robiłem to tylko z thin + nginx.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-20 18:54:05
Passenger Phusion with Apache to solidne podejście. Fakt, że używają tej samej bazy danych nie powinien być problemem(tylko upewnij się, że nie nadepną na siebie w żaden sposób).
Ogólnie rzecz biorąc, po prostu ustaw wszystko jak zwykle, ale spójrz na wirtualne hosty oparte na nazwach Apache:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-20 19:10:20