Lewati ke konten

2. Website Statis

server {
listen 80;
server_name situs.local;
root /var/www/situs-saya;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Directive Arti
listen 80 dengarkan port 80 (HTTP)
server_name domain yang dilayani block ini. Nginx memilih block berdasarkan header Host dari pengunjung
root folder tempat file website
index file yang dibuka saat pengunjung meminta sebuah folder (/)
location / aturan untuk path yang diawali / (artinya: semua)
try_files $uri $uri/ =404 cari file sesuai path, lalu folder, kalau tidak ada jawab 404

Satu server bisa melayani banyak domain sekaligus — masing-masing dengan server block dan server_name sendiri. Ini disebut virtual host.

  1. Siapkan folder dan file website:

    Terminal window
    sudo mkdir -p /var/www/situs-saya
    sudo cp index.html about.html /var/www/situs-saya/
  2. Tulis konfigurasi di sites-available:

    Terminal window
    sudo cp situs-saya.conf /etc/nginx/sites-available/situs-saya
  3. Aktifkan dengan symlink:

    Terminal window
    sudo ln -s /etc/nginx/sites-available/situs-saya /etc/nginx/sites-enabled/
  4. Selalu tes dulu, baru reload:

    Terminal window
    sudo nginx -t
    sudo systemctl reload nginx

Nginx berjalan sebagai user www-data, jadi file website harus bisa dibaca oleh “others” (644 untuk file, 755 untuk folder). Kalau tidak, pengunjung mendapat 403 Forbidden.

Lab: Menyajikan website statis
Misi 0/8
  1. Buat folder website di /var/www/situs-saya.
    Petunjuksudo mkdir -p /var/www/situs-saya
  2. Salin index.html dan about.html ke folder itu.
    Petunjuksudo cp ~/situs-saya/index.html ~/situs-saya/about.html /var/www/situs-saya/
  3. Pasang konfigurasi situs di sites-available.
    Petunjuksudo cp ~/situs-saya.conf /etc/nginx/sites-available/situs-saya
  4. Aktifkan situs dengan symlink ke sites-enabled.
    Petunjuksudo ln -s /etc/nginx/sites-available/situs-saya /etc/nginx/sites-enabled/
  5. Tes konfigurasi.
    Petunjuksudo nginx -t
  6. Terapkan konfigurasi dengan reload.
    Petunjuksudo systemctl reload nginx
  7. Buka situsmu.
    Petunjukcurl http://situs.local
  8. Buka halaman about.html.
    Petunjukcurl http://situs.local/about.html