Pelajari struktur file dan direktori Nginx secara lengkap. Termasuk file konfigurasi utama, sites-available, sites-enabled, conf.d, log file, dan modul Nginx. Cocok untuk pemula dan profesional web.
Contents
1. File Konfigurasi Utama: /etc/nginx/nginx.conf
File nginx.conf adalah file konfigurasi utama Nginx. Semua pengaturan global, seperti user, worker processes, logging, dan modules berada di sini.
Contoh Struktur Dasar nginx.conf:
user www-data;
worker_processes auto;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log warn;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
💡 Tips:
- Jangan langsung mengedit file ini untuk setiap virtual host, gunakan
sites-availableuntuk konfigurasi per-domain. - Setelah mengubah konfigurasi, selalu tes dengan:
sudo nginx -t
sudo systemctl reload nginx
2. Direktori sites-available dan sites-enabled
Nginx menggunakan struktur modular untuk virtual host:
sites-available/→ Tempat menyimpan konfigurasi virtual host yang tersedia.sites-enabled/→ Hanya berisi symlink ke konfigurasi disites-availableyang ingin diaktifkan.
Contoh:
/etc/nginx/sites-available/example.com
/etc/nginx/sites-enabled/example.com -> ../sites-available/example.com
💡 Tips SEO:
- Memisahkan konfigurasi ini memudahkan manajemen banyak domain.
- Aktifkan site dengan perintah:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo systemctl reload nginx
3. Direktori conf.d
Direktori conf.d/ digunakan untuk konfigurasi tambahan yang bersifat modular, misal:
- Redirect HTTP ke HTTPS
- Load balancing
- Proxy pass untuk aplikasi backend
File di dalam conf.d biasanya berakhiran .conf dan otomatis dimuat oleh Nginx saat startup.
4. Log File Nginx: access.log dan error.log
Nginx mencatat aktivitas server di log file, sangat berguna untuk monitoring dan troubleshooting.
| Log File | Fungsi |
|---|---|
/var/log/nginx/access.log | Mencatat semua request dari pengguna (IP, URL, status code) |
/var/log/nginx/error.log | Mencatat error saat server atau aplikasi gagal merespon |
💡 Tips:
- Gunakan log rotation agar file log tidak membengkak.
- Analisis access log untuk melihat pola trafik dan mendeteksi serangan.
5. Modul Nginx
Nginx dibangun modular, memungkinkan menambahkan fungsionalitas sesuai kebutuhan. Modul utama Nginx dibagi menjadi:
- Core Module: Fungsi dasar server, seperti manajemen proses, koneksi, dan logging.
- HTTP Module: Mendukung HTTP server, reverse proxy, caching, compression, dan virtual host.
- Mail Module: Mendukung protokol mail (SMTP, IMAP, POP3) sebagai proxy mail.
- Stream Module: Mendukung TCP/UDP proxy, load balancing untuk aplikasi non-HTTP.
💡 Tips SEO:
- Modul HTTP adalah yang paling sering digunakan untuk website dan aplikasi web.
- Modul tambahan bisa dikompilasi secara custom sesuai kebutuhan.
Kesimpulan
Struktur file dan direktori Nginx sangat modular dan terorganisir:
nginx.conf→ konfigurasi globalsites-available&sites-enabled→ konfigurasi virtual host per-domainconf.d→ konfigurasi tambahan/modularaccess.log&error.log→ monitoring dan troubleshooting- Modul Nginx → menambah fungsionalitas sesuai kebutuhan
Memahami struktur ini adalah langkah penting sebelum mulai konfigurasi virtual host, reverse proxy, atau load balancing.