Aplikacja internetowa ruby on Rails na maszynie wirtualnej platformy Azure

Ważne

Klasyczne maszyny wirtualne zostaną wycofane 1 marca 2023 r.

Jeśli używasz zasobów IaaS z usługi ASM, przeprowadź migrację do 1 marca 2023 r. Zachęcamy do wcześniej przełączenia w celu skorzystania z wielu ulepszeń funkcji w usłudze Azure Resource Manager.

Aby uzyskać więcej informacji, zobacz Migrowanie zasobów IaaS do usługi Azure Resource Manager do 1 marca 2023 r.

W tym samouczku pokazano, jak hostować witrynę internetową języka Ruby on Rails na platformie Azure przy użyciu maszyny wirtualnej z systemem Linux.

Ten samouczek został zweryfikowany przy użyciu systemu Ubuntu Server 14.04 LTS. Jeśli używasz innej dystrybucji systemu Linux, może być konieczne zmodyfikowanie kroków instalacji usługi Rails.

Uwaga

Platforma Azure ma dwa różne modele wdrażania związane z tworzeniem zasobów i pracą z nimi: Resource Manager i model klasyczny. Ten artykuł dotyczy klasycznego modelu wdrożenia. Firma Microsoft zaleca, aby w przypadku większości nowych wdrożeń korzystać z modelu opartego na programie Resource Manager.

Od 15 listopada 2017 r. maszyny wirtualne będą dostępne tylko w Azure Portal.

Tworzenie maszyny wirtualnej platformy Azure

Zacznij od utworzenia maszyny wirtualnej platformy Azure z obrazem systemu Linux.

Aby utworzyć maszynę wirtualną, możesz użyć Azure Portal lub interfejsu azure Command-Line (CLI).

Azure Portal

  1. Zaloguj się do Azure Portal

  2. Kliknij pozycję Utwórz zasób, a następnie wpisz ciąg "Ubuntu Server 14.04" w polu wyszukiwania. Kliknij wpis zwrócony przez wyszukiwanie. W przypadku modelu wdrażania wybierz pozycję Klasyczny, a następnie kliknij pozycję "Utwórz".

  3. W bloku Podstawowe podaj wartości wymaganych pól: Nazwa (dla maszyny wirtualnej), Nazwa użytkownika, Typ uwierzytelniania i odpowiednie poświadczenia, Subskrypcja platformy Azure, Grupa zasobów i Lokalizacja.

    Tworzenie nowego obrazu systemu Ubuntu

  4. Po aprowizacji maszyny wirtualnej kliknij nazwę maszyny wirtualnej, a następnie kliknij pozycję Punkty końcowe w kategorii Ustawienia . Znajdź punkt końcowy SSH w obszarze Autonomiczna.

    Domyślny punkt końcowy

Interfejs wiersza polecenia platformy Azure

Wykonaj kroki opisane w temacie Tworzenie maszyny wirtualnej z systemem Linux.

Po aprowizacji maszyny wirtualnej możesz uzyskać punkt końcowy SSH, uruchamiając następujące polecenie:

azure vm endpoint list <vm-name>  

Instalowanie języka Ruby on Rails

  1. Nawiązywanie połączenia z maszyną wirtualną za pomocą protokołu SSH.

  2. W sesji SSH użyj następujących poleceń, aby zainstalować język Ruby na maszynie wirtualnej:

     sudo apt-get update -y
     sudo apt-get upgrade -y
    
     sudo apt-add-repository ppa:brightbox/ruby-ng
     sudo apt-get update
     sudo apt-get install ruby2.4
    
     > [!TIP]
     > The brightbox repository contains the current Ruby distribution.
    

    Instalacja może potrwać kilka minut. Po zakończeniu użyj następującego polecenia, aby sprawdzić, czy język Ruby jest zainstalowany:

     ruby -v
    
  3. Użyj następującego polecenia, aby zainstalować platformę Rails:

     sudo gem install rails --no-rdoc --no-ri -V
    

    Użyj flag --no-rdoc i --no-ri, aby pominąć instalowanie dokumentacji, co jest szybsze. Wykonanie tego polecenia prawdopodobnie potrwa długo, dlatego dodanie -V spowoduje wyświetlenie informacji o postępie instalacji.

Tworzenie i uruchamianie aplikacji

Mimo że nadal zalogowano się za pośrednictwem protokołu SSH, uruchom następujące polecenia:

rails new myapp
cd myapp
rails server -b 0.0.0.0 -p 3000

Nowe polecenie tworzy nową aplikację Rails. Polecenie serwera uruchamia serwer internetowy WEBrick dostarczany z usługą Rails. (Do użytku produkcyjnego prawdopodobnie warto użyć innego serwera, takiego jak Jednorożec lub Pasażer).

Powinny pojawić się dane wyjściowe podobne do poniższych.

=> Booting WEBrick
=> Rails 4.2.1 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
[2015-06-09 23:34:23] INFO  WEBrick 1.3.1
[2015-06-09 23:34:23] INFO  ruby 1.9.3 (2013-11-22) [x86_64-linux]
[2015-06-09 23:34:23] INFO  WEBrick::HTTPServer#start: pid=27766 port=3000

Dodawanie punktu końcowego

  1. Przejdź do [Azure Portal][https://portal.azure.com] i wybierz maszynę wirtualną.

  2. Wybierz pozycję PUNKTY KOŃCOWE w obszarze Ustawienia wzdłuż lewej krawędzi strony.

  3. Kliknij pozycję DODAJ w górnej części strony.

  4. Na stronie dialogowej Dodawanie punktu końcowego wprowadź następujące informacje:

    • Nazwa: HTTP

    • Protokół: TCP

    • Port publiczny: 80

    • Port prywatny: 3000

    • Pływający adres PI: wyłączony

    • Lista kontroli dostępu — kolejność: 1001 lub inna wartość określająca priorytet tej reguły dostępu.

    • Lista kontroli dostępu — nazwa: allowHTTP

    • Lista kontroli dostępu — akcja: zezwolenie

    • Lista kontroli dostępu — podsieć zdalna: 1.0.0.0/16

      Ten punkt końcowy ma publiczny port 80, który będzie kierować ruch do prywatnego portu 3000, gdzie serwer Rails nasłuchuje. Reguła listy kontroli dostępu zezwala na ruch publiczny na porcie 80.

      nowy punkt końcowy

  5. Kliknij przycisk OK, aby zapisać punkt końcowy.

  6. Powinien zostać wyświetlony komunikat z informacją Zapisywanie punktu końcowego maszyny wirtualnej. Gdy ten komunikat zniknie, punkt końcowy jest aktywny. Teraz możesz przetestować aplikację, przechodząc do nazwy DNS maszyny wirtualnej. Witryna internetowa powinna wyglądać podobnie do następującej:

    domyślna strona szyn

Następne kroki

W tym samouczku wykonaliśmy większość kroków ręcznie. W środowisku produkcyjnym należy napisać aplikację na maszynie dewelopera i wdrożyć ją na maszynie wirtualnej platformy Azure. Ponadto większość środowisk produkcyjnych hostuje aplikację Rails w połączeniu z innym procesem serwera, takim jak Apache lub NginX, który obsługuje routing żądań do wielu wystąpień aplikacji Rails i obsługuje zasoby statyczne. Aby uzyskać więcej informacji, zobacz http://guides.rubyonrails.org/routing.html.

Aby dowiedzieć się więcej na temat języka Ruby on Rails, odwiedź stronę Ruby on Rails Guides.

Aby korzystać z usług platformy Azure z poziomu aplikacji Języka Ruby, zobacz: