Nginx Nedir?
Nginx, yüksek performanslı bir HTTP ve ters proxy sunucusudur. Ayrıca, bir e-posta proxy sunucusu ve genel olarak bir ağa yönlendirme aracı olarak kullanılabilir. Özellikle statik dosya sunumu için etkili bir çözüm sunmaktadır ve düşük kaynak kullanımı ile bilinir. Nginx, modüler yapısı sayesinde özelleştirilebilir ve binlerce eşzamanlı bağlantıyı yönetme yeteneği ile büyük web siteleri tarafından tercih edilmektedir.
Nginx’in Avantajları
Nginx, asenkron mimarisi nedeniyle yüksek verimlilik sağlar. Birçok eşzamanlı bağlantıyı yönetme yeteneği vardır ve bu, onu yüksek trafikli web siteleri için ideal kılar. Diğer bir avantajı ise statik dosyaları sunma konusunda sağladığı hızdır. Nginx, yerleşik önbellekleme mekanizmaları ve dinamik içerik ile çalışma yeteneği sayesinde performansı iyileştirir. Bunun yanı sıra, sunucu üzerindeki yükü azaltması ve daha az kaynak tüketimi ile dikkat çekmektedir.
Gerekli Bağımlılıkların Kurulumu
Nginx’in kaynak koddan derlenmesi için bazı bağımlılıklar gereklidir. Öncelikle, sistemde Geliştirici Araçları’nın ve bazı kütüphanelerin kurulu olması önemlidir. Aşağıdaki komutlar, bu bağımlılıkların kurulması için gerekli adımlardır:
“`bash
sudo apt update
sudo apt install build-essential libpcre3 libpcre3-dev libssl-dev zlib1g zlib1g-dev
“`
Bu komutlar, gerekli geliştirme araçlarını ve kütüphaneleri yükleyecektir.
Nginx Kaynak Kodunun İndirilmesi
Nginx kaynak kodu, resmi web sitesinden indirilebilir. En güncel sürümün indirilmesi için aşağıdaki komut kullanılabilir:
“`bash
wget http://nginx.org/download/nginx-1.23.1.tar.gz
“`
İndirilen dosya, bir arşiv dosyasıdır ve çıkarılması gerekmektedir. Aşağıdaki komut ile dosya çıkarılabilir:
“`bash
tar -zxvf nginx-1.23.1.tar.gz
“`
Nginx’in Derlenmesi
Nginx kaynak kodu çıkarıldıktan sonra, derleme işlemi yapılmalıdır. Bu işlem için öncelikle dizine geçiş yapılır:
“`bash
cd nginx-1.23.1
“`
Daha sonra, yapılandırma adımı gerçekleştirilmelidir. Bu adımda, Nginx’in hangi modüllere sahip olacağı ve diğer yapılandırmalar belirlenir. Aşağıdaki komut, Nginx’i temel modüllerle yapılandırmak için kullanılabilir:
“`bash
./configure –prefix=/usr/local/nginx –with-http_ssl_module –with-pcre –with-zlib –with-openssl
“`
Burada, `–prefix` ile Nginx’in kurulacağı dizin belirtilmektedir. `–with-http_ssl_module`, SSL desteğinin eklenmesini sağlar. Diğer seçenekler ise gerekli kütüphaneleri belirlemektedir.
Yapılandırma tamamlandıktan sonra, Nginx derleme süreci başlatılabilir. Aşağıdaki komut ile derleme işlemi gerçekleştirilir:
“`bash
make
“`
Bu işlem tamamlandıktan sonra, Nginx kurulum aşamasına geçilebilir.
Nginx’in Kurulumu
Derleme işlemi tamamlandığında, Nginx’i kurmak için aşağıdaki komut uygulanmalıdır:
“`bash
sudo make install
“`
Bu işlem, Nginx’i belirtilen dizine kuracaktır. Kurulum tamamlandıktan sonra, Nginx servisi başlatılmalıdır. Aşağıdaki komut ile Nginx servisi başlatılabilir:
“`bash
sudo /usr/local/nginx/sbin/nginx
“`
Nginx, varsayılan olarak 80 numaralı portu kullanarak çalışmaya başlayacaktır.
Nginx’in Yönetimi
Nginx çalışmaya başladıktan sonra, çeşitli yönetim komutları ile kontrol edilebilir. Nginx’i durdurmak için aşağıdaki komut kullanılabilir:
“`bash
sudo /usr/local/nginx/sbin/nginx -s stop
“`
Nginx’i yeniden başlatmak için ise aşağıdaki komut kullanılmalıdır:
“`bash
sudo /usr/local/nginx/sbin/nginx -s reload
“`
Bu komut, Nginx konfigürasyonundaki değişikliklerin uygulanmasını sağlar.
Hata Ayıklama ve Günlük Kaydı
Nginx, günlük kaydı yaparak hataların tespit edilmesini kolaylaştırır. Varsayılan olarak, Nginx günlük dosyaları `/usr/local/nginx/logs/` dizininde oluşturulmaktadır. Hataları gidermek için bu günlük dosyaları incelenebilir.
Ayrıca, yapılandırma dosyası `/usr/local/nginx/conf/nginx.conf` konumunda bulunur ve gerekli değişiklikler bu dosya üzerinden yapılabilir. Değişikliklerden sonra Nginx servisi yeniden yüklenmelidir.
Sonuç
Kaynak koddan Nginx derlemesi ve kurulumu, yukarıda belirtilen adımlar izlenerek kolaylıkla gerçekleştirilebilir. Nginx, sunduğu yüksek performans ve ölçeklenebilirlik sayesinde dünya genelinde birçok web sunucusu tarafından tercih edilmektedir. Yapılandırma ve yönetimi ile ilgili bilgilerin dikkatlice takip edilmesi, Nginx kullanımının etkinliğini artıracaktır.


