วิธีการปรับใช้. 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หลักของคุณที่



Leave a Comment

การติดตั้ง Pagekit CMS บน CentOS 7

การติดตั้ง Pagekit CMS บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Pagekit เป็น CMS โอเพนซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Pagekit นั้นโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า

วิธีการติดตั้ง TestLink บน CentOS 7

วิธีการติดตั้ง TestLink บน CentOS 7

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

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

FTP ที่ปลอดภัยมากหรือเพียงแค่ vsFTPd เป็นซอฟต์แวร์น้ำหนักเบาที่มีความสามารถในการปรับแต่ง ในบทช่วยสอนนี้เราจะรักษาความปลอดภัยของข้อความ

วิธีการติดตั้ง GCC บน CentOS 6

วิธีการติดตั้ง GCC บน CentOS 6

CentOS ติดตามการพัฒนา Red Hat Enterprise Linux (RHEL) RHEL พยายามที่จะเป็นแพลตฟอร์มเซิร์ฟเวอร์ที่มั่นคงซึ่งหมายความว่าจะไม่รีบเร่งในการรวม

ตั้งค่าบัญชีผู้ใช้ SFTP เท่านั้นบน CentOS 7

ตั้งค่าบัญชีผู้ใช้ SFTP เท่านั้นบน CentOS 7

ในบางโอกาสผู้ดูแลระบบอาจต้องสร้างบัญชีผู้ใช้และ จำกัด การเข้าถึงเพื่อจัดการไฟล์ของตัวเองผ่าน sFTP เท่านั้น

วิธีการติดตั้ง Moodle บน CentOS 7

วิธีการติดตั้ง Moodle บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Moodle เป็นแพลตฟอร์มการเรียนรู้โอเพนซอร์ซหรือระบบจัดการหลักสูตร (CMS) - ชุดซอฟต์แวร์โอเพ่นซอร์สฟรีที่ออกแบบมาเพื่อช่วย

ติดตั้ง NGINX พร้อม ModSecurity บน CentOS 6

ติดตั้ง NGINX พร้อม ModSecurity บน CentOS 6

ในบทความนี้ฉันจะอธิบายวิธีสร้าง LEMP สแต็คที่ได้รับการป้องกันโดย ModSecurity ModSecurity เป็นไฟร์วอลล์เว็บแอพพลิเคชันแบบโอเพนซอร์สที่มีประโยชน์

วิธีการติดตั้ง Apache, MySQL และ PHP บน CentOS 6

วิธีการติดตั้ง Apache, MySQL และ PHP บน CentOS 6

Introduction LAMP เป็นคำย่อที่ย่อมาจาก Linux, Apache, MySQL และ PHP ซอฟต์แวร์นี้เป็นโซลูชันโอเพ่นซอร์สที่ได้รับความนิยมสูงสุดสำหรับการติดตั้ง o

การปรับเปลี่ยน Icinga2 ให้ใช้โมเดลต้นแบบ / ไคลเอ็นต์บน CentOS 6 หรือ CentOS 7

การปรับเปลี่ยน Icinga2 ให้ใช้โมเดลต้นแบบ / ไคลเอ็นต์บน CentOS 6 หรือ CentOS 7

Icinga2 เป็นระบบการตรวจสอบที่มีประสิทธิภาพและเมื่อใช้ในโมเดลลูกค้าหลักจะสามารถแทนที่ความต้องการการตรวจสอบที่อิง NRPE ปรมาจารย์

การติดตั้ง Netdata บน CentOS 7

การติดตั้ง Netdata บน CentOS 7

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

วิธีการติดตั้งและกำหนดค่า Buildbot บน CentOS 7

วิธีการติดตั้งและกำหนดค่า Buildbot บน CentOS 7

Buildbot เป็นโอเพ่นซอร์สเครื่องมือที่ใช้การรวมอย่างต่อเนื่องของ Python สำหรับการสร้างซอฟต์แวร์การทดสอบและการปรับใช้โดยอัตโนมัติ Buildbot ประกอบด้วยหนึ่งหรือหมอ

ติดตั้งเซิร์ฟเวอร์มัลติเพลเยอร์ SA-MP San Andreas บน CentOS 6

ติดตั้งเซิร์ฟเวอร์มัลติเพลเยอร์ SA-MP San Andreas บน CentOS 6

ยินดีต้อนรับสู่การกวดวิชา Vultr อื่น ที่นี่คุณจะได้เรียนรู้วิธีการติดตั้งและเรียกใช้เซิร์ฟเวอร์ SAMP คู่มือนี้เขียนขึ้นสำหรับ CentOS 6 ข้อกำหนดเบื้องต้นคุณจะต้อง

ติดตั้ง dotProject บน CentOS 7

ติดตั้ง dotProject บน CentOS 7

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

ติดตั้ง TaskServer (taskd) บน CentOS 7

ติดตั้ง TaskServer (taskd) บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร TaskWarrior เป็นเครื่องมือจัดการเวลาแบบโอเพ่นซอร์สที่เป็นการปรับปรุงแอพพลิเคชั่น Todo.txt และโคลนของมัน เนื่องมาจาก

วิธีการติดตั้ง Selfoss RSS Reader บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Selfoss RSS Reader บน CentOS 7 LAMP VPS

ใช้ระบบที่แตกต่างกันอย่างไร Selfoss RSS Reader เป็นฟรีและเปิดตัวเองบนเว็บโฮสต์อเนกประสงค์, สตรีมสด, ตอบโต้กับผู้ใช้ได้, ฟีดข่าว (RSS / Atom) reade

วิธีการติดตั้ง Kanboard บน CentOS 7

วิธีการติดตั้ง Kanboard บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Kanboard เป็นซอฟต์แวร์ซอฟต์แวร์การจัดการโครงการโอเพ่นซอร์สฟรีที่ออกแบบมาเพื่ออำนวยความสะดวกและมองเห็นภาพการทำงานเป็นทีม

การตั้งค่าเซิร์ฟเวอร์ Half Life 2 บน CentOS 6

การตั้งค่าเซิร์ฟเวอร์ Half Life 2 บน CentOS 6

บทช่วยสอนนี้จะกล่าวถึงกระบวนการติดตั้งเซิร์ฟเวอร์เกม Half Life 2 บนระบบ CentOS 6 ขั้นตอนที่ 1: การติดตั้งข้อกำหนดเบื้องต้นเพื่อตั้งค่า ou

ไดรฟ์ที่แชร์ความพร้อมใช้งานสูงใช้ Vultr Block Storage และ GlusterFS

ไดรฟ์ที่แชร์ความพร้อมใช้งานสูงใช้ Vultr Block Storage และ GlusterFS

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

วิธีโยกย้ายกล่องจดหมายอย่างง่ายดายด้วย Imapsync บน CentOS 7

วิธีโยกย้ายกล่องจดหมายอย่างง่ายดายด้วย Imapsync บน CentOS 7

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

วิธีการติดตั้ง PrestaShop บน CentOS 7

วิธีการติดตั้ง PrestaShop บน CentOS 7

PrestaShop เป็นโซลูชันอีคอมเมิร์ซแบบโอเพ่นซอร์สที่ได้รับความนิยม คุณสามารถใช้มันเพื่อสร้างร้านค้าออนไลน์ของคุณเองได้ฟรี ในบทช่วยสอนนี้ฉันจะแสดงให้คุณเห็นว่า

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

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน