Azure App Service'te Node.js web uygulaması oluşturma
Bu hızlı başlangıçta, ilk Node.js (Express) web uygulamanızı oluşturma ve Azure App Service. App Service, hem Linux hem de Node.js'ta çeşitli sürümlerini Windows.
Bu hızlı başlangıç, ücretsiz App Service bir uygulama yapılandırarak Azure aboneliğiniz için ücret ödemez.
İlk ortamınızı ayarlama
- Etkin aboneliği olan bir Azure hesabına sahip olun. Ücretsiz bir hesap oluşturun.
- Node.js npm'yi yükleyin. Komutunu
node --versionçalıştırarak yüklü Node.js doğrulayın. - yükleme Visual Studio Code.
- Azure App Service için Visual Studio Code.
- Etkin aboneliği olan bir Azure hesabına sahip olun. Ücretsiz bir hesap oluşturun.
- Node.js npm'yi yükleyin. Komutunu
node --versionçalıştırarak yüklü Node.js doğrulayın. - Azure kaynaklarınınsağlanması ve yapılandırılması için komutlarını herhangi bir kabukta çalıştırılan Azure CLI'yi yükleyin.
- Etkin aboneliği olan bir Azure hesabına sahip olun. Ücretsiz bir hesap oluşturun.
- Node.js npm'yi yükleyin. Komutunu
node --versionçalıştırarak yüklü Node.js doğrulayın. - Uygulamanıza bağlanmak için bir FTP istemcisine (örneğin FileZilla)sahip olun.
Node.js oluşturma
Bu adımda, bir başlangıç uygulaması Node.js ve bilgisayarınızda çalıştırıla olduğundan emin olun.
İpucu
Uygulama öğreticisini zatenNode.js Azure'adağıtma adımına atlayabilirsiniz.
Node.js Node.js ve NPM ile varsayılan olarak yüklü olan Express Generator'ıkullanarak basit bir Node.js oluşturun.
npx express-generator myExpressApp --view pugUygulamanın dizinine değişiklik yapmak ve NPM paketlerini yüklemek.
cd myExpressApp npm installGeliştirme sunucusunu başlatma.
npm startTarayıcıda'ya
http://localhost:3000gidin. Şuna benzer bir şey görmeniz gerekir:
Azure’a dağıtın
Devam etmek için tüm önkoşulların yüklü ve yapılandırılmış olduğundan emin olur.
Not
Uygulama Node.js Azure'da çalışması için ortam değişkeni tarafından sağlanan bağlantı noktasını PORT dinlemesi gerekir. Oluşturulan Express uygulamanıza bu ortam değişkeni zaten başlangıç betiği bin/www içinde kullanılmıştır (için process.env.PORT arama).
Azure'da oturum açma
Terminalde myExpressApp dizininde olduğundan emin olun ve aşağıdaki komutla Visual Studio Code başlatabilirsiniz:
code .Bu Visual Studio Code Etkinlik Çubuğunda Azure logosunu seçin.
Bu App Service Azure'da oturum açın... öğesini seçin ve yönergeleri izleyin.
Bu Visual Studio Code Azure e-posta adresinizi Azure APP SERVICE gezgininde durum çubuğunda ve aboneliğinizi görüyor olun.

App Service uygulamasını yapılandırma ve kod dağıtma
Web App Service Web Uygulamasına Dağıt simgesini seçin.
myExpressApp klasörünü seçin.
Yeni Web Uygulaması oluştur'a seçin. Linux kapsayıcısı varsayılan olarak kullanılır.
Web uygulamanız için genel olarak benzersiz bir ad yazın ve Enter tuşuna basın. Ad Tüm Azure'da benzersiz olmalı ve yalnızca alfasayısal karakterler ('A-Z', 'a-z', '0-9') ve kısa çizgi ('-' ) kullanmalıdır.
Çalışma zamanı yığını seçin altında istediğiniz Node.js sürümünü seçin. LTS sürümü önerilir.
Fiyatlandırma katmanı seçin'de Ücretsiz (F1) öğesini seçin ve Kaynakların Azure'da sağlanmasını bekleyin.
Açılan pencerede Her zaman "myExpressApp" çalışma alanını " olarak <app-name> dağıtın, Evet'i seçin. Bu şekilde, aynı çalışma alanında olduğu sürece, Visual Studio Code her App Service aynı App Service dağıtır.
Azure Visual Studio Code sağlar ve kodu dağıtırken ilerleme bildirimleri gösterir.
Dağıtım tamamlandıktan sonra bildirim açılan menüsünden Web Sitesine Gözat'ı seçin. Tarayıcıda Express varsayılan sayfası görüntüleniyor.
Terminalde, myExpressApp dizininde olduğundan emin olun ve komutunu kullanarak kodu yerel klasörünüze (myExpressApp) az webapp up dağıtın:
az webapp up --sku F1 --name <app-name>
- Komut
aztanınmıyorsa, İlk ortamınızı ayarlama konusunda açıklandığı gibi Azure CLI'nin yüklü olduğundan emin olun. - yerine
<app_name>Tüm Azure'da benzersiz olan bir ad yazın (geçerli karakterler , vea-z0-9karakterleridir).-İyi bir desen, şirket adınızla uygulama tanımlayıcısının bir birleşimini kullanmaktır. - bağımsız
--sku F1değişkeni, ücretsiz fiyatlandırma katmanında web uygulamasını oluşturur ve bu da ücrete neden olmaz. - İsteğe bağlı olarak, kullanılabilir bir
--location <location-name>Azure bölgesi olan bağımsız<location_name>değişkenlerini dahil edin. komutunu çalıştırarak Azure hesabınız için izin verilebilir bölgelerin listesiniaz account list-locationsedinebilirsiniz. - Komutu, varsayılan olarak Node.js için bir Linux uygulaması oluşturur. Bunun yerine bir Windows oluşturmak için bağımsız değişkenlerini
--os-typekullanın. - "Uygulamanın çalışma zamanı yığını otomatik olarak algılanamadı" hatasını görüyorsanız myExpressApp dizininde komutunu çalıştırarak emin olun (bkz. az webapp upile ilgili otomatik algılama sorunlarını giderme).
Komutun tamamlanması birkaç dakika sürebilir. Çalışırken, kaynak grubu, App Service planı ve uygulama kaynağı oluşturma, günlüğü yapılandırma ve ZIP dağıtımı yapma hakkında iletiler sağlar. Daha sonra, "uygulamayı < > Azure 'da uygulamanın URL 'si olan http://app-name. azurewebsites.net konumunda başlatabilirsiniz.
The webapp '<app-name>' doesn't exist
Creating Resource group '<group-name>' ...
Resource group creation complete
Creating AppServicePlan '<app-service-plan-name>' ...
Creating webapp '<app-name>' ...
Configuring default logging for the app, if not already enabled
Creating zip with contents of dir /home/cephas/myExpressApp ...
Getting scm site credentials for zip deployment
Starting zip deployment. This operation can take a while to complete ...
Deployment endpoint responded with status code 202
You can launch the app at http://<app-name>.azurewebsites.net
{
"URL": "http://<app-name>.azurewebsites.net",
"appserviceplan": "<app-service-plan-name>",
"location": "centralus",
"name": "<app-name>",
"os": "<os-type>",
"resourcegroup": "<group-name>",
"runtime_version": "node|10.14",
"runtime_version_detected": "0.0",
"sku": "FREE",
"src_path": "//home//cephas//myExpressApp"
}
Not
az webapp up komutu şu eylemleri gerçekleştirir:
Varsayılan bir kaynak grubu oluşturun.
varsayılan bir plan App Service oluşturun.
Belirtilen adla bir uygulama oluşturun.
Derleme otomasyonu etkinken geçerli çalışma dizininden tüm dosyaları zip ile dağıtın.
Parametreleri .azure/config dosyasında yerel olarak önbelleğe alın, böylece daha sonra veya diğer Azure CLI komutlarıyla dağıtırken bunları yeniden
az webapp upbelirtmenize gerek yok. Önbelleğe alınan değerler varsayılan olarak otomatik olarak kullanılır.
Azure portalda oturum açın
https://portal.azure.com adresinden Azure portalında oturum açın.
Azure kaynakları oluşturma
Aramaya uygulama hizmetleri yazın. Hizmetler altında uygulama hizmetleri' ni seçin.
Uygulama hizmetleri sayfasında Oluştur' u seçin.
Temel Bilgiler sekmesinde, Proje ayrıntıları altında, doğru aboneliğin seçildiğinden emin olun, ardından Yeni oluştur kaynak grubunu seçin. Ad için Myresourcegroup yazın.
Örnek ayrıntıları' nın altında, Web uygulamanız için genel olarak benzersiz bir ad yazın ve kod' u seçin. Düğüm 14 LTS çalışma zamanı yığını, bir işletim sistemi ve uygulamanıza hizmeti sağlamak istediğiniz bölgeyi seçin.
App Service planı altında yeni App Service planı oluşturmayı seçin. Ad için Myappserviceplan yazın. Ücretsiz katmana geçiş yapmak için boyutu Değiştir' e tıklayın, geliştirme/test sekmesini seçin, F1' i seçin ve sayfanın altındaki Uygula düğmesini seçin.
Sayfanın alt kısmındaki gözden geçir + oluştur düğmesini seçin.
Doğrulama çalıştıktan sonra sayfanın alt kısmındaki Oluştur düğmesini seçin.
Dağıtım tamamlandıktan sonra Kaynağa Git' i seçin.
FTP kimlik bilgilerini al
Azure App Service, FTP/S dağıtımı için iki tür kimlik bilgilerini destekler. Bu kimlik bilgileri, Azure aboneliğiniz kimlik bilgilerinizle aynı değildir. Bu bölümde, FileZilla ile kullanmak için uygulama kapsamı kimlik bilgilerini alacaksınız.
App Service uygulaması sayfasında, sol taraftaki menüden Dağıtım Merkezi ' ne tıklayın ve FTPS kimlik bilgileri sekmesini seçin.
FileZilla açın ve yeni bir site oluşturun.
FTPS kimlik bilgileri sekmesinde, FTPS uç noktası, Kullanıcı adı ve parolayı FileZilla içine kopyalayın.
FileZilla içinde Bağlan ' ye tıklayın.
FTP ile dosya dağıtma
Tüm dosya ve dizin dosyalarını Azure 'da /site/Wwwroot dizinine kopyalayın.
Uygulamanın düzgün çalıştığını doğrulamak için uygulamanızın URL 'sine gidin.
Güncelleştirmeleri yeniden Dağıt
Visual Studio Code düzenlemeler yaparak, dosyalarınızı kaydederek ve sonra Azure uygulamanıza yeniden dağıtarak bu uygulamaya yapılan değişiklikleri dağıtabilirsiniz. Örnek:
Örnek projeden Görünümler/index. Pug öğesini açın ve değiştirin
p Welcome to #{title}kullanıcısı
p Welcome to Azure!
App Service Gezgini ' nde Web uygulamasına dağıt simgesini tekrar seçin, yeniden Dağıt ' a tıklayarak onaylayın.
Dağıtımın tamamlanmasını bekleyin, sonra bildirim açılır penceresinde Web sitesine gözatamazsınız ' ı seçin.
Welcome to Expressİletinin olarak değiştirildiğini görmeniz gerekirWelcome to Azure!.
Değişikliklerinizi kaydedin, sonra
az webapp upkomutu bir bağımsız değişken olmadan tekrar kullanarak uygulamayı yeniden dağıtın:az webapp upBu komut, uygulama adı, kaynak grubu ve App Service planı gibi . Azure/config dosyasında yerel olarak önbelleğe alınan değerleri kullanır.
Dağıtım tamamlandıktan sonra, Web sayfasını yenileyin
http://<app-name>.azurewebsites.net.Welcome to Expressİletinin olarak değiştirildiğini görmeniz gerekirWelcome to Azure!.
Değişikliklerinizi kaydedin ve sonra FTP istemcinizi kullanarak uygulamayı yeniden dağıtın.
Dağıtım tamamlandıktan sonra, Web sayfasını yenileyin
http://<app-name>.azurewebsites.net.Welcome to Expressİletinin olarak değiştirildiğini görmeniz gerekirWelcome to Azure!.
Akış Günlükleri
console.log()Azure uygulamasından doğrudan Visual Studio Code çıkış penceresinde günlük çıktısını (çağrıları) akışla aktarabilirsiniz.
App Service Gezgini ' nde, uygulama düğümüne sağ tıklayın ve akış günlüklerini Başlat' ı seçin.

Uygulamayı yeniden başlatmak isteyip istemediğiniz sorulursa Evet' e tıklayın. uygulama yeniden başlatıldıktan sonra Visual Studio Code çıkış penceresi, günlük akışı bağlantısıyla açılır.
Birkaç saniye sonra çıkış penceresinde, günlük akış hizmetine bağlı olduğunuzu belirten bir ileti gösterilir. Tarayıcıdaki sayfayı yenileyerek daha fazla çıkış etkinliği oluşturabilirsiniz.
Connecting to log stream... 2020-03-04T19:29:44 Welcome, you are now connected to log-streaming service. The default timeout is 2 hours. Change the timeout with the App Setting SCM_LOGSTREAM_TIMEOUT (in seconds).
Uygulamanın içinden oluşturulan konsol günlüklerine ve çalıştığı kapsayıcıya erişebilirsiniz. Günlükler, çağrıları tarafından oluşturulan çıktıları içerir console.log() .
Günlükleri akışa almak için az WebApp log tail komutunu çalıştırın:
az webapp log tail
Komut . Azure/config dosyasında önbelleğe alınmış kaynak grubu adını kullanır.
--logs az webapp up Günlük akışını otomatik olarak dağıtımda açmak için parametresini then komutuyla da dahil edebilirsiniz.
Uygulamaya HTTP isteklerini açıklayan iletileri içeren konsol günlükleri oluşturmak için uygulamayı tarayıcıda yenileyin. Hiçbir çıkış hemen yoksa, 30 saniye içinde yeniden deneyin.
Günlük akışını istediğiniz zaman durdurmak için terminalde CTRL + C tuşuna basın.
Uygulamanın içinden oluşturulan konsol günlüklerine ve çalıştığı kapsayıcıya erişebilirsiniz. Node.js uygulamasından doğrudan Azure portal günlük çıkışını (öğesine çağrılar) akışla aktarabilirsiniz console.log() .
Uygulamanızın aynı App Service sayfasında, izleme bölümüne gitmek için sol menüyü kullanın ve günlük akışı' na tıklayın.
Birkaç saniye sonra çıkış penceresinde, günlük akış hizmetine bağlı olduğunuzu belirten bir ileti gösterilir. Tarayıcıdaki sayfayı yenileyerek daha fazla çıkış etkinliği oluşturabilirsiniz.
Connecting... 2021-10-26T21:04:14 Welcome, you are now connected to log-streaming service. Starting Log Tail -n 10 of existing logs ---- /appsvctmp/volatile/logs/runtime/81b1b83b27ea1c3d598a1cdec28c71c4074ce66c735d0be57f15a8d07cb3178e.log 2021-10-26T21:04:08.614384810Z: [INFO] 2021-10-26T21:04:08.614393710Z: [INFO] # Enter the source directory to make sure the script runs where the user expects 2021-10-26T21:04:08.614399010Z: [INFO] cd "/home/site/wwwroot" 2021-10-26T21:04:08.614403210Z: [INFO] 2021-10-26T21:04:08.614407110Z: [INFO] export NODE_PATH=/usr/local/lib/node_modules:$NODE_PATH 2021-10-26T21:04:08.614411210Z: [INFO] if [ -z "$PORT" ]; then 2021-10-26T21:04:08.614415310Z: [INFO] export PORT=8080 2021-10-26T21:04:08.614419610Z: [INFO] fi 2021-10-26T21:04:08.614423411Z: [INFO] 2021-10-26T21:04:08.614427211Z: [INFO] node /opt/startup/default-static-site.js Ending Log Tail of existing logs ---
Kaynakları temizleme
Önceki adımlarda, bir kaynak grubunda Azure kaynakları oluşturdunuz. Bu hızlı başlangıçta oluşturma adımları bu kaynak grubundaki tüm kaynakları koyar. Temizlemek için, yalnızca kaynak grubunu kaldırmanız yeterlidir.
Visual Studio Azure uzantısında kaynak grupları gezginini genişletin.
Aboneliği genişletin, daha önce oluşturduğunuz kaynak grubunu sağ tıklatın ve Sil' i seçin.
İstendiğinde, silmekte olduğunuz kaynak grubunun adını girerek silme işlemini onaylayın. Onaylama işlemi tamamlandıktan sonra kaynak grubu silinir ve tamamlandığında bir bildirim görürsünüz.
Önceki adımlarda, bir kaynak grubunda Azure kaynakları oluşturdunuz. Kaynak grubu, konumunuza bağlı olarak "appsvc_rg_Linux_CentralUS" gibi bir ada sahiptir.
Gelecekte bu kaynakların gerekli olmasını istemiyorsanız, aşağıdaki komutu çalıştırarak kaynak grubunu silin:
az group delete --no-wait
Komut . Azure/config dosyasında önbelleğe alınmış kaynak grubu adını kullanır.
--no-waitBağımsız değişkeni, işlem tamamlanmadan önce komutun dönmesini sağlar.
Artık gerekli değilse, kaynak grubunu, App Service 'i ve tüm ilgili kaynakları silebilirsiniz.
App Service genel bakış sayfasında, Azure kaynakları oluştur adımında oluşturduğunuz kaynak grubuna tıklayın.
Kaynak grubu sayfasında, kaynak grubunu sil' i seçin. Kaynakları silmeyi tamamlayacak kaynak grubunun adını onaylayın.
Sonraki adımlar
Tebrikler, bu hızlı başlangıcı başarıyla tamamladınız!
Diğer Azure uzantılarına göz atabilirsiniz.
Veya Azure uzantı paketi için Düğüm Paketini yükleyerek bunların hepsini edinin.
