Linuxda .Net Çalıştırmak

ASP.NET ile yazdığınız bir web siteni varsa size mutlaka bir Windows sunucu gerekliydi eskiden; ama artık buna gerek yok. Şimdi .net ile yazdığınız web siteniz artık linuxda da çalıştırabileceksiniz. Tabi bir Windows server performansı elde edip etmeyeceğiniz hakkında birşeyler söylemem ama bunun büyük gelişmeler getireceği kesin.

Bu makalede Centos 7.1 ile kurulum gerçekleştireceğiz. Sunucunuzu yeni kurduysanız mutlaka güncelleyiniz.

[root@zulfumehmet ~]# yum update 

Güncelleme yaptıysak artık kuruluma geçebiliriz.

Kurulum

Gerekli olacak paketleri kuralım.

[root@zulfumehmet ~]# yum -y install deltarpm unzip zlib gettext libunwind libicu libcurl-devel openssl-devel libicu-devel

İlk önce Microsofttan paketi indirip, ardından repomuza tanıtalım.

 

[root@zulfumehmet ~]# rpm --import https://packages.microsoft.com/keys/microsoft.asc

[root@zulfumehmet ~]# cat > /etc/yum.repos.d/dotnetdev.repo <<EOF

[packages-microsoft-com-prod]

name=packages-microsoft-com-prod

baseurl=https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod

enabled=1

gpgcheck=1

gpgkey=https://packages.microsoft.com/keys/microsoft.asc

EOF

Artık .net kurulumuna geçebiliriz.

[root@zulfumehmet ~]# yum -y install dotnet-sdk-2.0.0  

Kurulumumuz bitti. Sırasıyla aşağıdaki komutları giriniz. En sonunda da dotnet sürümümüzü kontrol edelim.

 

[root@zulfumehmet ~]# echo 'export PATH=$PATH:$HOME/dotnet' > /etc/profile.d/dotnetdev.sh

[root@zulfumehmet ~]# source /etc/profile.d/dotnetdev.sh

[root@zulfumehmet ~]# dotnet --version

2.0.0

Kurulum tamam ve dotnet çalışır durumda. Şimdi Hello World diyelim. Zaten bir programlama diline merhaba dünya demeden başlamak eksiklik olurdu :)

  

[root@zulfumehmet ~]# dotnet new console -o hello world 

Programı test edelim.

 

[root@zulfumehmet ~]# cd helloworld

[root@zulfumehmet helloworld]# dotnet run 

Hello World!

Programımız çalıştı. Şimdi de Asp.Net çalıştırmaya geçelim.

Eğer uzaktan erişmek istemiyorsanız localde çalışabilirsiniz. Apache yapısını geçebilirsiniz.

Apche İle Asp.Net Yayını

Şimdi Apache paketlerini kuralım ki uzaktan asp.net çalıştırabilelim.

[root@zulfumehmet ~]# yum -y install httpd

Kurulum bitince Önce httpd çalıştıralım, ardından helloword diye bir conf dosyası hazırlayalım.

[root@zulfumehmet ~] systemctl start httpd

[root@zulfumehmet /]# nano /etc/httpd/conf.modules.d/hellomvc.conf

Dosyamızın içine aşağıdaki kodları yapıştıralım

  

<VirtualHost *:80>

        ProxyPreserveHost On

        ProxyPass / http://127.0.0.1:5000/

        ProxyPassReverse / http://127.0.0.1:5000/

        ErrorLog /var/log/httpd/hellomvc-error.log

        CustomLog /var/log/httpd/hellomvc-access.log common

    </VirtualHost>

  

Ayarlamalar tamam şimdi apache servisini yenileyelim.

[root@zulfumehmet ~] service httpd configtest

[root@zulfumehmet ~] systemctl restart httpd

[root@zulfumehmet ~] systemctl enable httpd

asp.net kurulumunu yapalım. 

 

[root@zulfumehmet ~]# dotnet new razor -o asp.net

Uygulamayı indirdik şimdi çalıştıralım.

  

[root@zulfumehmet ~]# ls

 asp.net helloworld

[root@zulfumehmet ~]# cd asp.net

[root@zulfumehmet asp.net]# dotnet run

Putty tarzı bir program ile erişim sağlıyorsanız putty kapatırsanız yada CTRL+C tuşlarına basarak Asp.NET durdurabilirsiniz. Sürekli aktif çalışmasını istiyorsanız uzak masaüstü ile erişim sağlayıp terminalden sürekli aktif çalıştırabilirsiniz. Artı olarak asp.net klasörü içinde asp ile yazdığınız dosyaları çalıştırabilirsiniz.

Bir web browser aracılığı ileip adresimiz ile Sunucumuza erişelim.

 

Gördüğünüz gibi Asp.NET çalıştırabiliyoruz. Kurulum bu kadar kolay gelsin. Başta dediğim gibi bir windows gibi randıman alamayabilirsiniz. Ama linux kullanıcıları ve C# yazılımcıları için iyi bir gelişme. Asp.NET ile çok haşir neşir biri olmadığım için eksik ve artıları hakkında yorum yapamayacağım. Kullanan arkadaşlar yorumda bulunursa sevinirim.

Kolay gelsin.

Tarih:
Hit: 407
Yazar: x-files

Taglar: asp.net linux .net


Yorumlar


Yorum yapabilmek için üye girişi yapmalısınız.

Yorumlar

x-files tarafından yazıldı. Tarih: 05/Kas/17 15:29
Teşekkürler.
AbdullahAzad tarafından yazıldı. Tarih: 14/Eki/17 16:51
nohup command-name &

ile komutu çalıştırırsak eğer, terminal baglantisini sonlandirsak dahi uygulama sunucu uzerinde arka planda calismaya devam eder.
yararlı makale. birazdan test ortaminda deneyip .net uygulamami calistirmayi denicem. tesekkurler haci.
ayrica blog'unda çok başarılı <3