CentOS 7de .NET Core Web Uygulaması Dağıtma

.NET Core, Microsoft ve sürekli büyüyen .NET topluluğu tarafından sağlanan yeniden tasarlanmış açık kaynaklı bir platformlar arası geliştirme çerçevesidir. .NET Core'un yardımıyla geliştiriciler, her türlü platformda kolayca modern yüksek performanslı uygulamalar oluşturabilir.

Bu makalede, .NET Core'u bir CentOS 7 sunucu örneğine nasıl yükleyeceğinizi ve tam işlevsel bir .NET Core web uygulamasını nasıl dağıtacağınızı göstereceğim.

Ön şartlar

.NET ürün özet akışını sisteme ekleme

Platformlar arası bir geliştirme çerçevesi olarak .NET Core, çeşitli işletim sistemleri için önceden derlenmiş ikili dosyalar sağlar. CentOS 7'de, aşağıdaki komutları sudo kullanıcısı olarak çalıştırarak resmi olarak imzalanmış bir .NET YUM repo oluşturabilirsiniz:

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'

YUM kullanarak en son .NET SDK'sını yükleyin

.NET YUM deposunu hazırlayarak, makinenize .NET Core ve diğer bağımlılıklar dahil olmak üzere en son .NET SDK'yı yükleyin:

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

Sonucu onaylamak için bir "Hello World" demo .NET Core uygulaması oluşturabilir ve çalıştırabilirsiniz:

cd
dotnet new console -o helloworldApp
cd helloworldApp
dotnet run

dotnet new console -o helloworldAppKomut isimli bir dizin oluşturacaktır helloworldAppana dizininizde ve sonra kullanmak consoleyeni oluşturulan dizinindeki dosyaları uygulaması oluşturmak için şablon.

dotnet runKomutu çalıştırdıktan sonra , Hello World!mesajı konsolda göreceksiniz .

.NET Core web uygulaması oluşturma

Şimdi, .NET .NET türünde bir uygulama oluşturun ve çalıştırın razor. Sadece "Razor Pages" ın sayfa odaklı senaryolar için tasarlanmış yeni bir .NET Core MVC uygulama şablonu olduğunu unutmayın:

cd
dotnet new razor -o myfirstwebapp
cd myfirstwebapp
dotnet run

Yürüterek dotnet runYukarıdaki komutu, sen bir .NET Çekirdek web uygulaması dinleme başlayacaktır: http://localhost:5000.

Web uygulamasının çalışır durumda olduğunu doğrulamak istiyorsanız, GUI'siz bir sunucu örneğinde olmasına rağmen curl http://localhost:5000, web uygulamasının ana sayfasının kaynak kodunu görüntülemek için yeni bir terminal konsolu ve girişi açmaya devam edebilirsiniz .

Daha sonra, .NET Core web uygulamasını kapatmak için CTRL+ tuşuna basabilirsiniz C.

Web uygulamanızı gerçekleştirmek için uygulama dizini içindeki dosyaları düzenlemeniz gerekir. Daha fazla ayrıntıyı resmi .NET belge sayfasında öğrenebilirsiniz .

Tüm geliştirme görevlerini yaptıktan sonra, web uygulamanızı yayınlamak için aşağıdaki komutları kullanabilirsiniz:

cd ~/myfirstwebapp
dotnet publish

Yayımlanan web uygulamasını ~/myfirstwebapp/bin/Debug/netcoreapp2.0dizinde bulabilirsiniz.

(İsteğe bağlı): .NET Core web uygulamanızı çevrimiçi tutmak için Yönetici kurun

İşlem çöküyor. Web uygulamanızı çevrimiçi tutmak için, kilitlenen web uygulaması süreçlerini izlemek ve yeniden başlatmak üzere Süpervizör gibi bir süreç yönetim aracının olması iyi bir fikirdir.

CentOS 7'de Süpervizörü YUM'u kullanarak yükleyebilirsiniz:

sudo yum install supervisor -y

Ardından, web uygulamanız için özel bir Yönetici yapılandırma dosyası ayarlamanız gerekir:

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

Dosyayı doldurun:

[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

Kaydet ve çık:

:wq!

Ardından, supervisordoluşturduğumuz yapılandırma dosyasını içerecek şekilde varsayılan yapılandırma dosyasını değiştirmeniz gerekir :

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

Son satırı bulun:

files = supervisord.d/*.ini

Değiştirin:

files = supervisord.d/*.conf

Kaydet ve çık:

:wq!

Süpervizörü başlatın ve sistem başlangıcında otomatik olarak başlayacak şekilde ayarlayın:

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

Yeni Yönetici ayarlarını yükleyin:

sudo supervisorctl reread
sudo supervisorctl update

Şimdi, uygulamanın durumunu göstermek için aşağıdaki komutu kullanabilirsiniz:

sudo supervisorctl status

Çıktı aşağıdaki gibi görünecektir:

myfirstwebapp                    RUNNING   pid 3925, uptime 0:08:45

Ardından, pid'i belirterek uygulamanın işlemini öldürmeyi deneyebilirsiniz 3925:

sudo kill -s 9 3925

Bir süre bekleyin ve durumu tekrar kontrol edin:

sudo supervisorctl status

Bu kez, çıktı uygulamanın çöktüğünü ve otomatik olarak başladığını gösterecektir:

myfirstwebapp                    RUNNING   pid 3925, uptime 0:00:06

(İsteğe bağlı): Nginx'i ters proxy olarak yükleyin

Ziyaretçilerin erişimini kolaylaştırmak için, web trafiğini bağlantı noktasına geçirmek için Nginx'i ters proxy olarak yükleyebilirsiniz 5000.

YUM kullanarak Nginx'i yükleyin:

sudo yum install nginx -y

Varsayılan Nginx yapılandırma dosyasını aşağıdaki gibi düzenleyin:

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

Segment içinde aşağıdaki segmenti bulun http {}:

location / {
}

Diş telleri arasına aşağıda gösterildiği gibi altı satır ters proxy ayarı ekleyin:

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

Kaydet ve çık:

:wq!

Nginx hizmetini başlatın ve ardından sistem başlangıcında başlayacak şekilde ayarlayın:

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

Güvenlik duvarı kurallarını ayarlama

Ziyaretçi bağlantı noktalarında .NET Çekirdek web uygulamasına erişmeden önce 80ve 443aşağıda gösterildiği gibi, güvenlik duvarı kurallarını değiştirmek gerekir:

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

Bu uygulama kurulumunu tamamlar. Artık adresinden .NET Core web uygulamanıza göz atmaya hazırsınız http://203.0.113.1.



Leave a Comment

CentOS 7de Tavşan Kümesini Kümeleme

CentOS 7de Tavşan Kümesini Kümeleme

RabbitMQ, AMQP, STOMP ve diğer iletişim teknolojilerini destekleyen açık kaynaklı bir mesaj aracısıdır. Kurumsal uygulamalarda yaygın olarak kullanılan bir

Pagekit CMSyi CentOS 7ye Yükleme

Pagekit CMSyi CentOS 7ye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Pagekit PHP ile yazılmış açık kaynaklı bir CMSdir. Pagekit kaynak kodu GitHubda herkese açık olarak barındırılıyor. Bu kılavuz size

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

SSL / TLS ile vsFTPd Nasıl Güvenli Hale Getirilir

Çok Güvenli FTP arka plan programı, ya da sadece vsFTPd, özelleştirme yeteneği olan hafif bir yazılım parçasıdır. Bu derste bir müttefikimiz olacak

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

CentOS 7de Yalnızca SFTP Kullanıcı Hesaplarını Kurma

Belirli durumlarda, Sistem Yöneticisinin bir kullanıcı hesabı oluşturması ve yalnızca kendi dosyalarını sFTP yoluyla yönetmek için erişimini kısıtlaması gerekebilir, ancak b

CentOS 6da ModSecurity ile NGINX kurulumu

CentOS 6da ModSecurity ile NGINX kurulumu

Bu makalede, ModSecurity tarafından korunan bir LEMP yığını oluşturmayı açıklayacağım. ModSecurity faydalı bir açık kaynaklı web uygulaması güvenlik duvarıdır.

CentOS 6 Üzerinde Apache, MySQL ve PHP Kurulumu

CentOS 6 Üzerinde Apache, MySQL ve PHP Kurulumu

Giriş LAMP, Linux, Apache, MySQL ve PHPnin kısaltmasıdır. Bu yazılım yığını, kurulum için en popüler açık kaynaklı çözümdür.

CentOS 7 Üzerinde Chamilo 1.11.8 Kurulumu

CentOS 7 Üzerinde Chamilo 1.11.8 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Chamilo, çevrimiçi eğitim ve takım işbirliği için yaygın olarak kullanılan ücretsiz ve açık kaynaklı bir öğrenme yönetim sistemidir (LMS).

CentOS 7ye Odoo 9 Topluluğunu Yükleme

CentOS 7ye Odoo 9 Topluluğunu Yükleme

Eskiden OpenERP olarak bilinen Odoo, iyi bilinen bir açık kaynaklı ERP iş platformudur. Her büyüklükteki işletme, bol miktarda lis sayesinde Odoodan yararlanabilir

Icinga2yi CentOS 6 veya CentOS 7de Ana / İstemci Modelini Kullanacak Şekilde Değiştirme

Icinga2yi CentOS 6 veya CentOS 7de Ana / İstemci Modelini Kullanacak Şekilde Değiştirme

Icinga2 güçlü bir izleme sistemidir ve bir ana istemci modelinde kullanıldığında, NRPE tabanlı izleme kontrollerine olan ihtiyacın yerini alabilir. Master-Clien

CentOS 7 LAMP VPSye Couch CMS 2.0 Kurulumu

CentOS 7 LAMP VPSye Couch CMS 2.0 Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Couch CMS, web tasarımcılarının tasarlamalarını sağlayan basit ve esnek, ücretsiz ve açık kaynaklı bir İçerik Yönetim Sistemidir (CMS)

NetOSu CentOS 7ye Yükleme

NetOSu CentOS 7ye Yükleme

Farklı Bir Sistem mi Kullanıyorsunuz? Netdata, gerçek zamanlı sistem ölçümleri izleme alanında yükselen bir yıldızdır. Aynı türdeki diğer araçlarla karşılaştırıldığında, Netdata:

CentPN 7 Üzerinde ERPNext Açık Kaynak ERP Kurulumu

CentPN 7 Üzerinde ERPNext Açık Kaynak ERP Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? ERP veya Kurumsal Kaynak Planlaması, temel iş süreçlerini yönetmek için kullanılan bir kurumsal uygulama paketidir. ERPNext ücretsizdir

CentOS 6da SA-MP San Andreas Çok Oyunculu Sunucu Kurma

CentOS 6da SA-MP San Andreas Çok Oyunculu Sunucu Kurma

Başka bir Vultr eğitimine hoş geldiniz. Burada, bir SAMP sunucusunun nasıl kurulacağını ve çalıştırılacağını öğreneceksiniz. Bu kılavuz CentOS 6 için yazılmıştır. Önkoşullar

KubOSM ile Kubernetesi CentOS 7de dağıtın

KubOSM ile Kubernetesi CentOS 7de dağıtın

Genel Bakış Bu makale, bir Kubernetes kümesini hemen kurup kubeadm ile çalıştırmanıza yardımcı olmak içindir. Bu kılavuz iki sunucuyu

CentOS 7de Geliştirme için Sails.jsyi kurun

CentOS 7de Geliştirme için Sails.jsyi kurun

Farklı Bir Sistem mi Kullanıyorsunuz? Giriş Sails.js, Ruby on Railse benzer şekilde Node.js için bir MVC çerçevesidir. Modern uygulamalar geliştirmek için yapar

CentOS 6da Half Life 2 Sunucusu Kurma

CentOS 6da Half Life 2 Sunucusu Kurma

Bu eğitimde, CentOS 6 Sistemine Half Life 2 oyun sunucusu kurma süreci ele alınacaktır. 1. Adım: Önkoşulları kurma

PrestaShopu CentOS 7ye Yükleme

PrestaShopu CentOS 7ye Yükleme

PrestaShop popüler bir açık kaynaklı e-ticaret çözümüdür. Kendi çevrimiçi mağazanızı ücretsiz oluşturmak için kullanabilirsiniz. Bu eğitimde, size

CentOS 7 LAMBA VPSye MODX Devrimi Nasıl Yüklenir

CentOS 7 LAMBA VPSye MODX Devrimi Nasıl Yüklenir

Farklı Bir Sistem mi Kullanıyorsunuz? MODX Revolution hızlı, esnek, ölçeklenebilir, ücretsiz ve açık kaynaklı, kurumsal düzeyde bir İçerik Yönetim Sistemi (CMS)

Ubuntu ve CentOS İçin Daha İyi İzleme Araçları

Ubuntu ve CentOS İçin Daha İyi İzleme Araçları

Giriş Linux sistemleri, süreçleri ve disk alanını izlemeye yardımcı olan varsayılan olarak top, df ve du gibi izleme araçlarıyla birlikte gelir. Çoğu zaman, onlar ar

CentOS 7de Kolab Groupware Kurulumu

CentOS 7de Kolab Groupware Kurulumu

Farklı Bir Sistem mi Kullanıyorsunuz? Kolab Groupware, ücretsiz ve açık kaynaklı bir web tabanlı grup yazılımı uygulamasıdır. Özellikleri e-posta iletişiminden, olaylardan oluşur

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Nintendo Switch Hakkında Son Derece Çılgın 6 Şey

Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.

Hala Teslim Edilmeyen Teknoloji Sözleri

Hala Teslim Edilmeyen Teknoloji Sözleri

Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Referans Mimarisi Katmanlarının İşlevleri

Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zeka Süreç Otomasyonunu Nasıl Bir Sonraki Seviyeye Taşıyabilir?

Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA: İnsan-AI Ayrımı İçin Ne Kadar Geçerli Bir Teknik Kalabilir?

CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Teknolojik Tekillik: İnsan Uygarlığının Uzak Bir Geleceği mi?

Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp ve Uzaktan Sağlık Hizmeti: Gelecek Burada

Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Hackerların Nasıl Para Kazandığını Hiç Merak Ettiniz mi?

Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

macOS Catalina 10.15.4 Ek Güncellemesi Çözmekten Daha Fazla Soruna Neden Oluyor

Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun