Bagikan melalui


Memperkenalkan IIS di Nano Server

oleh David So

Kompatibilitas

Versi Catatan
IIS 10.0 Fitur yang dijelaskan dalam artikel ini diperkenalkan di IIS 10.0
IIS 8.5 dan yang lebih lama Fitur yang dijelaskan dalam artikel ini tidak didukung sebelum IIS 10.0

Nano Server

Nano Server adalah opsi penginstalan baru yang menarik di Windows Server 2016.

Berikut adalah kutipan dari Panduan Memulai Dengan Server Nano yang meringkas Nano Server dengan cukup baik :

"Nano Server adalah sistem operasi server yang dikelola dari jarak jauh yang dioptimalkan untuk cloud dan pusat data privat. Ini mirip dengan Windows Server dalam mode Server Core, tetapi secara signifikan lebih kecil, tidak memiliki kemampuan masuk lokal, dan hanya mendukung aplikasi, alat, dan agen 64-bit. Ini membutuhkan ruang disk yang jauh lebih sedikit, mengatur secara signifikan lebih cepat, dan membutuhkan pembaruan dan restart yang jauh lebih sedikit daripada Windows Server. Ketika menghidupkan ulang, mulai ulang jauh lebih cepat."

Jadi Nano jauh lebih kecil pada disk. Cepat. Reboot lebih sedikit. Menggunakan lebih sedikit memori. Apa yang tidak disukai? :)

IIS di Nano Server

Dengan rilis Windows Server 2016, kami dengan senang hati mengumumkan bahwa IIS sekarang tersedia sebagai peran di Nano Server, bagi semua orang untuk mencobanya. Dengan memori yang lebih kecil dan jejak disk yang lebih kecil secara dramatis, beban kerja web sangat cocok untuk berjalan di Nano Server, terutama untuk hosting kepadatan tinggi.

Memulai

Tetapi pada dasarnya, cara paling umum untuk membuat Nano Server vhd(x) adalah melalui cmdlet New-NanoServerImage.

Untuk mengaktifkan IIS, kita hanya meneruskan Microsoft-NanoServer-IIS-Package sebagai argumen ke parameter Paket. Misalnya

New-NanoServerImage -MediaPath f:\ -BasePath .\Base -TargetPath .\Nano1.vhd -GuestDrivers -Packages Microsoft-NanoServer-IIS-Package

Perbedaan Utama antara IIS di Nano dan Server Reguler

Penginstalan

Kami telah membuat banyak perubahan di IIS bagi Nano untuk mendukung penginstalan online dan offline. Dengan 'online' maksud kami ketika mesin 'berjalan' (kami tidak berarti online dalam arti konektivitas jaringan) dan dengan 'offline' yang kami maksud ketika komputer tidak berjalan.

Secara historis dan di Server reguler, IIS hanya dapat diinstal secara online (mesin berjalan). Saat menyiapkan mesin dengan IIS, Anda biasanya akan mengikuti urutan seperti:

  1. Menginstal OS
  2. Tunggu hingga penginstalan selesai
  3. Aktifkan Peran IIS
  4. Tunggu hingga peran IIS selesai
  5. Mengonfigurasi pengaturan - misalnya pengaturan autentikasi, modul, Asp.Net

Dengan Nano Server, pengaturan dapat disediakan secara offline, oleh karena itu secara dramatis menyederhanakan dan mempercepat langkah 1 hingga 4 di atas.

Saat menggunakan New-NanoServerImage untuk membuat vhd(x) dengan Microsoft-NanoServer-IIS-Package, kami mengonfigurasi instalasi kerja default IIS

  • Layanan IIS terinstal (misalnya WAS, W3SVC)

  • Sekumpulan sub-fitur IIS default yang diaktifkan, seperti Dokumen Default, Konten statis, pengelogan HTTP, dll.

    • Lihat bagan yang sub-fiturnya diaktifkan secara default.
  • Aturan firewall diaktifkan untuk port 80/443 default

Ini menjadi sangat cepat untuk memprovisikan komputer server web baru saat menggunakan gambar vhd(x) yang dihasilkan yang sudah dipanggang IIS. Di komputer desktop office saya, saya dapat membuat VM baru, melakukan spesialisasi offline, boot up, dan melayani permintaan web semuanya dalam waktu sekitar 25 detik. Mencoba melakukan hal yang sama dengan Server Core akan memakan waktu berkali-kali.

Konfigurasi

Mengonfigurasi sub-fitur IIS seperti autentikasi dan pengelogan saat ini masih merupakan langkah online saja (sama seperti Server reguler).

Di server reguler, sub-fitur IIS dapat diaktifkan/dinonaktifkan melalui perintah DISM, seperti dism /online /enable-feature /all /featurename:IIS-WindowsAuthentication.

Di Pratinjau Teknis Windows Server 2016, mengonfigurasi sub-fitur IIS melalui DISM tidak tersedia dan memerlukan lebih banyak pekerjaan, (karenanya Pratinjau Teknis....) Ini jelas merupakan area di mana kita melihat peningkatan.

Untuk saat ini, perintah PowerShell dapat digunakan untuk mengaktifkan/menonaktifkan modul yang sesuai, atau Anda dapat mengedit applicationHost.config. Lihat dokumen IIS Nano untuk informasi selengkapnya.

Bagan di sana juga menunjukkan sub-fitur IIS yang tersedia di Nano sebagai Pratinjau Teknis terbaru. Yang * hanya menunjukkan apa yang diaktifkan secara default (tanpa * masih tersedia, tetapi hanya perlu diaktifkan).

Kerangka Kerja yang Didukung

Inti ASP.NET

Perbedaan paling penting antara Nano dan Server reguler adalah nano menargetkan Asp.Net Core (sebelumnya dikenal sebagai Asp.Net 5). Asp Klasik tidak akan berjalan pada Nano dan tidak akan penuh aplikasi .Net Framework seperti Asp.Net <=4.

Berikut posting blog saya tentang cara mendapatkan aplikasi Asp.Net Core yang berjalan dengan IIS di Nano.

Java

Aplikasi Java dapat dihosting di IIS melalui HttpPlatformHandler.

Rekan kerja saya Jeong Hwan memiliki posting blog di sini tentang cara membuat Java bekerja dengan IIS di Nano

Lainnya

Mendukung ASP.NET Core dan Java di IIS Nano adalah awal yang bagus meskipun kami memiliki rencana untuk mendapatkan platform tambahan yang didukung. HttpPlatformHandler adalah modul tujuan umum untuk mengelola dan mengirim permintaan ke pendengar http, sehingga mungkin ada lebih banyak platform yang dapat berjalan dengan baik di Nano yang belum kami uji dan belum tercantum.

Jika Anda mencoba ini (misalnya dengan Ruby atau Node) dan membuatnya berfungsi beri tahu kami!

Manajemen

Nano Server adalah OS 'headless' - tidak ada GUI di server itu sendiri. PowerShell adalah bagian depan dan pusat pengalaman manajemen Nano. Tentu saja ini berarti Anda akan dapat mengelola IIS di Nano menggunakan cmdlet PowerShell IIS kami.

Saya harus mengklarifikasi bahwa pada IIS 10.0 ada 2 modul IIS PowerShell:

Nano Server adalah platform server bersih untuk masa depan dan jadi saat ini kami tidak memiliki rencana untuk menyertakan modul WebAdministrasi warisan yang lebih lama saat ini. Sebagai gantinya, kami akan menyediakan modul IISAdministration baru.

Selain PowerShell (IISAdministration), menggunakan appcmd.exe untuk mengelola IIS juga merupakan opsi.