Nginx Nedir?
Nginx, yüksek performanslı bir HTTP ve ters proxy sunucusu, aynı zamanda bir e-posta proxy sunucusudur. Açık kaynak kodlu bir yazılım olan Nginx, özellikle statik içerik sunumu, yüksek trafikli web siteleri ve uygulamalar için verimlilik ve hız sunması ile tanınır. Nginx, yük dengelemesi, içerik yönlendirme ve SSL taşıma gibi birçok özellikleri destekler. Genellikle, yüksek yük altındaki sunucularda ve web uygulamalarında tercih edilmektedir.
Nginx Kurulumuna Hazırlık
Nginx’in kurulumunu gerçekleştirmeden önce, sistemde gerekli paket yöneticisinin kurulu olduğundan emin olunmalıdır. Nginx, farklı Linux dağıtımlarında değişik paket yöneticileri ile kurulabilir. En yaygın olanları apt (Debian ve Ubuntu tabanlı sistemlerde), yum (CentOS ve RHEL tabanlı sistemlerde) ve dnf (Fedora ve RHEL 8 sonrası dağıtımlarda) dir. Kurulum öncesinde, sunucuya giriş yapıldığında gerekli güncellemelerin yapılması tavsiye edilir.
Apt İle Nginx Kurulumu
1. Depo Güncelleme: İlk olarak, sisteminizdeki apt paket yöneticisini güncellemek için aşağıdaki komut çalıştırılmalıdır:
“`
sudo apt update
“`
2. Nginx Kurulumu: Ardından, Nginx paketi kurulum için aşağıdaki komut kullanılmalıdır:
“`
sudo apt install nginx
“`
3. Nginx Servisini Başlatma: Kurulum tamamlandıktan sonra Nginx servisi başlatılmalıdır:
“`
sudo systemctl start nginx
“`
4. Servisin Durumunu Kontrol Etme: Nginx’in düzgün bir şekilde çalıştığını kontrol etmek için aşağıdaki komut kullanılabilir:
“`
sudo systemctl status nginx
“`
5. Nginx’i Boot Zamanında Başlatma: Nginx’in sistem açılışında otomatik olarak başlatılması için aşağıdaki komut kullanılmalıdır:
“`
sudo systemctl enable nginx
“`
Yum İle Nginx Kurulumu
1. Depo Güncellemesi: Öncelikle sistemin yum paket yöneticisinin güncellenmesi gerekmektedir:
“`
sudo yum update
“`
2. EPEL Deposunu Eklemek: Nginx, genellikle EPEL (Extra Packages for Enterprise Linux) deposunda bulunmaktadır. EPEL deposunu eklemek için:
“`
sudo yum install epel-release
“`
3. Nginx Kurulumu: Ardından, Nginx’in kurulumu için aşağıdaki komut çalıştırılmalıdır:
“`
sudo yum install nginx
“`
4. Nginx Servisini Başlatma: Kurulum tamamlandıktan sonra Nginx servisi şu komut ile başlatılmalıdır:
“`
sudo systemctl start nginx
“`
5. Servisin Durumunu Kontrol Etme: Nginx’in çalışıp çalışmadığını kontrol etmek için:
“`
sudo systemctl status nginx
“`
6. Nginx’i Boot Zamanında Başlatma: Nginx’in sistem açılışında otomatik başlatılması için:
“`
sudo systemctl enable nginx
“`
DNF İle Nginx Kurulumu
1. Depo Güncellemesi: Fedora veya RHEL 8 ve sonrası sistemlerde öncelikle dnf güncellemesi yapılmalıdır:
“`
sudo dnf update
“`
2. Nginx Kurulumu: Nginx’in kurulumu için dnf komutu:
“`
sudo dnf install nginx
“`
3. Nginx Servisini Başlatma: Kurulumdan sonra Nginx servisi şu komut ile başlatılmalıdır:
“`
sudo systemctl start nginx
“`
4. Servisin Durumunu Kontrol Etme: Nginx’in düzgün çalışıp çalışmadığını kontrol etmek için:
“`
sudo systemctl status nginx
“`
5. Nginx’i Boot Zamanında Başlatma: Nginx’in sistem açılışında otomatik olarak başlatılmasını sağlamak için:
“`
sudo systemctl enable nginx
“`
Nginx Konfigürasyonu
Kurulum sonrasında, Nginx yapılandırma dosyaları genellikle `/etc/nginx/` dizininde bulunur. Ana konfigürasyon dosyası `nginx.conf` olarak adlandırılır. İhtiyaç duyulması halinde bu yapılandırma dosyası, metin düzenleyicileri kullanılarak düzenlenebilir. Aşağıdaki komut ile dosya açılabilir:
“`
sudo nano /etc/nginx/nginx.conf
“`
Değişiklikler yapıldıktan sonra, Nginx’in yeniden yüklenmesi gereklidir. Bunun için:
“`
sudo systemctl reload nginx
“`
Güvenlik Duvarı Ayarları
Eğer bir güvenlik duvarı (firewalld veya ufw) kullanılıyorsa, Nginx için ilgili portların açılması gerekebilir. HTTP ve HTTPS trafiği için şu komutlar kullanılabilir:
– UFW ile HTTP ve HTTPS İzin Verme:
“`
sudo ufw allow ‘Nginx Full’
“`
– FirewallD ile HTTP ve HTTPS İzin Verme:
“`
sudo firewall-cmd –permanent –add-service=http
sudo firewall-cmd –permanent –add-service=https
sudo firewall-cmd –reload
“`
Nginx’in kurulumu ve yapılandırılması böylece tamamlanmış olur. Sunucuda Nginx çalıştığı sürece sistem yönetim ve uygulama performansında önemli bir katkı sağlanabilir.