Microsoft tarafından açık kod kaynaklı olarak geliştirilen .Net Core’un bize sunduğu en büyük güzelliklerden biri de şüphesiz cross platform desteğine sahip olması. Böylece istediğimiz platformda uygulamalarımızı geliştirebiliyor ve yayınlayabiliyoruz. Biz de bu yazımızda Ubuntu server üzerinde Nginx kurulumu ve projemizi ayağa kaldırabilmek için gerekli düzenlemeleri yapacağız.
Not : Kullanacağımız komutlar Linux dağıtımına göre farklılık gösterebilir, ben kurulumu Ubuntu üzerinde gerçekleştireceğim.
Nginx Nedir?
Nginx 2002 yılında Igor Sysoev tarafından geliştirilmeye başlanmış ve 2004 yılında ilk etapta mail sunucu yönetimi için yayınlanmıştır. Yıllar süren gelişimi ile Nginx günümüzde bir internet sitesinin tüm ihtiyaçlarını karşılayabilecek konuma gelmiştir.
Özellikle düşük CPU tüketimi ile Nginx yüksek trafikli sitelerin yönetiminde dünya genelinde pek çok büyük firma tarafından tercih edilmekte. Reverse Proxy (Ters Vekil Sunucusu), Load Balancing (Yük Dengeleme) gibi birçok gelişmiş özelliğe destekleyen Nginx hakkında daha fazla detaylı bilgi almak isterseniz buraya tıklayabilirsiniz.
Ubunut Nginx Kurulumu
Sunucumuza bağımlılıkları ile birlikte Nginx kurmak için ilk etapta aşağıdaki komutları sırası ile çalıştırıyoruz.
1 2 |
sudo apt-get update sudo apt-get install nginx |
Kurulum sonrası Nginx serverın durumunu kontrol etmek isterseniz;
1 |
systemctl status nginx |
şimdi Nginx server config dosyası üzerinde gerekli düzenlemeleri yapacağız. Bunun için;
1 |
sudo nano /etc/nginx/sites-available/default |
komutunu kullanabilirsiniz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
server { listen 80; server_name example.com *.example.com; / location / { proxy_pass http://localhost:5000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection keep-alive; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } |
server_name kısmını eğer bir domain yönlendirmesi yapmayacaksanız kaldırabilirsiniz. Eğer domain kullanacaksanız example.com kısmını değiştirmeniz yeterli. *.example.com ise sub domain yapılandırması için kullanılıyor. Burayı da tercihinize göre düzenleyebilirsiniz.
Not : Şuan ki config dosyamız sadece http:// isteklerini yönetmek için düzenlendi. Bu yüzden tarayıcıdan ilerleyen aşamalarda test etmek için bağlanmaya çalışırken bu duruma dikkat edin.
CTRL + X ve Y tuşları ile dosyamızı kaydettikten sonra herhangi bir hata var mı diye test ediyoruz,
1 |
sudo nginx -t |
eğer bu komut sonrasında herhangi bir sorun yok ise Nginx serverımızı tekrar ayağa kaldırarak değişiklikleri aktif ediyoruz.
1 |
sudo nginx -s reload |
Nginx config dosyasında yaptığımız her değişiklik sonrasında reload etmemiz gerekmekte.
Sunucumuzu her yeniden başladığında Nginx server otomatik olarak ayağa kalkmakta, bunu iptal etmek istiyorsanız ;
1 |
sudo systemctl disable nginx |
komutunu kullanabilirsiniz.
Tüm bu işlemlerden sonra .Net Core projelerimizi yayınlamak için Linux serverımız hazır. Bir sonraki yazımda .Net Core projemizi yayınlamadan önce bazı düzenlemeler yapacağız ve ardından Linux serverımızda projemizi yayınlayacağız.
Yazıların uzun olmaması amacı ile parça parça yayınlıyorum, bir önceki yazımızda da Linux servarımıza ileride proje dosyalarımızı rahatça atabilmek amacı ile Linux FTP Server kurulumunu gerçekleştirmiştik.
Bir Önce ki Yazı : Linux FTP Server Kurulumu ve Ayarları