Tworzenie i wdrażanie aplikacji Node.js w usłudze Azure Cloud Service (wersja klasyczna)
Ważne
Usługi Cloud Services (wersja klasyczna) są teraz przestarzałe dla wszystkich klientów od 1 września 2024 r. Wszystkie istniejące uruchomione wdrożenia zostaną zatrzymane i zamknięte przez firmę Microsoft, a dane zostaną przypadkowo utracone od października 2024 r. Nowe wdrożenia powinny używać nowego modelu wdrażania opartego na usłudze Azure Resource Manager w usługach Azure Cloud Services (wsparcie dodatkowe).
W tym samouczku pokazano, jak utworzyć aplikację Node.js działającą w usłudze w chmurze platformy Azure. Usługi Cloud Services są blokami konstrukcyjnymi skalowalnych aplikacji w chmurze na platformie Azure. Umożliwiają one rozdzielanie i skalowanie w poziomie składników frontonu i zaplecza aplikacji oraz niezależne zarządzanie nimi. Usługi Cloud Services oferują specjalną maszynę wirtualną, która w niezawodny sposób hostuje poszczególne role.
Napiwek
Chcesz utworzyć witrynę internetową? Jeśli scenariusz obejmuje tylko prosty fronton witryny internetowej, rozważ korzystanie z lekkiej aplikacji internetowej. Możesz łatwo przeprowadzić uaktualnienie do Usługi w chmurze w przypadku rozwoju witryny internetowej lub zmiany wymagań.
Korzystając z tego samouczka, utworzysz aplikację internetową hostowaną w roli sieci Web. Emulator obliczeniowy służy do lokalnego testowania aplikacji, a następnie wdrażania jej przy użyciu narzędzi wiersza polecenia programu PowerShell.
Aplikacja jest aplikacją "hello world":
Wymagania wstępne
Uwaga
W tym samouczku jest używany program Azure PowerShell, który wymaga systemu Windows.
- Instalowanie i konfigurowanie programu Azure PowerShell.
- Pobierz i zainstaluj zestaw [Azure SDK dla platformy .NET 2.7]. W instalacji wybierz pozycję:
- MicrosoftAzureAuthoringTools
- MicrosoftAzureComputeEmulator
Tworzenie projektu Usługi w chmurze Azure
Wykonaj poniższe zadania w celu utworzenia nowego projektu Usługi w chmurze Azure oraz utworzenia podstawowych szkieletów języka Node.js:
Uruchom program Windows PowerShell jako administrator. Przy użyciu menu Start lub ekranu startowego wyszukaj program Windows PowerShell.
Connect PowerShell z subskrypcją.
Wprowadź następujące polecenie cmdlet programu PowerShell, aby utworzyć projekt:
New-AzureServiceProject helloworld
Polecenie cmdlet New-AzureServiceProject powoduje wygenerowanie podstawowej struktury publikowania aplikacji Node.js w Usłudze w chmurze. Zawiera ona pliki konfiguracji niezbędne do publikowania na platformie Azure. Polecenie cmdlet zmienia także katalog roboczy na katalog usługi.
Polecenie cmdlet powoduje utworzenie następujących plików:
- ServiceConfiguration.Cloud.cscfg, ServiceConfiguration.Local.cscfg i ServiceDefinition.csdef: specyficzne dla platformy Azure pliki niezbędne do publikowania aplikacji. Aby uzyskać więcej informacji, zobacz Tworzenie hostowanej usługi platformy Azure — omówienie.
- deploymentSettings.json: przechowuje ustawienia lokalne, które są używane przez polecenia cmdlet programu Azure PowerShell dotyczące wdrożenia.
Wprowadź poniższe polecenie, aby dodać nową rolę sieci Web:
Add-AzureNodeWebRole
Polecenie cmdlet Add-AzureNodeWebRole służy do tworzenia podstawowej aplikacji Node.js. Powoduje ono również modyfikowanie plików .csfg i .csdef w celu dodania wpisów konfiguracji dla nowej roli.
Uwaga
Jeśli nie określisz nazwy roli, będzie używana nazwa domyślna. Nazwa może być pierwszym parametrem polecenia cmdlet:
Add-AzureNodeWebRole MyRole
Aplikacja Node.js jest definiowana w pliku server.js, który znajduje się w katalogu dla roli sieci Web (domyślnie WebRole1). Oto kod:
var http = require('http');
var port = process.env.port || 1337;
http.createServer(function (req, res) {
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World\n');
}).listen(port);
Ten kod jest zasadniczo taki sam jak przykładowy kod „Hello World” w witrynie sieci Web nodejs.org, z wyjątkiem tego, że używa numeru portu przypisanego przez środowisko chmury.
Wdrożenie aplikacji na platformie Azure
Uwaga
Do wykonania kroków tego samouczka potrzebne jest konto platformy Azure. Możesz aktywować korzyści dla subskrybentów MSDN lub zarejestrować się w celu uzyskania bezpłatnego konta.
Pobieranie ustawień publikowania na platformie Azure
Aby wdrożyć aplikację na platformie Azure, należy najpierw pobrać ustawienia publikowania dla subskrypcji platformy Azure.
Uruchom poniższe polecenie cmdlet programu Azure PowerShell:
Get-AzurePublishSettingsFile
To polecenie używa przeglądarki do przejścia do strony pobierania ustawień publikowania. Może zostać wyświetlony monit o zalogowanie się przy użyciu konta Microsoft. W takiej sytuacji należy użyć konta skojarzonego z subskrypcją platformy Azure.
Zapisz pobrany profil w łatwo dostępnej lokalizacji pliku.
Uruchom poniższe polecenie cmdlet, aby zaimportować pobrany profil publikowania:
Import-AzurePublishSettingsFile [path to file]
Uwaga
Po zaimportowaniu ustawień publikowania rozważ usunięcie pobranego pliku .publishSettings, ponieważ zawiera on informacje, które mogłyby umożliwić innym osobom uzyskanie dostępu do Twojego konta.
Publikowanie aplikacji
Aby opublikować aplikację, uruchom następujące polecenie:
$ServiceName = "NodeHelloWorld" + $(Get-Date -Format ('ddhhmm'))
Publish-AzureServiceProject -ServiceName $ServiceName -Location "East US" -Launch
- -ServiceName — określa nazwę wdrożenia. Ta wartość musi być unikatową nazwą; w przeciwnym razie proces publikowania kończy się niepowodzeniem. Polecenie Get-Date uwzględnia ciąg daty i godziny, który powinien zapewnić unikatowość nazwy.
- -Location określa centrum danych, które hostuje aplikację. Aby wyświetlić listę dostępnych centrów danych, użyj polecenia cmdlet Get-AzureLocation.
- -Uruchom otwiera okno przeglądarki i przechodzi do hostowanej usługi po zakończeniu wdrażania.
Po pomyślnym opublikowaniu zostanie wyświetlona odpowiedź podobna do zrzutu ekranu:
Uwaga
W przypadku publikowania aplikacji po raz pierwszy jej wdrożenie i udostępnienie może potrwać kilka minut.
Po zakończeniu wdrażania zostanie otwarte okno przeglądarki i przejdzie do usługi w chmurze.
Aplikacja działa teraz na platformie Azure.
Polecenie cmdlet Publish-AzureServiceProject wykonuje następujące czynności:
- Tworzy pakiet do wdrożenia. Pakiet zawiera wszystkie pliki w folderze aplikacji.
- Tworzy nowe konto magazynu, jeśli nie istnieje. Konto magazynu Azure jest używane do przechowywania pakietu aplikacji podczas wdrażania. Po ukończeniu wdrażania konto magazynu można bezpiecznie usunąć.
- Tworzy nową usługę w chmurze, jeśli jeszcze nie istnieje. Usługa w chmurze to kontener, w którym aplikacja jest hostowana podczas wdrażania na platformie Azure. Aby uzyskać więcej informacji, zobacz Tworzenie hostowanej usługi platformy Azure — omówienie.
- Publikuje pakiet wdrożeniowy na platformie Azure.
Zatrzymywanie i usuwanie aplikacji
Po wdrożeniu aplikacji można ją wyłączyć, aby uniknąć dodatkowych kosztów. Opłaty za wystąpienia ról sieci Web na platformie Azure są naliczane za godzinę korzystania z serwera. Czas serwera jest używany po wdrożeniu aplikacji, nawet jeśli wystąpienia nie są uruchomione i są w stanie zatrzymanym.
W oknie programu Windows PowerShell zatrzymaj wdrożenie usługi utworzone w poprzedniej sekcji za pomocą następującego polecenia cmdlet:
Stop-AzureService
Zatrzymywanie usługi może potrwać kilka minut. Po zatrzymaniu usługi zostanie wyświetlony komunikat z informacją o zatrzymaniu usługi.
Aby usunąć usługę, wywołaj następujące polecenie cmdlet:
Remove-AzureService
Po wyświetleniu monitu wpisz Y, aby usunąć usługę.
Usuwanie usługi może potrwać kilka minut. Po usunięciu usługi zostanie wyświetlony komunikat informujący o tym, że usługa została usunięta.
Uwaga
Usunięcie usługi nie powoduje usunięcia konta magazynu, które zostało utworzone po początkowym opublikowaniu usługi, a opłaty za użycie magazynu będą nadal naliczane. Jeśli nic innego nie korzysta z magazynu, możesz go usunąć.
Następne kroki
Aby uzyskać więcej informacji, odwiedź stronę Centrum deweloperów środowiska Node.js.