OffshoreVps
Eğitimler14 Eki 20269 dk okumaYazan: OffshoreVps ekibi

Nginx ve HTTPS ile VPS üzerinde web sitesi nasıl barındırılır

Ubuntu’ya Nginx kurun, bir server bloğu oluşturun, ücretsiz bir Let's Encrypt sertifikası ekleyin ve hızlandırın. 20 dakikada canlı bir site için kopyala-yapıştır komutlar.

Paylaşımlı hosting kolaydır, ancak bir VPS size hız, root erişimi ve gürültülü komşu sorunu olmadan çalışma sunar. Bu rehber, sıfır kurulmuş bir Ubuntu 24.04 veya 22.04 sunucuyu Nginx ile yaklaşık yirmi dakikada canlı bir HTTPS web sitesine dönüştürür. Her komut olduğu gibi kopyalanabilir.

Nginx ve HTTPS ile web sitesi barındırmak için kullanılan komutları gösteren VPS üzerindeki terminal penceresi, “sudo apt update” ile başlıyor
Bu rehberde sunucunuzda çalıştıracağınız komutlardan örnekler.

Neye ihtiyacınız var

1. Nginx'i kurun

sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx

Sunucunuzun IP adresini tarayıcıda açın. Varsayılan Nginx karşılama sayfasını görmelisiniz. Görmüyorsanız güvenlik duvarınızın 80 ve 443 numaralı portlara izin verdiğini kontrol edin:

sudo ufw allow "Nginx Full"
sudo ufw status

2. Site klasörünü oluşturun

sudo mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com
echo "<h1>It works</h1>" > /var/www/example.com/html/index.html

Baştan sona example.com yerine kendi alan adınızı yazın.

Bu rehberin adımları sırasıyla: 1. Neye ihtiyacınız var; 2. 1. Nginx’i kurun; 3. 2. Site klasörünü oluşturun; 4. 4. Let’s Encrypt ile ücretsiz HTTPS ekleyin; 5. 5. Daha hızlı hale getirin; 6. Sık karşılaşılan sorunlar
Bu rehberdeki adımlar sırasıyla.

3. Bir server bloğu ekleyin

sudo nano /etc/nginx/sites-available/example.com
server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;
    root /var/www/example.com/html;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

Etkinleştirin, yapılandırmayı test edin ve yeniden yükleyin:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

4. Let's Encrypt ile ücretsiz HTTPS ekleyin

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com

Certbot server bloğunuzu düzenler, HTTP'yi HTTPS'e yönlendirir ve sertifikayı otomatik yenileyen bir zamanlayıcı kurar. Zamanlayıcıyı systemctl list-timers | grep certbot ile kontrol edin.

5. Daha hızlı hale getirin

Statik dosyalar için sıkıştırmayı ve tarayıcı önbelleğini açın. Bunu server bloğunun içine ekleyin:

gzip on;
gzip_types text/css application/javascript application/json image/svg+xml;

location ~* \.(css|js|png|jpg|jpeg|webp|svg|woff2)$ {
    expires 30d;
    add_header Cache-Control "public";
}

Ardından Nginx'i yeniden yükleyin. WordPress gibi dinamik siteler için PHP-FPM kurun ve .php isteklerini ona iletin ya da önüne bir önbellek eklentisi koyun.

Sık karşılaşılan sorunlar

  • 403 Forbidden: Nginx klasörü okuyamıyor. Sahipliği ve her üst dizinin çalıştırılabilir olduğunu kontrol edin (chmod o+x).
  • Certbot başarısız oluyor: alan adı henüz sunucuya yönlenmemiş ya da 80 numaralı port engelli.
  • Varsayılan sayfa hâlâ görünüyor: /etc/nginx/sites-enabled/default dosyasını silin ve yeniden yükleyin.