CentOS 7 üzerinde Nginx Kurulumu ve Konfigürasyonu
Nginx, statik içerik sunmak, eşzamanlı bağlantıları yönetmek ve yük dengelemek için yaygın olarak kullanılan yüksek performanslı bir web sunucusu ve ters proxy sunucusudur. Bu kılavuz, CentOS 7 sunucusunda Nginx’in kurulumu ve yapılandırılması konusunda size yol gösterecektir.
1. Sisteminizi Güncelleyin
Nginx’i kurmadan önce sisteminizin güncel olduğundan emin olun. Terminali açın ve aşağıdaki komutları çalıştırın:
sudo yum güncellemesi
2. Nginx’i yükleyin
Nginx’i yüklemek için varsayılan paket yöneticisi yum’u kullanabilirsiniz:
sudo yum install epel-release
sudo yum install nginx
Bu komut Nginx’i ve gerekli bağımlılıkları yükler.
3. Nginx’i Başlatın ve Etkinleştirin
Kurulumdan sonra, Nginx hizmetini başlatın ve önyükleme sırasında otomatik olarak başlamasını sağlayın:
sudo systemctl start nginx
sudo systemctl enable nginx
4. Güvenlik Duvarını Yapılandırma
Sunucunuza web trafiğine izin vermek için güvenlik duvarını HTTP ve HTTPS trafiğine izin verecek şekilde yapılandırmanız gerekir. Gerekli portları açmak için aşağıdaki komutları kullanın:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
5. Kurulumu Doğrulayın
Nginx’in kurulu ve çalışır durumda olduğunu doğrulamak için web tarayıcınızı açın ve sunucunuzun IP adresine gidin:
http://your_server_ip
Kurulumun başarılı olduğunu gösteren varsayılan Nginx karşılama sayfasını görmelisiniz.
6. Nginx’i Yapılandırma
Nginx yapılandırma dosyaları /etc/nginx/ dizininde bulunur. Ana yapılandırma dosyası nginx.conf’tur ve sunucu blokları (Apache’deki sanal ana bilgisayarlara benzer) conf.d dizininde tanımlanır.
Adım 1: Yeni Bir Sunucu Bloğu Oluşturun
Web siteniz için yeni bir sunucu bloğu oluşturmak için /etc/nginx/conf.d/ dizininde yeni bir yapılandırma dosyası oluşturun. Örneğin, example.com.conf adında bir dosya oluşturun:
sudo nano /etc/nginx/conf.d/example.com.conf
Aşağıdaki yapılandırmayı ekleyin:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
} }
Example.com adresini alan adınızla değiştirin ve kök dizini web sitenizin dosyalarının bulunacağı yerle eşleşecek şekilde ayarlayın.
Adım 2: Belge Kökünü Oluşturun
Ardından, web siteniz için belge kök dizinini oluşturun:
sudo mkdir -p /var/www/example.com/html
Test etmek için örnek bir index.html dosyası da oluşturabilirsiniz:
echo "<h1>Welcome to Example.com!</h1>" | sudo tee /var/www/example.com/html/index.html
7. Nginx Yapılandırmasını Test Edin
Değişiklikleri uygulamadan önce, Nginx yapılandırmasını herhangi bir sözdizimi hatasına karşı test edin:
sudo nginx -t
Çıktı yapılandırmanın başarılı olduğunu gösteriyorsa, değişiklikleri uygulamak için Nginx’i yeniden başlatmaya devam edin:
sudo systemctl restart nginx
8. Let’s Encrypt ile HTTPS Kurulumu (İsteğe Bağlı)
Web sitenizi SSL ile güvence altına almak için Let’s Encrypt’i kullanarak ücretsiz bir SSL sertifikası edinebilirsiniz. İlk olarak, Certbot’u yükleyin:
sudo yum install certbot python2-certbot-nginx
Ardından SSL sertifikasını almak ve yüklemek için Certbot’u çalıştırın:
sudo certbot --nginx -d example.com -d www.example.com
Kurulumu tamamlamak için yönergeleri izleyin. Certbot, Nginx’i SSL kullanacak şekilde otomatik olarak yapılandıracaktır.
9. Otomatik Sertifika Yenileme
Let’s Encrypt sertifikaları 90 gün boyunca geçerlidir. Otomatik yenilemeyi ayarlamak için bir cron işi ekleyin:
sudo crontab -e
Sertifikaları günlük olarak kontrol etmek ve yenilemek için aşağıdaki satırı ekleyin:
0 0 * * /usr/bin/certbot renew --quiet
10. Sonuç
CentOS 7 üzerinde Nginx’i başarıyla kurdunuz ve yapılandırdınız. Nginx artık web sitenize hizmet vermeye hazırdır ve Let’s Encrypt kullanarak SSL ile güvenli hale getirme seçeneğiniz vardır. Performans ve güvenliği korumak için sunucunuzu düzenli olarak izleyin ve Nginx’i güncel tutun.