Aracılığıyla paylaş


Azure Bulut Hizmeti'ne Node.js uygulaması derleme ve dağıtma (klasik)

Önemli

Cloud Services (klasik), 1 Eylül 2024 itibarıyla tüm müşteriler için kullanım dışı bırakılmıştır. Mevcut tüm çalışan dağıtımlar Microsoft tarafından durdurulacak ve kapatılacak ve Veriler Ekim 2024'den itibaren kalıcı olarak kaybolacaktır. Yeni dağıtımlarda yeni Azure Resource Manager tabanlı dağıtım modeli Azure Cloud Services (genişletilmiş destek) kullanılmalıdır.

Bu öğreticide, Azure Bulut Hizmeti'nde çalışan bir Node.js uygulamasının nasıl oluşturulacağı gösterilmektedir. Cloud Services, Azure’daki ölçeklenebilir bulut uygulamalarının yapı taşlarıdır. Uygulamanızın ön uç ve arka uç bileşenlerinin ayrılmasına ve bağımsız yönetimi ile ölçek artırımına imkan tanır. Cloud Services her bir rolü güvenilir bir şekilde barındırmaya yönelik sağlam bir özel sanal makine sağlar.

İpucu

Web sitesi oluşturmak mı arıyorsunuz? Senaryonuz yalnızca basit bir web sitesi ön ucu içeriyorsa, basit bir web uygulaması kullanmayı düşünün. Web uygulamanız büyüdükçe ve gereksinimleriniz değiştikçe kolayca Cloud Services’e yükseltebilirsiniz.

Bu öğreticiyi izleyerek, bir web rolü içinde barındırılan bir web uygulaması oluşturursunuz. İşlem öykünücüsünüzü kullanarak uygulamanızı yerel olarak test eder, ardından PowerShell komut satırı araçlarını kullanarak dağıtırsınız.

Uygulama bir "merhaba dünya" uygulamasıdır:

Hello World web sayfasını gösteren bir web tarayıcısı

Önkoşullar

Not

Bu öğretici Windows gerektiren Azure PowerShell’i kullanır.

  • Azure PowerShell'i yükleyin ve yapılandırın.
  • [.NET 2.7 için Azure SDK] uygulamasını indirip yükleyin. Yükleme kurulumunda şunları seçin:
    • MicrosoftAzureAuthoringTools
    • MicrosoftAzureComputeEmulator

Azure Cloud Service projesi oluşturma

Temel Node.js iskelesiyle birlikte yeni bir Azure Cloud Service projesi oluşturmak için aşağıdaki görevleri gerçekleştirin:

  1. Windows PowerShell’i Yönetici olarak çalıştırın; Başlat Menüsü veya Başlangıç Ekranı’ndan Windows PowerShell araması yapın.

  2. Aboneliğinize PowerShell’i bağlayın.

  3. Projeyi oluşturmak için aşağıdaki PowerShell cmdlet'ini girin:

    New-AzureServiceProject helloworld
    

    New-AzureService helloworld komutunun sonucu

    New-AzureServiceProject cmdlet’i bir Node.js uygulamasını Cloud Service’te yayımlamaya yönelik basit bir yapı oluşturur. Azure’da yayımlamak için gerekli yapılandırma dosyalarını içerir. Cmdlet ayrıca çalışma dizininizi hizmetin diziniyle değiştirir.

    Cmdlet aşağıdaki dosyaları oluşturur:

    • ServiceConfiguration.Cloud.cscfg, ServiceConfiguration.Local.cscfg ve ServiceDefinition.csdef: Uygulamanızı yayımlamak için gereken Azure’a özel dosyalar. Daha fazla bilgi için bkz. Azure için Barındırılan Hizmet Oluşturmaya Genel Bakış.
    • deploymentSettings.json: Azure PowerShell dağıtım cmdlet’leri tarafından kullanılan yerel ayarları depolar.
  4. Yeni bir web rolü eklemek için aşağıdaki komutu girin:

    Add-AzureNodeWebRole
    

    Add-AzureNodeWebRole komutunun çıktısı

    Add-AzureNodeWebRole cmdlet’i basit bir Node.js uygulaması oluşturur. Ayrıca yeni rol için yapılandırma girdileri eklemek üzere .csfg ve .csdef dosyalarını değiştirir.

    Not

    Bir rol adı belirtmezseniz varsayılan ad kullanılır. Birinci cmdlet parametresi olarak bir ad sağlayabilirsiniz: Add-AzureNodeWebRole MyRole

Node.js uygulaması web rolünün dizininde (varsayılan olarak WebRole1) bulunan server.js dosyasında tanımlanır. Kod şu şekildedir:

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);

Bu kod temelde nodejs.org web sitesindeki "Hello World" örneğiyle aynıdır, ancak bulut ortamı tarafından atanan bağlantı noktası numarasını kullanır.

Uygulamayı Azure'a dağıtma

Not

Bu öğreticiyi tamamlamak için bir Azure hesabınızın olması gerekir. MSDN abone avantajınızı etkinleştirebilir ya da ücretsiz hesap için kaydolabilirsiniz.

Azure yayımlama ayarlarını indirme

Uygulamanızı Azure’a dağıtmak için öncelikle Azure aboneliğinizin yayımlama ayarlarını indirmeniz gerekir.

  1. Aşağıdaki Azure PowerShell cmdlet'ini çalıştırın:

    Get-AzurePublishSettingsFile
    

    Bu komut, yayımlama ayarları indirme sayfasına gitmek için tarayıcınızı kullanır. Microsoft Hesabı ile oturum açmanız istenebilir. İstenirse Azure aboneliğinizle ilişkili olan hesabı kullanın.

    İndirilen profili kolayca erişebileceğiniz bir dosya konumuna kaydedin.

  2. İndirdiğiniz yayımlama profilini içeri aktarmak için aşağıdaki cmdlet'i çalıştırın:

    Import-AzurePublishSettingsFile [path to file]
    

    Not

    Yayımlama ayarlarını indirdikten sonra, başka bir kişinin hesabınıza erişmesine imkan tanıyabilecek bilgiler içerdiğinden indirdiğiniz .publishSettings dosyasını silmeyi düşünün.

Uygulamayı yayımlama

Yayımlamak için aşağıdaki komutu çalıştırın:

$ServiceName = "NodeHelloWorld" + $(Get-Date -Format ('ddhhmm'))
Publish-AzureServiceProject -ServiceName $ServiceName  -Location "East US" -Launch
  • -ServiceName dağıtımın adını belirtir. Bu değer benzersiz bir ad olmalıdır; aksi takdirde yayımlama işlemi başarısız olur. Get-Date komutu, adı benzersiz hale getirmesi gereken bir tarih/saat dizesine eklenir.
  • -Location , uygulamayı barındıran veri merkezini belirtir. Kullanılabilir veri merkezlerinin listesini görmek için Get-AzureLocation cmdlet'ini kullanın.
  • -Launch bir tarayıcı penceresi açar ve dağıtım tamamlandıktan sonra barındırılan hizmete gider.

Yayımlama başarılı olduktan sonra ekran görüntüsüne benzer bir yanıt görürsünüz:

The output of the Publish-AzureService command

Not

Uygulamanın dağıtılması ve ilk kez yayımlandığında kullanılabilir olması birkaç dakika sürebilir.

Dağıtım tamamlandıktan sonra bir tarayıcı penceresi açılır ve bulut hizmetine gider.

Merhaba Dünya sayfasını görüntüleyen bir pencere; URL, sayfanın Azure'da barındırıldığını belirtiyor.

Uygulamanız artık Azure üzerinde çalışıyor.

Publish-AzureServiceProject cmdlet’i aşağıdaki adımları uygular:

  1. Dağıtacağınız bir paket oluşturur. Paket, uygulama klasörünüzdeki tüm dosyaları içerir.
  2. Yoksa yeni bir depolama hesabı oluşturur. Azure depolama hesabı, dağıtım sırasında uygulama paketini depolamak için kullanılır. Dağıtım bittikten sonra depolama hesabını güvenli bir şekilde silebilirsiniz.
  3. Henüz yoksa yeni bir bulut hizmeti oluşturur. Bulut hizmeti , uygulamanızın Azure'a dağıtıldığında barındırıldığı kapsayıcıdır. Daha fazla bilgi için bkz. Azure için Barındırılan Hizmet Oluşturmaya Genel Bakış.
  4. Dağıtım paketini Azure’da yayımlar.

Uygulamanızı durdurma ve silme

Uygulamanızı dağıttıktan sonra ek maliyetlerden kaçınmak için devre dışı bırakmak isteyebilirsiniz. Azure web rolü örneklerini harcanan sunucu saati başına faturalandırır. Sunucu süresi, örnekler çalışmasa ve durdurulmuş durumda olsa bile uygulamanız dağıtıldıktan sonra tüketilir.

  1. Windows PowerShell penceresinde önceki bölümde oluşturulan hizmet dağıtımını aşağıdaki cmdlet ile durdurun:

    Stop-AzureService
    

    Hizmetin durdurulması birkaç dakika sürebilir. Hizmet durdurulduğunda durdurulduğunu belirten bir ileti alırsınız.

    The status of the Stop-AzureService command

  2. Hizmeti silmek için aşağıdaki cmdlet'i çağırın:

    Remove-AzureService
    

    İstendiğinde hizmeti silmek için Y yazın.

    Hizmetin silinmesi birkaç dakika sürebilir. Hizmeti sildikten sonra, hizmetin silindiğini belirten bir ileti alırsınız.

    Remove-AzureService komutunun durumu

    Not

    Hizmetin silinmesi, hizmet ilk kez yayımlandığında oluşturulan depolama hesabını silmez ve kullanılan depolama alanı için faturalandırılmaya devam edersiniz. Depolama alanı başka bir işlem tarafından kullanılmıyorsa silmek isteyebilirsiniz.

Sonraki adımlar

Daha fazla bilgi için bkz. Node.js Geliştirici Merkezi.