Takip et

Nginx Web Kökünü Ubuntu 22.04’te Yeni Bir Konuma Taşıma Rehberi

Nginx Web Kökünü Ubuntu 22.04’te Yeni Bir Konuma Taşıma Rehberi Bu kapsamlı rehber, Nginx web sunucunuzun web kök dizinini Ubuntu 22.04 işlet

Nginx Web Kökünü Ubuntu 22.04’te Yeni Bir Konuma Taşıma Rehberi

Bu kapsamlı rehber, Nginx web sunucunuzun web kök dizinini Ubuntu 22.04 işletim sisteminde güvenli ve verimli bir şekilde yeni bir konuma nasıl taşıyacağınızı adım adım açıklamaktadır. Web kökünü taşıma ihtiyacı, disk alanı yönetimi, güvenlik endişeleri, daha iyi organizasyon veya performansı artırma gibi çeşitli nedenlerden kaynaklanabilir. Bu işlem, dikkatli planlama ve uygulama gerektirse de, doğru adımlar izlendiğinde sorunsuz bir şekilde tamamlanabilir.

Giriş

Nginx, yüksek performanslı, açık kaynaklı bir web sunucusu ve ters proxy sunucusudur. Genellikle web sitelerini barındırmak ve statik içerik sunmak için kullanılır. Varsayılan olarak, Nginx Ubuntu sistemlerinde web sitenizin dosyalarını /var/www/html dizininde barındırır. Ancak, bazı durumlarda bu varsayılan konumu değiştirmek isteyebilirsiniz. Örneğin:

* Disk Alanı Yönetimi: Mevcut disk bölümünüzde yer kalmadığında veya web içeriğinizi daha büyük bir depolama birimine (örneğin, ayrı bir SSD veya ağ depolaması) taşımak istediğinizde.
* Organizasyon ve Standardizasyon: Sunucunuzda birden fazla web sitesi barındırıyorsanız ve web köklerini /srv/www veya /opt/www gibi daha yapılandırılmış bir dizin altında toplamak istiyorsanız.
* Güvenlik: Web kökünü sistem dosyalarından ayrı bir konuma taşımak, potansiyel güvenlik açıklarını azaltmaya yardımcı olabilir.
* Performans: Web sitesi dosyalarını daha hızlı bir diske (örneğin NVMe SSD) taşımak, sayfa yükleme sürelerini iyileştirebilir.

Bu rehber, bu işlemi gerçekleştirirken karşılaşabileceğiniz tüm önemli adımları, dikkat etmeniz gereken noktaları ve potansiyel sorun giderme yöntemlerini ele alacaktır.

Ön Koşullar

Nginx web kökünüzü taşımadan önce aşağıdaki ön koşulların mevcut olduğundan emin olun:

* Ubuntu 22.04 Sunucusu: İşletim sisteminizin Ubuntu 22.04 LTS (Jammy Jellyfish) olması gerekmektedir.
* Nginx Kurulumu: Sunucunuzda Nginx’in kurulu ve yapılandırılmış olması.
* Sudo Yetkileri: İşlemleri gerçekleştirmek için sudo yetkilerine sahip bir kullanıcı hesabınızın olması.
* Temel Linux Bilgisi: Komut satırı (CLI) kullanımı ve temel dosya sistemi komutları hakkında bilgi sahibi olmak.
* Yedekleme Anlayışı: Herhangi bir kritik sistem değişikliğinden önce yedekleme yapmanın önemini kavramış olmak.

Planlama ve Hazırlık

Web kökünü taşıma işlemi, hassas bir operasyondur ve dikkatli bir planlama gerektirir. Bu bölüm, taşıma işlemine başlamadan önce yapmanız gereken hazırlıkları detaylandırır.

Yeni Konumu Seçme

Web sitenizin dosyalarını taşımak istediğiniz yeni dizin yolunu dikkatlice seçmelisiniz. Genellikle önerilen bazı konumlar şunlardır:

* /srv/www/your_site_name: Sunucuya özel veriler için standart bir konum.
* /opt/www/your_site_name: İsteğe bağlı yazılım paketleri için standart bir konum.
* /mnt/data/your_site_name: Ayrı bir disk bölümüne veya harici depolamaya bağlanan bir dizin.

Yeni konumun yeterli disk alanına sahip olduğundan ve uygun izinlerin ayarlanabileceği bir yer olduğundan emin olun. Örneğin, yeni konum /home/kullanici/web_sitesi gibi bir kullanıcı dizini altında olmamalıdır, çünkü bu tür dizinler genellikle web sunucusu süreçleri için uygun izinlere sahip değildir ve güvenlik riski oluşturabilir.

Verilerinizi Yedekleme

Bu, taşıma işleminin en kritik adımlarından biridir. Herhangi bir hata durumunda web sitenizi eski haline döndürebilmek için mutlaka kapsamlı bir yedekleme yapmalısınız.

* Nginx Yapılandırma Dosyaları:

sudo tar -czvf /root/nginx_conf_backup_$(date +%Y%m%d).tar.gz /etc/nginx

Bu komut, Nginx’in tüm yapılandırma dizinini sıkıştırılmış bir arşiv dosyasına yedekler.
* Web Sitesi Dosyaları:

sudo tar -czvf /root/website_files_backup_$(date +%Y%m%d).tar.gz /var/www/html

Bu komut, mevcut web sitenizin tüm dosyalarını sıkıştırılmış bir arşiv dosyasına yedekler. Eğer farklı bir web kökünüz varsa, o dizini yedeklemelisiniz.
* Veritabanı Yedeklemesi (Opsiyonel ama Önemli): Web siteniz bir veritabanı kullanıyorsa (örneğin MySQL/MariaDB, PostgreSQL), taşıma işlemi doğrudan veritabanını etkilemese de, bir web sitesi taşıma operasyonunun bir parçası olarak veritabanını da yedeklemek iyi bir uygulamadır.

# MySQL/MariaDB için örnek
    sudo mysqldump -u root -p veritabani_adi > /root/veritabani_adi_backup_$(date +%Y%m%d).sql

Yedek dosyalarını güvenli bir yere (örneğin, uzak bir depolama sunucusu) kopyalamanız şiddetle tavsiye edilir.

Kullanıcıları Bilgilendirme ve Kesinti Planlama

Eğer taşıdığınız bir canlı (production) web sitesi ise, kullanıcılarınızı olası bir kesinti hakkında bilgilendirmeniz ve bu işlemi düşük trafikli bir zamanda yapmanız önemlidir. Kısa bir bakım modu sayfası göstermeyi düşünebilirsiniz.

Adım Adım Rehber

Şimdi Nginx web kökünü yeni bir konuma taşıma işlemini adım adım gerçekleştirelim.

1. Nginx’i Durdurma

Taşıma işlemi sırasında web sunucusunun dosyalara yazmasını veya okumasını engellemek için Nginx hizmetini durdurmalısınız. Bu, dosya tutarlılığını sağlar ve olası veri bozulmalarını önler.

sudo systemctl stop nginx

Nginx’in durdurulduğunu doğrulamak için aşağıdaki komutu kullanabilirsiniz:

sudo systemctl status nginx

Çıktıda Active: inactive (dead) ifadesini görmelisiniz.

2. Web Sitesi Dosyalarını Yeni Konuma Taşıma

Şimdi web sitenizin mevcut dosyalarını yeni seçtiğiniz konuma kopyalayacağız. Bu işlem için rsync komutunu kullanmak, cp komutuna göre daha güvenli ve etkilidir, çünkü dosya izinlerini, sahipliğini ve zaman damgalarını korur ve büyük dosya setleri için daha dayanıklıdır.

Öncelikle yeni web kökü dizinini oluşturun:

sudo mkdir -p /path/to/new/webroot

Örnek olarak, /srv/www/mywebsite dizinini kullanacağız:

sudo mkdir -p /srv/www/mywebsite

Şimdi dosyaları kopyalayın:

sudo rsync -avz /var/www/html/ /srv/www/mywebsite/

* -a: Arşiv modu; izinleri, sahipliği, zaman damgalarını ve sembolik bağlantıları korur (rekürsif kopyalamayı da içerir).
* -v: Ayrıntılı çıktı verir, böylece hangi dosyaların kopyalandığını görebilirsiniz.
* -z: Sıkıştırma kullanır (isteğe bağlı, ancak ağ üzerinden kopyalama yaparken faydalıdır).
* /var/www/html/: Kaynak dizin (sonundaki eğik çizgi önemlidir, dizinin içeriğini kopyalar).
* /srv/www/mywebsite/: Hedef dizin.

Dosyaların başarıyla kopyalandığını doğrulamak için yeni dizinin içeriğini listeleyebilirsiniz:

ls -la /srv/www/mywebsite/

Eski dosyaları doğrudan silmek yerine, onları bir süre yedek olarak tutmak veya yeniden adlandırmak daha güvenlidir. Dosyaların yeni konumda doğru çalıştığından emin olduktan sonra eski dizini silebilirsiniz.

# Eski dizini yeniden adlandırma (güvenli yöntem)
sudo mv /var/www/html /var/www/html_old

Veya, emin olduktan sonra tamamen silme (dikkatli olun!)

sudo rm -rf /var/www/html

3. Yeni Konuma İzinleri Ayarlama

Nginx’in web sitenizin dosyalarına doğru şekilde erişebilmesi için yeni web kökü dizininin ve içerdiği dosyaların doğru sahiplik ve izinlere sahip olması gerekir. Nginx genellikle www-data kullanıcısı ve grubu altında çalışır.

Dosya sahipliğini www-data kullanıcısına ve grubuna atayın:

sudo chown -R www-data:www-data /srv/www/mywebsite

* -R: Özyinelemeli olarak, dizinin içindeki tüm dosya ve alt dizinler için sahipliği değiştirir.

Ardından, doğru dosya izinlerini ayarlayın:

sudo chmod -R 755 /srv/www/mywebsite

* -R: Özyinelemeli olarak, dizinin içindeki tüm dosya ve alt dizinler için izinleri değiştirir.
* 755: Dizinin sahibi için okuma, yazma ve çalıştırma izinleri (7), grup üyeleri ve diğerleri için okuma ve çalıştırma izinleri (5) verir. Bu, web sunucusunun dosyalara erişmesi için genellikle yeterli ve güvenli bir ayardır.

Daha kısıtlı bir izin olan 644 (sahip okuma/yazma, diğerleri sadece okuma) genellikle statik dosyalar için kullanılırken, 755 dizinler ve çalıştırılabilir betikler (örneğin PHP dosyaları) için daha uygundur.

4. Nginx Yapılandırmasını Güncelleme

Nginx’e web sitenizin dosyalarının artık yeni konumda olduğunu bildirmeniz gerekir. Bu, Nginx yapılandırma dosyalarındaki root direktifini güncelleyerek yapılır.

Genellikle, site yapılandırma dosyaları /etc/nginx/sites-available/ dizininde bulunur. Varsayılan yapılandırma dosyası default veya kendi özel yapılandırma dosyanızın adı olabilir.

Örneğin, varsayılan yapılandırma dosyasını düzenleyelim:

sudo nano /etc/nginx/sites-available/default

Bu dosyanın içinde, server bloğunun içinde root direktifini bulun. Genellikle şöyle bir satır görürsünüz:

root /var/www/html;

Bu satırı yeni web kökü yolunuzla güncelleyin:

root /srv/www/mywebsite;

Değişikliği kaydedin (Ctrl+O) ve düzenleyiciden çıkın (Ctrl+X).

Önemli Not: Eğer Nginx yapılandırmanızda alias direktifi kullanılıyorsa (genellikle bir location bloğu içinde), bu direktif root direktifinden farklı çalışır. root direktifi, URL’yi doğrudan dosya sistemindeki bir yola eşlerken, alias direktifi bir URL ön ekini kaldırır ve kalan kısmı belirtilen dizinle birleştirir. Çoğu tam web kökü taşıma senaryosunda root direktifi yeterlidir. Eğer alias kullanıyorsanız, onun da doğru yolu gösterdiğinden emin olmanız gerekir.

Birden fazla web siteniz varsa, her bir sitenin kendi yapılandırma dosyasını (örneğin /etc/nginx/sites-available/your_domain.conf) düzenlemeniz ve ilgili root direktiflerini güncellemeniz gerekecektir.

5. SELinux veya AppArmor Ayarlarını Kontrol Etme

Ubuntu 22.04 varsayılan olarak AppArmor kullanır. Bu güvenlik modülleri, Nginx’in belirli dizinlere erişimini kısıtlayabilir. Eğer Nginx’iniz yeni web köküne erişemezse, “403 Forbidden” hataları alabilirsiniz.

AppArmor:

AppArmor’ın durumunu kontrol edin:

sudo aa-status

Eğer Nginx için zorlayıcı bir profil (/usr/sbin/nginx) varsa ve yeni web kökünüz bu profil tarafından kapsanmayan bir dizindeyse, Nginx’in erişimi engellenebilir.

AppArmor profilini geçici olarak şikayet moduna almak (hata mesajlarını kaydeder ama engellemez) veya kalıcı olarak güncellemek için seçenekleriniz vardır:

* Geçici olarak şikayet moduna alma:

sudo aa-complain /usr/sbin/nginx

Bu, Nginx’in AppArmor kısıtlamalarına uymadığında hata vermesine rağmen çalışmasına izin verir. Test amaçlı kullanılabilir.
* AppArmor profilini güncelleme:
Bu, daha kalıcı ve güvenli bir çözümdür. Nginx’in AppArmor profiline yeni web kökü dizinine erişim izni eklemeniz gerekir.

sudo nano /etc/apparmor.d/usr.sbin.nginx

Bu dosyanın içinde, Nginx’in erişim izinlerini tanımlayan kurallar bulunur. Genellikle /var/www/ r, gibi satırlar görürsünüz. Yeni web kökünüz için benzer bir satır eklemeniz gerekebilir:

# Mevcut satırlara ek olarak veya değiştirerek
    /srv/www/mywebsite/ r,
    /srv/www/mywebsite/ rw, # Eğer Nginx'in bu dizine yazması gerekiyorsa (örneğin cache)

Değişiklikleri kaydettikten sonra AppArmor profillerini yeniden yükleyin:

sudo systemctl reload apparmor

Ya da daha kapsamlı bir güncelleme için aa-logprof aracını kullanabilirsiniz. Bu araç, AppArmor loglarını tarar ve size yeni kurallar önerebilir:

sudo apt install apparmor-utils
    sudo aa-logprof

aa-logprof çalıştırıldığında, Nginx’in erişemediği yeni yollarla ilgili sorular sorar ve profilinizi otomatik olarak güncellemeyi teklif eder.

SELinux (Ubuntu’da Nadir, Red Hat tabanlı sistemlerde yaygın):

Eğer sunucunuzda SELinux etkinse (Ubuntu’da varsayılan değildir), Nginx’in yeni web köküne erişebilmesi için SELinux bağlamını ayarlamanız gerekir.

SELinux durumunu kontrol edin:

sestatus

Eğer SELinux etkinse, yeni web kökü dizinine httpd_sys_content_t bağlamını uygulamanız gerekir:

sudo chcon -R -t httpd_sys_content_t /srv/www/mywebsite
sudo restorecon -R /srv/www/mywebsite

Bu komutlar, SELinux’a Nginx’in bu dizindeki dosyalara erişmesine izin verildiğini bildirir.

6. Nginx Yapılandırmasını Test Etme ve Başlatma

Yapılandırma dosyasında yaptığınız değişikliklerin bir sözdizimi hatası içermediğinden emin olmak çok önemlidir. Nginx, yapılandırmayı test etmek için özel bir komuta sahiptir.

Yapılandırmayı test edin:

sudo nginx -t

Eğer her şey doğruysa, aşağıdaki gibi bir çıktı görmelisiniz:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Herhangi bir hata mesajı alırsanız, hatayı düzeltmek için yapılandırma dosyasını tekrar kontrol edin.

Yapılandırma testi başarılı olduktan sonra Nginx hizmetini başlatın:

sudo systemctl start nginx

Nginx’in çalıştığını doğrulamak için:

sudo systemctl status nginx

Çıktıda Active: active (running) ifadesini görmelisiniz.

7. Erişimi Doğrulama

Son adım, web sitenizin yeni konumdan başarıyla sunulduğunu doğrulamaktır.

* Tarayıcıdan Kontrol: Web tarayıcınızı açın ve web sitenizin URL’sini ziyaret edin. Web sitenizin beklendiği gibi çalıştığından emin olun.
* Log Dosyalarını Kontrol Etme: Nginx hata loglarını kontrol edin. Herhangi bir “permission denied” (izin reddedildi) veya “file not found” (dosya bulunamadı) hatası olup olmadığını kontrol edin.

sudo tail -f /var/log/nginx/error.log
    sudo tail -f /var/log/nginx/access.log

Erişim logları, sitenize yapılan yeni istekleri gösterecektir.
* Test Dosyası Oluşturma: Yeni web kökünüzde basit bir HTML veya PHP dosyası oluşturarak doğru konumdan sunulduğunu teyit edebilirsiniz.

sudo nano /srv/www/mywebsite/test.html

İçine aşağıdaki içeriği ekleyin:


    
    
        Nginx Web Kökü Testi
    
    
        
        

Yeni konum: /srv/www/mywebsite

Kaydedin ve çıkın. Ardından tarayıcınızdan http://your_domain/test.html adresini ziyaret edin. Bu sayfanın görünmesi, taşıma işleminin başarılı olduğunu gösterir. Test dosyasını doğruladıktan sonra silebilirsiniz.

Ek Hususlar ve İpuçları

Web kökünü taşıma işlemi sırasında veya sonrasında dikkate almanız gereken bazı ek noktalar vardır.

Sembolik Bağlantılar (Symbolic Links) Kullanımı

Web kökünü fiziksel olarak taşımak yerine sembolik bir bağlantı (symlink) oluşturmak da bir seçenektir. Bu, Nginx yapılandırmasını değiştirmek zorunda kalmadan web dosyalarının fiziksel konumunu değiştirmenize olanak tanır.

Örneğin, dosyalarınızı /srv/www/mywebsite konumuna taşıdıktan sonra, orijinal /var/www/html dizinini yeni konuma işaret eden bir sembolik bağlantı ile değiştirebilirsiniz:

# Mevcut web kökünü yedekleyin veya silin
sudo mv /var/www/html /var/www/html_old

Yeni konuma sembolik bağlantı oluşturun

sudo ln -s /srv/www/mywebsite /var/www/html

Bu durumda, Nginx yapılandırma dosyasındaki root /var/www/html; satırını değiştirmenize gerek kalmaz, çünkü /var/www/html artık yeni konuma işaret etmektedir.

Avantajları:
* Nginx yapılandırmasını güncellemeye gerek kalmaz.
* Daha hızlı geri alma imkanı sunar (eski dizini geri taşıyarak).

Dezavantajları:
* Bazı Nginx güvenlik ayarları (örneğin disable_symlinks) sembolik bağlantıları engelleyebilir.
* Dosya sistemini denetlerken karışıklığa yol açabilir (gerçek konum nerede?).
* AppArmor/SELinux yine de yeni fiziksel konuma erişim izni gerektirebilir.

Birden Fazla Siteyi Yönetme

Eğer sunucunuzda birden fazla web sitesi barındırıyorsanız (virtual hosts), her bir site için ayrı bir yapılandırma dosyası (/etc/nginx/sites-available/your_domain.conf) ve muhtemelen ayrı bir web kökü olacaktır. Her bir sitenin web kökünü taşıdığınızda, ilgili yapılandırma dosyasındaki root direktifini güncellemeniz gerekecektir. Her site için aynı adımları tekrarlamanız yeterlidir.

Performans Etkileri

Web kökünü taşıdığınız yeni disk bölümünün performansı, web sitenizin genel hızını etkileyebilir.

* Daha Hızlı Disk: Eğer web sitenizi daha hızlı bir diske (örneğin SATA SSD’den NVMe SSD’ye) taşıdıysanız, sayfa yükleme sürelerinde iyileşme bekleyebilirsiniz.
* Daha Yavaş Disk/Ağ Depolaması: Eğer web sitenizi daha yavaş bir diske veya ağa bağlı depolama birimine (NAS/SAN) taşıdıysanız, I/O operasyonlarındaki gecikmeler nedeniyle performans düşüşleri yaşayabilirsiniz. Ağ depolaması kullanırken ağ gecikmesi de önemli bir faktör haline gelir.

Güvenlik İpuçları

* Doğru İzinler: Her zaman www-data kullanıcısı ve grubuna en az ayrıcalık ilkesiyle izinler verin. Web sunucusunun yazma iznine ihtiyacı olmayan dizinlere rw (okuma/yazma) izni vermeyin.
* Güncel Tutma: Nginx’i ve Ubuntu sisteminizi düzenli olarak güncel tutun. Bu, bilinen güvenlik açıklarına karşı korunmanıza yardımcı olur.
* Hassas Dosyalar: Veritabanı yapılandırma dosyaları, API anahtarları gibi hassas bilgileri asla web kökü içinde tutmayın. Bunlar genellikle web kökünün dışında, güvenli bir dizinde saklanmalıdır.

Geri Alma Planı

Herhangi bir sorunla karşılaşmanız durumunda, yedeklerinizi kullanarak orijinal duruma geri dönebilmeniz çok önemlidir.

1. Nginx’i Durdurun: sudo systemctl stop nginx
2. Eski Web Kökünü Geri Yükleyin: Eğer eski /var/www/html dizinini yedeklediyseniz (/var/www/html_old gibi), onu eski yerine taşıyın.

sudo rm -rf /srv/www/mywebsite # Yeni web kökünü silin
    sudo mv /var/www/html_old /var/www/html # Eski web kökünü geri taşıyın

Eğer tar ile yedeklediyseniz, yedekten geri yükleyin.
3. Nginx Yapılandırmasını Geri Yükleyin: Nginx yapılandırma dosyasındaki root direktifini orijinal haline (/var/www/html) geri çevirin veya yedekten geri yükleyin.

sudo cp /root/nginx_conf_backup_$(date +%Y%m%d).tar.gz /etc/nginx/
    # Tar dosyasını açıp ilgili dosyayı yerine koymanız gerekebilir.

4. Nginx’i Başlatın: sudo systemctl start nginx

Sorun Giderme

Taşıma işlemi sırasında veya sonrasında karşılaşabileceğiniz yaygın sorunlar ve çözümleri aşağıdadır.

“403 Forbidden” Hatası

Bu hata genellikle Nginx’in web kökü dizinine veya içerdiği dosyalara erişim izni olmadığını gösterir.

* İzinleri Kontrol Edin: Yeni web kökü dizininin ve dosyalarının www-data:www-data sahipliğine ve 755/644 izinlerine sahip olduğundan emin olun.

sudo chown -R www-data:www-data /srv/www/mywebsite
    sudo chmod -R 755 /srv/www/mywebsite

* AppArmor/SELinux: AppArmor veya SELinux’un Nginx’in yeni konuma erişimini engellemediğinden emin olun. Yukarıdaki “SELinux veya AppArmor Ayarlarını Kontrol Etme” bölümünü gözden geçirin.
* Nginx index Direktifi: Nginx yapılandırmanızda index direktifinin doğru dosyaları (örneğin index.html, index.php) içerdiğinden ve bu dosyaların yeni web kökünde mevcut olduğundan emin olun.

“404 Not Found” Hatası

Bu hata genellikle Nginx’in istenen dosyayı bulamadığını gösterir.

* Nginx root Direktifi: Nginx yapılandırma dosyasındaki root direktifinin yeni web kökü yolunu doğru bir şekilde gösterdiğinden emin olun. Herhangi bir yazım hatası olup olmadığını kontrol edin.
* Dosyaların Kopyalandığından Emin Olun: Web sitesi dosyalarının yeni konuma tam olarak kopyalandığından emin olun. ls -la /srv/www/mywebsite komutuyla kontrol edin.
* URL Yazım Hataları: Tarayıcınızda URL’yi doğru yazdığınızdan emin olun.
* try_files Direktifi: Eğer Nginx yapılandırmanızda try_files direktifi kullanılıyorsa, bu direktifin doğru yolları ve fallback mekanizmasını içerdiğinden emin olun.

Nginx Başlatılamıyor

Nginx hizmeti başlamıyorsa, genellikle yapılandırma dosyasında bir sözdizimi hatası vardır.

* Yapılandırmayı Test Edin: sudo nginx -t komutunu çalıştırın ve çıktıdaki hata mesajlarını dikkatlice okuyun. Hatanın hangi dosyada ve satırda olduğunu belirleyerek düzeltin.
* Log Dosyalarını Kontrol Edin: Nginx hata loglarına (/var/log/nginx/error.log) ve sistem loglarına (sudo journalctl -xe) bakın. Nginx’in neden başlatılamadığına dair ipuçları bulabilirsiniz.
* Port Çakışması: Nginx’in dinlemeye çalıştığı portun (genellikle 80 veya 443) başka bir servis tarafından kullanılıp kullanılmadığını kontrol edin. sudo netstat -tulnp | grep :80 gibi komutlarla kontrol edebilirsiniz.

Log Dosyalarını Kontrol Etme

Herhangi bir sorunla karşılaştığınızda, Nginx log dosyaları en iyi arkadaşınızdır:

* Erişim Logları: /var/log/nginx/access.log – Hangi isteklerin yapıldığını ve Nginx’in bunlara nasıl yanıt verdiğini (HTTP durum kodları) gösterir.
* Hata Logları: /var/log/nginx/error.log – Nginx’in karşılaştığı tüm hataları kaydeder. İzin sorunları, dosya bulunamadı hataları ve yapılandırma hataları burada görünür.

Bu log dosyalarını tail -f komutuyla canlı olarak izleyerek sorunları anında tespit edebilirsiniz:

sudo tail -f /var/log/nginx/error.log

Sonuç

Nginx web kökünü yeni bir konuma taşımak, disk alanı yönetimi, güvenlik veya performans optimizasyonu gibi birçok nedenden dolayı gerekli bir işlem olabilir. Bu rehberde açıklanan adımları dikkatlice takip ederek, web sitenizin sorunsuz bir şekilde yeni konumundan hizmet vermesini sağlayabilirsiniz.

Unutulmaması gereken en önemli noktalar:

* Yedekleme: Herhangi bir kritik sistem değişikliğinden önce mutlaka kapsamlı yedeklemeler yapın.
* Planlama: Yeni konum seçimi, izinler ve AppArmor/SELinux gibi güvenlik mekanizmalarını dikkate alarak dikkatli bir planlama yapın.
* Test Etme: Nginx yapılandırmasını test edin (nginx -t) ve taşıma işleminden sonra web sitenizin tüm işlevlerini doğrulayın.
* Log Kontrolü: Sorun giderme sırasında Nginx log dosyalarını aktif olarak kullanın.

Bu adımlarla, Ubuntu 22.04 sunucunuzda Nginx web kökünü başarıyla taşıyabilir ve sunucunuzun genel performansını ve yönetilebilirliğini artırabilirsiniz.

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.