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. Çalışan tüm 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:
Ö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:
Windows PowerShell’i Yönetici olarak çalıştırın; Başlat Menüsü veya Başlangıç Ekranı’ndan Windows PowerShell araması yapın.
Aboneliğinize PowerShell’i bağlayın.
Projeyi oluşturmak için aşağıdaki PowerShell cmdlet'ini girin:
New-AzureServiceProject helloworld
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.
Yeni bir web rolü eklemek için aşağıdaki komutu girin:
Add-AzureNodeWebRole
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.
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.
İ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:
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.
Uygulamanız artık Azure üzerinde çalışıyor.
Publish-AzureServiceProject cmdlet’i aşağıdaki adımları uygular:
- Dağıtacağınız bir paket oluşturur. Paket, uygulama klasörünüzdeki tüm dosyaları içerir.
- 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.
- 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ış.
- 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.
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.
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.
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.