Ruby on Rails¶
Hosting mydevil.net do uruchamiania aplikacji w Ruby on Rails (i w ogólności Ruby) używa serwera Phusion Passenger (minimalna wymagana wersja Ruby on Rails to 2.3). Umożliwia on ustawienie dla każdej domeny oddzielnego interpretera. W przypadku Ruby on Rails należy przygotować własne środowisko za pomocą RVM.
Wstępna konfiguracja¶
Do uruchomienia strony napisanej w Ruby on Rails należy najpierw zadbać o instalację RVM oraz prawidłową konfigurację samej domeny. Przed przystąpieniem do dalszych kroków należy upewnić się, że:
- Domena jest prawidłowo dodana i skonfigurowana w naszym systemie DNS.
- Została dodana Strona WWW z wskazaniem typu Ruby.
- Zainstalować framework Ruby on Rails poleceniami:
gem install nokogiri -- --use-system-libraries --with-iconv-lib=/usr/local/lib --with-iconv-include=/usr/local/include --with-xml2-lib=/usr/local/lib --with-xml2-include=/usr/local/include/libxml2/libxml --with-xslt-lib=/usr/local/lib --with-xslt-include=/usr/local/include/libxslt
gem install rails
Projekt Ruby on Rails¶
Głównym katalogiem projektu Ruby on Rails (tj. katalog, w którym znajduje się plik config.ru) musi być katalog /usr/home/LOGIN/domains/DOMENA/public_ruby. Nazwa projektu Ruby on Rails nie ma znaczenia, dopóki zachowana jest powyższa nazwa katalogu. Należy również usunąć plik index.html poleceniem:
rm /usr/home/LOGIN/domains/DOMENA/public_ruby/public/index.html
Nowy projekt Ruby on Rails¶
Nowy projekt Ruby on Rails należy utworzyć w katalogu /usr/home/LOGIN/domains/DOMENA/public_ruby - najprostszym sposobem utworzenia odpowiedniego projektu jest wydanie następujących poleceń:
cd /usr/home/LOGIN/domains/DOMENA/
rm -rf public_ruby
gem install sqlite3 -- --build-flags --with-sqlite3-include=/usr/local/include --with-sqlite3-lib=/usr/local/lib --with-sqlite3-dir=/usr/local
rails new public_ruby
Istniejący projekt Ruby on Rails¶
Istniejący projekt należy umieścić jako katalog /usr/home/LOGIN/domains/DOMENA/public_ruby/. W przypadku gdy projekt nie nazywa się public_ruby należy zmienić jego nazwę. Serwer Phusion Passenger automatycznie wykryje nową aplikację.
Restart aplikacji¶
Restart aplikacji Ruby on Rails można wykonać za pomocą naszego panelu zarządzania usługą w zakładce WWW, lub przy użyciu polecenia systemu zarządzania kontem Devil: devil www restart DOMENA.
Limit procesów dla Phusion Passenger¶
Możliwość ustawienia ilości procesów dla stron typu ruby. Składnia polecenia:
devil www options DOMENA processes <ILOŚĆ>
Gdzie:
- DOMENA oznacza domenę WWW typu ruby
- ILOŚĆ - ilość procesów w przedziale od 1 do 80% procesów systemowych konta hostingowego
Opcja dostępna jest również w panelu DevilWEB:
Strony WWW ➡ Zarządzaj (przy wybranej domenie) ➡ Szczegóły ➡ Limit procesów ➡ należy wpisać nową wartość oraz zapisać zmiany przyciskiem 💾 Zapisz zmiany.
Pliki statyczne¶
Wszystkie pliki umieszczone w katalogu /usr/home/LOGIN/domains/DOMENA/public_ruby/public są obsługiwane jak pliki statyczne. W tym katalogu najlepiej umieścić wszystkie obrazki, skrypty, style, itp. Żądania do plików znajdujących się w tym katalogu nie będą przetwarzane przez procesy Ruby i nie będą obciążać interpretatora. Na przykład plik /usr/home/LOGIN/domains/DOMENA/public_ruby/public/robots.txt będzie dostępny pod adresem http://DOMENA/robots.txt.
Logi¶
Uwaga
Nie należy usuwać katalogu logs, może to spowodować problemy z działaniem stron typu Node.js, Ruby, Python.
Logi błędów zapisują się do pliku error.log w katalogu /usr/home/LOGIN/domains/DOMENA/logs/.
Czas życia aplikacji¶
W przypadku braku żądań do strony przez 24 godziny aplikacja jest wyłączana automatycznie i ponownie automatycznie uruchamiana przy pierwszym następnym wejściu. W przypadku zmiany w konfiguracji strony również aplikacja jest automatycznie wyłączana i uruchamiana przy następnym pierwszym wejściu na stronę.