# Linux sunucuya web sitesi (Nginx) nasıl kurulur?

https://kervanhosting.com/bilgi-bankasi/makale/linux-sunucuya-web-sitesi-nginx-nasil-kurulur

Nginx, dünyada en çok kullanılan web sunucularından biridir; hafiftir, hızlıdır ve statik siteler, PHP uygulamaları ve ters proxy olarak kullanılabilir. Aşağıdaki adımlar Ubuntu 24.04 ve Debian 12 içindir; sonunda alan adınızla açılan basit bir siteniz olur.

## 1. Kurulum

```
sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx
systemctl status nginx --no-pager
```

Kurulum bitince sunucunun IP adresini tarayıcıda açın; "Welcome to nginx!" sayfasını görmelisiniz. Görmüyorsanız güvenlik duvarında 80 numaralı port kapalı olabilir: `sudo ufw allow 'Nginx Full'` (80 ve 443'ü açar). Panelin güvenlik duvarı aracında özel kural varsa orada da izin verin: [UFW rehberi](https://kervanhosting.com/bilgi-bankasi/makale/ufw-ile-port-acma-ve-kapatma-ubuntu-guvenlik-duvari).

## 2. Site klasörü ve ilk sayfa

```
sudo mkdir -p /var/www/ornek.com/public
echo "<h1>Merhaba</h1>" | sudo tee /var/www/ornek.com/public/index.html
sudo chown -R www-data:www-data /var/www/ornek.com
```

Sahiplik ve izinler önemlidir; sorun yaşarsanız: [dosya izinleri](https://kervanhosting.com/bilgi-bankasi/makale/linux-dosya-izinleri-chmod-chown-rakamlari-ve-sorunlari).

## 3. Server block (site ayarı)

`/etc/nginx/sites-available/ornek.com` dosyasını oluşturun:

```
server {
    listen 80;
    server_name ornek.com www.ornek.com;
    root /var/www/ornek.com/public;
    index index.html;
    location / {
        try_files $uri $uri/ =404;
    }
}
```

Etkinleştirmek için bağlantı verin, ayarı sınayın ve yeniden yükleyin:

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

`nginx -t` hata verirse yeniden yüklemeyin; mesaj dosya ve satır numarasını söyler. Birden fazla site eklemek için aynı yöntemi tekrarlayın: [birden fazla site](https://kervanhosting.com/bilgi-bankasi/makale/nginx-ile-birden-fazla-web-sitesi-server-block-sanal-host).

## 4. Alan adını yönlendirin

Alan adınızın A kaydını sunucunun IP adresine yönlendirin: [alan adı yönlendirme](https://kervanhosting.com/bilgi-bankasi/makale/alan-adimi-sunucuma-sitemde-nasil-yonlendiririm). DNS yayılınca `ornek.com` adresi sayfanızı gösterir: [DNS yayılma süresi](https://kervanhosting.com/bilgi-bankasi/makale/dns-degisikligi-ne-kadar-surede-yayilir).

## 5. https

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

Certbot sertifikayı alır, Nginx ayarına ekler ve yönlendirme seçeneği sunar: [ücretsiz SSL](https://kervanhosting.com/bilgi-bankasi/makale/siteme-ucretsiz-ssl-https-nasil-eklerim). Sorun çıkarsa: [Certbot hataları](https://kervanhosting.com/bilgi-bankasi/makale/certbot-challenge-failed-hatasi-ve-yenileme-sorunlari).

## 6. PHP ya da uygulama eklemek

- PHP siteleri için PHP-FPM ve Nginx bağlantısı: [WordPress ve PHP (LEMP)](https://kervanhosting.com/bilgi-bankasi/makale/wordpress-vds-kurulumu-nginx-php-mariadb-lemp).
- Node.js ya da Python uygulaması için ters proxy: [Nginx ters proxy](https://kervanhosting.com/bilgi-bankasi/makale/nginx-reverse-proxy-node-js-uygulamasini-nginx-arkasinda-yayinlama).

## Sık sorunlar

- **Sayfa açılmıyor:** Güvenlik duvarı, DNS ya da `server_name` yanlış: [sitem açılmıyor](https://kervanhosting.com/bilgi-bankasi/makale/sitem-acilmiyor-adim-adim-kontrol-listesi).
- **403 Forbidden:** [403 nedenleri](https://kervanhosting.com/bilgi-bankasi/makale/nginx-403-forbidden-hatasi-nedenleri-ve-cozumu).
- **Nginx başlamıyor (port kullanımda):** [address already in use](https://kervanhosting.com/bilgi-bankasi/makale/nginx-bind-address-already-in-use-80-portu-kullaniliyor).
- **Günlükler:** `/var/log/nginx/error.log` ve `access.log`: [günlük okuma](https://kervanhosting.com/bilgi-bankasi/makale/nginx-erisim-gunlugunu-okuma-en-cok-istek-yapan-ip-ler).

Kendi sunucusunu yönetmek istemeyenler için [web hosting](https://kervanhosting.com/web-hosting) hazır panelli bir seçenektir. Sunucu: [Linux VDS](https://kervanhosting.com/linux-vds).

## Sık sorulanlar

### Nginx mi Apache mi?

İkisi de iş görür. Nginx daha az bellek kullanır ve ters proxy olarak çok başarılıdır. Apache'ye özel .htaccess kurallarına bağımlı bir yazılımınız varsa Apache gerekebilir.

### Ayarı değiştirince siteyi kapatır mıyım?

`reload` çalışan bağlantıları kesmeden yeni ayarı uygular; `restart` süreci yeniden başlatır. Her zaman önce `nginx -t` ile sınayıp `reload` kullanın.

### Varsayılan Nginx sayfasını kaldırmalı mıyım?

Kendi sitenizi yayınladıktan sonra `sudo rm /etc/nginx/sites-enabled/default` ile kaldırın; böylece IP adresiyle girenler karşılama sayfasını görmez.

**İlgili makaleler**

- [Nginx ile tek sunucuda birden fazla web sitesi (server block)](https://kervanhosting.com/bilgi-bankasi/makale/nginx-ile-birden-fazla-web-sitesi-server-block-sanal-host)
- [Siteme ücretsiz SSL (https) nasıl eklerim?](https://kervanhosting.com/bilgi-bankasi/makale/siteme-ucretsiz-ssl-https-nasil-eklerim)
- [WordPress'i VDS'e kurma: Nginx, PHP ve MariaDB (LEMP) adım adım](https://kervanhosting.com/bilgi-bankasi/makale/wordpress-vds-kurulumu-nginx-php-mariadb-lemp)

*Sorununuz çözülmediyse [destek talebi açın](https://kervanhosting.com/destek-taleplerim). Hangi adımı denediğinizi ve ekranda ne gördüğünüzü yazarsanız çözüm çok daha hızlı olur.*
