Cara Menyebarkan Aplikasi .NET Core Web pada CentOS 7

.NET Core adalah kerangka kerja pengembangan lintas-platform open source yang didesain ulang yang dikelola oleh Microsoft dan komunitas .NET yang terus berkembang. Dengan bantuan .NET Core, pengembang dapat dengan mudah membangun aplikasi modern berkinerja tinggi pada semua jenis platform.

Pada artikel ini, saya akan menunjukkan kepada Anda bagaimana menginstal .NET Core pada contoh server CentOS 7 dan kemudian menggunakan aplikasi web .NET Core yang berfungsi penuh.

Prasyarat

Tambahkan umpan produk .NET ke sistem

Sebagai kerangka kerja pengembangan lintas platform, .NET Core menyediakan binari yang telah dikompilasi untuk berbagai sistem operasi. Pada CentOS 7, Anda dapat mengatur repo .NET YUM yang ditandatangani secara resmi dengan menjalankan perintah berikut sebagai pengguna 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'

Instal .NET SDK terbaru menggunakan YUM

Setelah repo .NET YUM terpasang, instal .NET SDK terbaru, termasuk .NET Core dan dependensi lainnya, pada mesin Anda:

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

Untuk mengonfirmasi hasilnya, Anda dapat membuat dan menjalankan aplikasi .NET Core demo "Hello World":

cd
dotnet new console -o helloworldApp
cd helloworldApp
dotnet run

The dotnet new console -o helloworldAppperintah akan membuat sebuah direktori bernama helloworldAppdi direktori home Anda dan kemudian menggunakan consoletemplate untuk menghasilkan aplikasi file dalam direktori yang baru dibuat.

Setelah menjalankan dotnet runperintah, Anda akan melihat Hello World!pesan di konsol.

Buat aplikasi web .NET Core

Sekarang, buat dan jalankan aplikasi tipe .NET Core razor. Ingatlah bahwa "Razor Pages" adalah templat aplikasi baru .NET Core MVC yang dirancang untuk skenario berorientasi halaman:

cd
dotnet new razor -o myfirstwebapp
cd myfirstwebapp
dotnet run

Dengan menjalankan dotnet runperintah di atas, Anda akan memulai NET Inti aplikasi web mendengarkan pada: http://localhost:5000.

Jika Anda ingin mengonfirmasi bahwa aplikasi web sudah berjalan dan berjalan, meskipun itu menggunakan instance server tanpa GUI, Anda masih dapat membuka konsol terminal baru dan input curl http://localhost:5000untuk melihat kode sumber halaman beranda aplikasi web.

Setelah itu, Anda dapat menekan CTRL+ Cuntuk mematikan aplikasi web .NET Core.

Untuk mewujudkan aplikasi web Anda, Anda perlu mengedit file dalam direktori aplikasi. Anda dapat mempelajari lebih detail di halaman dokumen .NET resmi .

Setelah semua tugas pengembangan selesai, Anda dapat menggunakan perintah berikut untuk menerbitkan aplikasi web Anda:

cd ~/myfirstwebapp
dotnet publish

Anda dapat menemukan aplikasi web yang diterbitkan di ~/myfirstwebapp/bin/Debug/netcoreapp2.0direktori.

(Opsional): Setup Supervisor untuk menjaga aplikasi web .NET Core Anda tetap online

Proses crash terjadi. Agar aplikasi web Anda tetap online, ada baiknya memiliki alat manajemen proses, seperti Supervisor, untuk memantau dan memulai kembali proses aplikasi web yang macet.

Pada CentOS 7, Anda dapat menginstal Supervisor menggunakan YUM:

sudo yum install supervisor -y

Selanjutnya, Anda perlu menyiapkan file konfigurasi Supervisor khusus untuk aplikasi web Anda:

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

Mengisi file:

[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

Simpan dan keluar:

:wq!

Selanjutnya, Anda perlu memodifikasi supervisordfile konfigurasi default untuk memasukkan file konfigurasi yang kami buat:

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

Temukan baris terakhir:

files = supervisord.d/*.ini

Ganti itu:

files = supervisord.d/*.conf

Simpan dan keluar:

:wq!

Mulai Supervisor dan atur untuk mulai secara otomatis saat startup sistem:

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

Muat pengaturan Supervisor baru:

sudo supervisorctl reread
sudo supervisorctl update

Sekarang, Anda dapat menggunakan perintah berikut untuk menunjukkan status aplikasi:

sudo supervisorctl status

Output akan terlihat seperti berikut:

myfirstwebapp                    RUNNING   pid 3925, uptime 0:08:45

Selanjutnya, Anda dapat mencoba untuk mematikan proses aplikasi dengan menentukan pid 3925:

sudo kill -s 9 3925

Tunggu sebentar, dan kemudian periksa kembali statusnya:

sudo supervisorctl status

Kali ini, output akan menunjukkan bahwa aplikasi mogok dan secara otomatis dimulai:

myfirstwebapp                    RUNNING   pid 3925, uptime 0:00:06

(Opsional): Instal Nginx sebagai proxy terbalik

Untuk memfasilitasi akses pengunjung, Anda dapat menginstal Nginx sebagai proxy terbalik untuk meneruskan lalu lintas web ke port 5000.

Instal Nginx menggunakan YUM:

sudo yum install nginx -y

Edit file konfigurasi Nginx default sebagai berikut:

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

Temukan segmen berikut dalam http {}segmen:

location / {
}

Masukkan enam baris pengaturan proxy terbalik antara kawat gigi seperti yang ditunjukkan di bawah ini:

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

Simpan dan keluar:

:wq!

Mulai layanan Nginx dan kemudian setel untuk memulai saat startup sistem:

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

Atur aturan firewall

Sebelum pengunjung dapat mengakses aplikasi web .NET Core di port 80dan 443, Anda perlu mengubah aturan firewall seperti yang ditunjukkan di bawah ini:

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

Ini melengkapi pengaturan aplikasi. Anda sekarang siap untuk menelusuri aplikasi web .NET Core di http://203.0.113.1.



Leave a Comment

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Pelajari langkah-langkah untuk memasang Panel Kontrol Hosting Mudah (EHCP) di Ubuntu 16.04 dengan panduan ini.

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.