Bagikan melalui


Membuat dan menerapkan aplikasi Node.js ke Azure Cloud Service (klasik)

Penting

Cloud Services (klasik) sekarang tidak digunakan lagi untuk semua pelanggan per 1 September 2024. Setiap penyebaran yang sedang berjalan akan dihentikan dan dimatikan oleh Microsoft dan data akan hilang secara permanan mulai Oktober 2024. Penyebaran baru sebaiknya menggunakan Azure Resource Manager yang baru berdasarkan model penyebaran Azure Cloud Services (dukungan tambahan).

Tutorial ini menunjukkan cara membuat aplikasi Node.js yang berjalan di Azure Cloud Service. Cloud Services adalah blok penyusun aplikasi awan yang dapat diskalakan di Azure. Mereka memungkinkan pemisahan dan manajemen independen serta penskalaan komponen front-end dan back-end aplikasi Anda. Cloud Services menyediakan komputer virtual khusus yang kuat untuk menghosting setiap peran dengan andal.

Tip

Ingin membangun situs web? Jika skenario Anda hanya melibatkan front-end situs web sederhana, pertimbangkan untuk menggunakan aplikasi web yang ringan. Anda dapat dengan mudah meningkatkan ke Cloud Service saat aplikasi web Anda berkembang dan persyaratan Anda berubah.

Dengan mengikuti tutorial ini, Anda membangun aplikasi web yang dihosting di dalam peran web. Anda menggunakan emulator komputasi untuk menguji aplikasi Anda secara lokal, lalu menyebarkannya menggunakan alat baris perintah PowerShell.

Aplikasi ini adalah aplikasi "halo dunia":

Browser web yang menampilkan halaman web Halo Dunia

Prasyarat

Catatan

Tutorial ini menggunakan Azure PowerShell, yang memerlukan Windows.

  • Instal dan konfigurasi Azure PowerShell.
  • Unduh dan instal [Azure SDK untuk .NET 2.7]. Dalam penyiapan penginstalan, pilih:
    • MicrosoftAzureAuthoringTools
    • MicrosoftAzureComputeEmulator

Membuat proyek Azure Cloud Service

Lakukan tugas berikut untuk membuat proyek Azure Cloud Service baru, bersama dengan perancah Node.js dasar:

  1. Jalankan Windows PowerShell sebagai Administrator; dari Menu Mulai atau Layar Mulai, cari Windows PowerShell.

  2. Sambungkan PowerShell ke langganan Anda.

  3. Masukkan cmdlet PowerShell berikut untuk membuat proyek:

    New-AzureServiceProject helloworld
    

    Hasil dari perintah helloworld New-AzureService

    Cmdlet New-AzureServiceProject menghasilkan struktur dasar untuk menerbitkan aplikasi Node.js ke Cloud Service. Hal tersebut berisi file konfigurasi yang diperlukan untuk diterbitkan ke Azure. Cmdlet juga mengubah direktori kerja Anda ke direktori untuk layanan.

    Cmdlet membuat file berikut:

    • ServiceConfiguration.Cloud.cscfg, ServiceConfiguration.Local.cscfg, dan ServiceDefinition.csdef: File khusus Azure yang diperlukan untuk menerbitkan aplikasi Anda. Untuk informasi selengkapnya, lihat Gambaran Umum Membuat Layanan yang Dihosting untuk Azure.
    • deploymentSettings.jspada: Menyimpan pengaturan lokal yang digunakan oleh cmdlet penyebaran Azure PowerShell.
  4. Masukkan perintah berikut untuk menambahkan peran web baru:

    Add-AzureNodeWebRole
    

    Output dari perintah Add-AzureNodeWebRole

    Cmdlet Add-AzureNodeWebRole membuat aplikasi Node.js dasar. Ini juga memodifikasi file .csfg dan .csdef untuk menambahkan entri konfigurasi untuk peran baru.

    Catatan

    Jika Anda tidak menentukan nama peran, nama default akan digunakan. Anda dapat memberikan nama sebagai parameter cmdlet pertama: Add-AzureNodeWebRole MyRole

Aplikasi Node.js ditentukan dalam file server.js, terletak di direktori untuk peran web (WebRole1 secara default). Berikut kodenya:

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

Kode ini pada dasarnya sama dengan sampel "Halo Dunia" di situs web nodejs.org, kecuali menggunakan nomor port yang ditetapkan oleh lingkungan cloud.

Menyebarkan aplikasi ke Azure

Catatan

Untuk menyelesaikan tutorial ini, Anda memerlukan akun Azure. Anda bisa mengaktifkan keuntungan pelanggan MSDN atau mendaftar untuk akun gratis.

Mengunduh pengaturan penerbitan Azure

Untuk menerapkan aplikasi ke Azure, Anda harus terlebih dahulu mengunduh pengaturan penerbitan untuk langganan Azure Anda.

  1. Jalankan cmdlet Azure PowerShell berikut ini:

    Get-AzurePublishSettingsFile
    

    Perintah ini menggunakan browser Anda untuk menavigasi ke halaman unduhan pengaturan penerbitan. Anda mungkin diminta untuk masuk dengan Akun Microsoft. Jika iya, gunakan akun yang terkait dengan langganan Azure Anda.

    Simpan profil yang diunduh ke lokasi file yang dapat Anda akses dengan mudah.

  2. Jalankan cmdlet berikut untuk mengimpor profil penerbitan yang Anda unduh:

    Import-AzurePublishSettingsFile [path to file]
    

    Catatan

    Setelah mengimpor pengaturan penerbitan, pertimbangkan untuk menghapus file .publishSettings yang diunduh, karena berisi informasi yang dapat memungkinkan seseorang mengakses akun Anda.

Menerbitkan aplikasi

Untuk menerbitkan, jalankan perintah berikut:

$ServiceName = "NodeHelloWorld" + $(Get-Date -Format ('ddhhmm'))
Publish-AzureServiceProject -ServiceName $ServiceName  -Location "East US" -Launch
  • -ServiceName menentukan nama untuk penerapan. Nilai ini harus berupa nama yang unik; jika tidak, proses penerbitan gagal. Perintah Get-Date melekatkan string tanggal/waktu yang akan membuat nama unik.
  • -Location menentukan pusat data yang menghosting aplikasi. Untuk melihat daftar pusat data yang tersedia, gunakan cmdlet Get-AzureLocation.
  • -Launch membuka jendela browser dan menavigasi ke layanan yang dihosting setelah penyebaran selesai.

Setelah penerbitan berhasil, Anda akan melihat respons yang mirip dengan cuplikan layar:

Output dari perintah Publish-AzureService

Catatan

Aplikasi dapat membutuhkan waktu beberapa menit untuk menerapkan dan menjadi tersedia ketika pertama kali diterbitkan.

Setelah penyebaran selesai, jendela browser terbuka dan menavigasi ke layanan cloud.

Jendela browser yang menampilkan halaman halo dunia; URL menunjukkan halaman dihosting di Azure.

Aplikasi Anda sekarang berjalan di Azure.

Cmdlet Publish-AzureServiceProject menjalankan langkah-langkah berikut:

  1. Membuat paket untuk diterapkan. Paket berisi semua file dalam folder aplikasi Anda.
  2. Membuat akun penyimpanan baru jika tidak ada. Akun penyimpanan Azure digunakan untuk menyimpan paket aplikasi selama penerapan. Anda dapat menghapus akun penyimpanan dengan aman setelah penerapan selesai.
  3. Membuat layanan awan baru jika belum ada. Layanan cloud adalah kontainer tempat aplikasi Anda dihosting saat disebarkan ke Azure. Untuk informasi selengkapnya, lihat Gambaran Umum Membuat Layanan yang Dihosting untuk Azure.
  4. Menerbitkan paket penyebaran ke Azure.

Menghentikan dan menghapus aplikasi Anda

Setelah menerapkan aplikasi, Anda mungkin ingin menonaktifkannya sehingga Anda dapat menghindari biaya tambahan. Azure menagih instans peran web per jam dari waktu server yang digunakan. Waktu server digunakan setelah aplikasi Anda disebarkan, bahkan jika instans tidak berjalan dan berada dalam status berhenti.

  1. Di jendela Windows PowerShell, hentikan penerapan layanan yang dibuat di bagian sebelumnya dengan cmdlet berikut:

    Stop-AzureService
    

    Menghentikan layanan mungkin memakan waktu beberapa menit. Ketika layanan dihentikan, Anda menerima pesan yang menunjukkan bahwa layanan berhenti.

    Status perintah Stop-AzureService

  2. Untuk menghapus layanan, panggil cmdlet berikut:

    Remove-AzureService
    

    Saat diminta, masukkan Y untuk menghapus layanan.

    Menghentikan layanan mungkin memakan waktu beberapa menit. Setelah menghapus layanan, Anda menerima pesan yang menunjukkan bahwa layanan telah dihapus.

    Status perintah Remove-AzureService

    Catatan

    Menghapus layanan tidak menghapus akun penyimpanan yang dibuat ketika layanan pertama kali diterbitkan, dan Anda akan terus ditagih untuk penyimpanan yang digunakan. Jika tidak ada yang lain yang menggunakan penyimpanan, Anda mungkin ingin menghapusnya.

Langkah berikutnya

Untuk informasi selengkapnya, lihat Node.js Developer Center.