วิธีการปรับใช้. NET Core Web Application บน CentOS 7

.NET Core เป็นเฟรมเวิร์กการพัฒนาข้ามแพลตฟอร์มแบบโอเพ่นซอร์สที่ออกแบบใหม่ซึ่งดูแลโดย Microsoft และชุมชน. NET ที่กำลังเติบโต ด้วยความช่วยเหลือของ. NET Core ทำให้นักพัฒนาสามารถสร้างแอพพลิเคชั่นประสิทธิภาพสูงที่ทันสมัยบนแพลตฟอร์มทุกประเภทได้อย่างง่ายดาย

ในบทความนี้ฉันจะแสดงวิธีการติดตั้ง. NET Core บนอินสแตนซ์เซิร์ฟเวอร์ CentOS 7 จากนั้นปรับใช้เว็บแอปพลิเคชั่น. NET Core แบบเต็ม

ข้อกำหนดเบื้องต้น

เพิ่ม. NET ผลิตภัณฑ์ฟีดไปยังระบบ

ในฐานะที่เป็นกรอบการพัฒนาข้ามแพลตฟอร์ม. NET Core มีไบนารีที่รวบรวมไว้ล่วงหน้าสำหรับระบบปฏิบัติการต่างๆ บน CentOS 7 คุณสามารถตั้งค่า repo. NET. NET YUM อย่างเป็นทางการโดยการเรียกใช้คำสั่งต่อไปนี้ในฐานะผู้ใช้ sudo:

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c 'echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

ติดตั้ง. SDK SDK ล่าสุดโดยใช้ YUM

มี repo. NET YUM ในสถานที่ติดตั้ง. SDK SDK ล่าสุดรวมถึง. NET Core และการพึ่งพาอื่น ๆ บนเครื่องของคุณ:

sudo yum update -y
sudo yum install libunwind libicu -y
sudo yum install dotnet-sdk-2.1.4 -y

ในการยืนยันผลลัพธ์คุณสามารถสร้างและเรียกใช้แอป. NET Core "เดโม่ฮัลโหล":

cd
dotnet new console -o helloworldApp
cd helloworldApp
dotnet run

dotnet new console -o helloworldAppคำสั่งจะสร้างไดเรกทอรีชื่อhelloworldAppในไดเรกทอรีบ้านของคุณและจากนั้นใช้consoleแม่แบบในการสร้างแอพพลิเคไฟล์ในไดเรกทอรีที่สร้างขึ้นใหม่

เมื่อดำเนินการdotnet runคำสั่งคุณจะเห็นHello World!ข้อความในคอนโซล

สร้างเว็บแอป. NET Core

ตอนนี้สร้างและเรียกใช้โปรแกรมประยุกต์ .NET razorหลักของประเภท เพียงจำไว้ว่า "Razor Pages" เป็นเทมเพลตแอปพลิเคชั่นใหม่ของ. NET Core MVC ที่ออกแบบมาสำหรับสถานการณ์เชิงหน้า:

cd
dotnet new razor -o myfirstwebapp
cd myfirstwebapp
dotnet run

โดยการดำเนินการdotnet runคำสั่งข้างต้นคุณจะเริ่มต้น .NET http://localhost:5000คอร์เว็บแอปฟังเมื่อ:

หากคุณต้องการยืนยันว่าแอปพลิเคชันเว็บเปิดใช้งานแล้วแม้ว่าจะอยู่ในอินสแตนซ์ของเซิร์ฟเวอร์ที่ไม่มี GUI คุณยังสามารถเปิดคอนโซลเทอร์มินัลใหม่และอินพุตcurl http://localhost:5000เพื่อดูซอร์สโค้ดของหน้าแรกของเว็บแอป

หลังจากนั้นคุณสามารถกดCTRL+ Cเพื่อปิด. NET Core เว็บแอป

ในการทำให้แอปพลิเคชันเว็บของคุณเป็นจริงคุณต้องแก้ไขไฟล์ภายในไดเรกทอรีแอป คุณสามารถเรียนรู้รายละเอียดเพิ่มเติมอย่างเป็นทางการในหน้าเอกสาร .NET

เมื่อทำภารกิจการพัฒนาทั้งหมดเรียบร้อยแล้วคุณสามารถใช้คำสั่งต่อไปนี้เพื่อเผยแพร่แอปพลิเคชันเว็บของคุณ:

cd ~/myfirstwebapp
dotnet publish

คุณสามารถค้นหาเว็บแอปที่เผยแพร่ใน~/myfirstwebapp/bin/Debug/netcoreapp2.0ไดเรกทอรี

(ไม่บังคับ): ติดตั้ง Supervisor เพื่อให้แอปพลิเคชัน. NET Core บนเว็บของคุณออนไลน์

กระบวนการขัดข้องเกิดขึ้น เพื่อให้เว็บแอปของคุณออนไลน์เป็นความคิดที่ดีที่จะมีเครื่องมือการจัดการกระบวนการเช่นหัวหน้างานเพื่อตรวจสอบและเริ่มต้นกระบวนการแอปพลิเคชันเว็บที่เสียหาย

บน CentOS 7 คุณสามารถติดตั้ง Supervisor โดยใช้ YUM:

sudo yum install supervisor -y

ถัดไปคุณต้องตั้งค่าไฟล์กำหนดค่าผู้ดูแลเฉพาะสำหรับแอปพลิเคชันเว็บของคุณ:

cd /etc/supervisord.d
sudo vi myfirstwebapp.conf

เติมไฟล์:

[program:myfirstwebapp]
command=dotnet myfirstwebapp.dll
directory=/home/sudouser/myfirstwebapp/bin/Debug/netcoreapp2.0/
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=1
stderr_logfile=/var/log/myfirstwebapp.err.log
stdout_logfile=/var/log/myfirstwebapp.out.log

บันทึกและออก:

:wq!

ต่อไปคุณต้องแก้ไขsupervisordไฟล์กำหนดค่าเริ่มต้นเพื่อรวมไฟล์กำหนดค่าที่เราสร้างขึ้น:

sudo cp /etc/supervisord.conf /etc/supervisord.conf.bak
sudo vi /etc/supervisord.conf

ค้นหาบรรทัดสุดท้าย:

files = supervisord.d/*.ini

แทนที่:

files = supervisord.d/*.conf

บันทึกและออก:

:wq!

เริ่มต้นหัวหน้างานและตั้งค่าให้เริ่มโดยอัตโนมัติเมื่อเริ่มต้นระบบ:

sudo systemctl start supervisord.service
sudo systemctl enable supervisord.service

โหลดการตั้งค่าหัวหน้างานใหม่:

sudo supervisorctl reread
sudo supervisorctl update

ตอนนี้คุณสามารถใช้คำสั่งต่อไปนี้เพื่อแสดงสถานะของแอพ:

sudo supervisorctl status

ผลลัพธ์จะมีลักษณะดังต่อไปนี้:

myfirstwebapp                    RUNNING   pid 3925, uptime 0:08:45

ถัดไปคุณสามารถลองฆ่ากระบวนการของแอพด้วยการระบุ pid 3925:

sudo kill -s 9 3925

รอสักครู่แล้วตรวจสอบสถานะอีกครั้ง:

sudo supervisorctl status

เวลานี้ผลลัพธ์จะบ่งบอกว่าแอปพังและเริ่มต้นโดยอัตโนมัติ:

myfirstwebapp                    RUNNING   pid 3925, uptime 0:00:06

(ไม่บังคับ): ติดตั้ง Nginx เป็นพร็อกซีย้อนกลับ

เพื่อความสะดวกในการเข้าถึงของผู้เข้าชมคุณสามารถติดตั้ง Nginx เป็น proxy 5000ย้อนกลับที่จะผ่านเข้าชมเว็บในพอร์ต

ติดตั้ง Nginx โดยใช้ YUM:

sudo yum install nginx -y

แก้ไขไฟล์กำหนดค่า Nginx เริ่มต้นดังนี้:

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
sudo vi /etc/nginx/nginx.conf

ค้นหากลุ่มต่อไปนี้ภายในhttp {}กลุ่ม:

location / {
}

แทรกการตั้งค่าพร็อกซีย้อนกลับหกบรรทัดระหว่างวงเล็บปีกกาดังแสดงด้านล่าง:

location / {
proxy_pass http://127.0.0.1:5000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}

บันทึกและออก:

:wq!

เริ่มบริการ Nginx จากนั้นตั้งค่าให้เริ่มเมื่อเริ่มต้นระบบ:

sudo systemctl start nginx.service
sudo systemctl enable nginx.service

ตั้งค่ากฎไฟร์วอลล์

ก่อนที่ผู้เยี่ยมชมจะสามารถเข้าถึง. เว็บแอปพลิเคชัน. NET Core บนพอร์ต80และ443คุณต้องแก้ไขกฎไฟร์วอลล์ดังที่แสดงด้านล่าง:

sudo firewall-cmd --zone=public --permanent --add-service=http
sudo firewall-cmd --zone=public --permanent --add-service=https
sudo firewall-cmd --reload

การตั้งค่าแอปพลิเคชันเสร็จสมบูรณ์ ขณะนี้คุณพร้อมที่จะเรียกดูเว็บแอปพลิเค .NET http://203.0.113.1หลักของคุณที่

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true