Skip to main content

Nginx - Web Service

1. Buat file konfigurasi baru pada direktori conf.d :

sudo nano /etc/nginx/conf.d/kevin.conf

2. Tambahkan konfigurasi dasar pada file tersebut :

server {
    listen 80;
    server_name kevin.com;
    root /var/www/kevin;
    index index.html;
}

3. Konfigurasi di atas membuat Nginx untuk :

  • Menjalankan server block pada port 80
  • Mengarahkan semua request dengan server_name example.com ke direktori /var/www/kevin
  • Menggunakan index file index.html jika ada

4. Tambahkan direktif tambahan pada server block untuk meningkatkan performa atau fitur tambahan:

  • Mematikan server signature :
server_tokens off;
  •  Menyediakan akses log :
access_log /var/log/nginx/kevin_access.log;
  • Mengaktifkan kompresi gzip :
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
  • Mengatur cache untuk static file :
location /static/ {
    expires 7d;
    add_header Cache-Control "public, max-age=604800, immutable";
}
  • Mengatur reverse proxy untuk mengakses aplikasi lain :
location /api/ {
    proxy_pass http://localhost:8000/;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}
  • Restart Nginx untuk mengaktifkan konfigurasi :
sudo systemctl restart nginx

Konfigurasi di atas dapat diubah sesuai kebutuhan dan dapat digunakan sebagai dasar untuk mengatur server lain di direktori conf.d. Pastikan untuk melakukan testing setiap kali melakukan perubahan pada konfigurasi.