Linux’ta Binary Üzerinden NGINX Nasıl Kurulur?

Ahmet Hamza Üstün
Turk Telekom Bulut Teknolojileri

--

Adım Adım kurulum aşamalarını inceleyeceğimiz bu yazımızda, Bulut Bilişimciler Platformunun bizlere sağladığı imkanlar çerçevesinde senaryomuzu ve komutlarımızı bulutbilisimciler.com üzerinden gerçekleyeceğim. Dilerseniz sizlerde ücretsiz bir şekilde platformdan yararlanabilirsiniz.

Herhangi bir tarayıcının URL bölümüne bir şey yazdığınızda neler olduğunu hiç merak ettiniz mi?

URL’ye bir şey yazdığınızda, o web sayfalarını sunan bir bilgisayara bir (request) istek gönderilir. Bu bilgisayar, istediğiniz web sayfalarını içeren bir (response) yanıt başlatınca, bu web sayfaları genellikle Global Alan Ağı (GAN) üzerinden seyahat ederek yerel ağınıza (LAN) ve son olarak da tarayıcınıza ulaşır.

Yani, size web sayfasını sunan bilgisayar tam olarak bir Web Sunucusudur.

Web Sunucuları, talep edilen web sayfalarını sunan bilgisayar sistemleridir. Her web sunucusunun bir IP adresi ve bir alan adı vardır.

Bir web sunucusu kullanmak istediğinizde, bilgisayarınızı bir web sunucusuna dönüştürebilecek yazılım uygulamalarına ihtiyacınız vardır.

Bilgisayarınızı bir web sunucusuna dönüştürmek için, sunucu yazılımlarını yüklemeniz ve makinenizi internete bağlamanız gerekir.

Piyasada birçok web sunucusu yazılımı bulunmaktadır, örneğin XAMPP, Apache, Tornado, Caddy, Microsoft IIS ve NGINX. Biz de yazımızda NGINX’e değineceğiz.

NGINX, web sunucusu, ters proxy, HTTP önbelleği ve yük dengeleyici olarak kullanılmak üzere tasarlanmış açık kaynaklı bir yazılımdır. Igor Sysoev tarafından C10k Sorununu çözmek için geliştirilmiştir. Netcraft’ın internet üzerindeki en son pazar payı istatistiklerine göre, popüler web sunucuları arasındaki kullanım durum grafiği aşağıdadır.

NGINX, event-driven (olay güdümlü) mimari kullanarak, Apache gibi işlem yaratmak yerine efektif bir şekilde binlerce eşzamanlı bağlantıyı yönetebilir. Master Process (ana süreç), Worker Process (işçi süreçleri) oluşturur ve her bir işçi süreci binlerce HTTP isteğini aynı anda işleyebilir. NGINX, Apache ile karşılaştırıldığında statik içerik sunmak için gerçekten iyidir. Reverse proxy ve yük dengeleme sunucuları, NGINX’in yaygın kullanım alanlarıdır.

NGINX’in kurulabileceği birkaç yöntem vardır:

  • Docker imajı
  • Nginx deposu
  • İşletim Sistemi depoları
  • Hazır derlenmiş paketler (.rpm, .dep, .exe)
  • Kaynak kodundan derleme

Bu yazıda, NGINX web sunucusunu kaynak kodundan derleyip kurmanın adımlarını anlatacağım. Kaynak kodundan NGINX kurulumu yapmanız bazı avantajlar sağlar:

  • NGINX kurulumunu özelleştirebilirsiniz.
  • Gereksiz modülleri ve yöntemleri kaldırarak, NGINX’in performansını artırabilirsiniz.
  • NGINX’i belirli bir uygulama kullanıcısıyla çalıştırarak, güvenliği artırabilirsiniz.
  • Daha güvenilir bir kurulum yapabilirsiniz çünkü kaynak kodundan kurulum yaparak, sisteminize yalnızca ihtiyacınız olan modülleri ekleyebilir ve böylece güvenlik açıklarını en aza indirebilirsiniz.

Bu makaledeki her bir adımı bulutbilisimciler.com üzerinden, kurslarım kısmından OS seçerek deneyimleyebilirsiniz.

Adım 1: Sisteminizdeki paket yöneticisini güncelleyin. Komutlar sistem yöneticisi yetkisi gerektirebilir, bu nedenle “ sudo ” kullanın:

Senaryomuzu Bulut Bilisimciler üzerinden deneyimliyorsanız “ sudo ” komutları olmadan deneyiniz!

Debian/Ubuntu/Mint/Pardus:

sudo apt-get update

Red Hat/Fedora/CentOS:

sudo yum update

Arch/Manjaro:

sudo pacman -Syu

Alpine:

sudo apk update

Adım 2: Gereksinimlerin Yüklenmesi

Linux’ta gerekli paketleri yüklemek için aşağıdaki komutu çalıştırın:

Debian/Ubuntu/Mint/Pardus:

sudo apt-get install build-essential libpcre3-dev libssl-dev zlib1g-dev wget

Red Hat/Fedora/CentOS:

sudo yum install gcc make pcre-devel openssl-devel zlib-devel wget

Arch/Manjaro:

sudo pacman -S base-devel pcre openssl zlib wget

Alpine:

sudo apk add build-base pcre-dev openssl-dev zlib-dev

Bu komut, build-base, pcre-dev, openssl-dev ve zlib-dev paketlerini yükleyecektir.

Adım 3: NGINX Kaynak Kodunun İndirilmesi

wget https://nginx.org/download/nginx-1.23.4.tar.gz

Bu komut, NGINX’in 1.23.4 kararlı sürümünü indirecektir.

Adım 4: NGINX Kaynak Kodunun Çıkarılması

İndirilen dosyayı çıkarmak için aşağıdaki komutu kullanın:

 tar -zxvf nginx-1.23.4.tar.gz

Bu komut, arşiv dosyasını açmak için kullanılır.

cd nginx-1.23.4

Bu komut, terminalde bulunduğunuz dizinden “nginx-1.23.4” isimli klasöre geçiş yapmanızı sağlar.

Adım 5: NGINX Derleme Ayarlarının Yapılandırılması

Derleme işlemi için gerekli ayarları yapılandırmak için nginx-1.23.4 dizininde aşağıdaki komutu çalıştırın:

 ./configure --prefix=/usr/local/nginx --with-http_ssl_module

Bu komut, NGINX’in /usr/local/nginx dizinine kurulmasını sağlar ve HTTPS desteği sağlayan — with-http_ssl_module özelliğini etkinleştirir.

Adım 6: NGINX’in Derlenmesi

Ayarlar yapılandırıldıktan sonra, NGINX’i derlemek için aşağıdaki komutu çalıştırın:

make

Bu komut, NGINX’in kaynak kodundan derlenmesini sağlar.

Adım 7: NGINX’in Kurulması

NGINX başarıyla derlendikten sonra, aşağıdaki komutu kullanarak NGINX’i kurabilirsiniz:

 sudo make install

Bu komut, NGINX’i sisteminize kurar.

Adım 8: NGINX’in Başlatılması

NGINX’i başlatmak için aşağıdaki komutu kullanın:

sudo /usr/local/nginx/sbin/nginx

Bu komut, NGINX’i başlatır.

Adım 9: NGINX’in Test Edilmesi

NGINX’in doğru şekilde kurulduğunu ve çalıştığını test etmek için aşağıdaki komutu kullanabilirsiniz:

curl http://localhost/

Bu komut, NGINX’in varsayılan olarak dinlediği 80 numaralı HTTP bağlantı noktasını kullanarak yerel sunucudaki NGINX ana sayfasını çeker. Eğer NGINX doğru şekilde çalışıyorsa, sunucudan NGINX’in HTML dosyasını alacak ve bunu çıktı olarak gösterecektir.

Senaryoyu bulutbilisimciler.com OS kursları üzerinde denediyseniz yukarıdaki görselde olduğu gibi makine portunu seçebilir manuel olarak makinenin localhostuna gidebilir ya da “curl” komutu ile sonucu terminalden görebilirsiniz.

Senaryoyu kendi bash terminalinizde gerçekleştirdiyseniz tarayıcınızda http://localhost:80 portunda NGINX’in HTML dosyasını görebilmelisiniz.

Adım 10: NGINX’in Durdurulması

NGINX’i durdurmak için aşağıdaki komutu kullanın:

 /usr/local/nginx/sbin/nginx -s stop

Bu komut, NGINX işlemi için durdurma sinyali gönderir ve NGINX’in çalışmasını durdurur.

Adım 11: NGINX’in Yeniden Başlatılması

NGINX’i yeniden başlatmak için aşağıdaki komutu kullanın:

/usr/local/nginx/sbin/nginx -s reload

Bu komut, NGINX işlemine yeniden yükleme sinyali gönderir ve NGINX’in yeniden başlatılmasını sağlar.

Bu adımları takip ederek Linux ve terminal üzerinden NGINX’in kaynak kodundan derlenerek kurulumunu tamamlayabilirsiniz.

--

--