Windows Server 2021+

Host and deploy on Windows Server 2021+

ก่อนที่จะไปขั้นตอนการติดตั้งแอพพลิเคชัน เราอยากจะแนะนำให้ทุกคนได้ศึกษาการ Supported platformsHosting models, และ Application configuration เพื่อเป็นพื้นฐานการ Deploy เว็บไซต์และทราบถึงข้อจำกัดบางอย่างของ ASP.NET Core

ติดตั้ง .NET Core Hosting Bundle

ทำการติดตั้ง .NET Core Hosting Bundle บน IIS เซิร์ฟเวอร์ โดยตัว Bundle จะติดตั้ง .NET Core Runtime, .NET Core Library, และ ASP.NET Core Module เพื่อให้แอพพลิเคชันของ ASP.NET Core ทำงานบน IIS เซิร์ฟเวอร์ได้

  1. ดาวน์โหลดตัวติดตั้ง .NET Core Hosting Bundle เวอร์ชั่นปัจจุบัน (direct download)
  2. ติดตั้งบน IIS เซิร์ฟเวอร์
  3. รีสตาร์ท IIS เซิร์ฟเวอร์ หรือหากใช้ Command Line ให้เปิดโปรแกรมด้วยสิทธิ์ Administrator แล้วพิมพ์คำสั่งดังต่อไปนี้
net stop was /y
net start w3svc

หลังจากรีสตาร์ท IIS เรียบร้อย ลองตรวจสอบว่า .NET Core Hosting Bundle ถูกติดตั้งเสร็จเรียบร้อยแล้วด้วยคำสั่ง

dotnet --info

สำหรับเครื่องที่เจอปัญหาดังรูปด้านล่างนี้

Microsoft Visual C++ Redistributable Old

ให้อัพเดท Microsoft Visual C++ Redistributable เป็นเวอร์ชันล่าสุด โดยสามารถดาวน์โหลดได้ที่ The latest supported Visual C++ downloads

สร้างแอพบน IIS

  1. บน IIS เซิร์ฟเวอร์ ให้สร้าง Application Pool ด้วยการคลิกขวา Application Pool จากนั้นเลือก Add Application Pool...
Create Application Pool on IIS
  1. ตั้งชื่อ Application Pool แล้วเลือก .NET CLR Version เป็น No Managed Code จากนั้นคลิก OK
Create Application Pool on IIS
  1. สร้างโฟลเดอร์เพื่อเก็บ Publish ไฟล์ของแอพพลิเคชัน
  2. สร้าง IIS Application โดยตั้งชื่อแอพพลิเคชัน เลือก Application Pool จากข้อ 2 กำหนด Physical path ตามข้อ 3 จากนั้นคลิก OK
Create Application Pool on IIS
Note

ใช้ 1 Application Pool ต่อ 1 Application

Publish and deploy

  1. เปิด Powershell แล้วชี้โฟลเดอร์ไปที่มีไฟล์ {YourProject}.csproj แล้วใช้คำสั่ง dotnet publish เพื่อ Publish เว็บเซอร์วิส
dotnet publish --configuration Release
  1. ย้ายโฟล์เดอร์และไฟล์ทั้งหมดที่อยู่ในโฟลเดอร์ bin/Release/{TARGET FRAMEWORK}/publish ไปยังโฟลเดอร์ที่เราสร้างไว้บน IIS เซิร์ฟเวอร์
Publish AXWS project

เปิดเว็บบราวเซอร์แล้วเข้าไปที่ https://{your_domain}/axws-demo/applogin