Nginx, sebagai web server yang populer, menawarkan fleksibilitas yang tinggi dalam mengelola banyak situs web pada satu server. Dalam tutorial ini, kita akan mempelajari cara membuat virtual host di Nginx menggunakan sistem operasi Ubuntu.
Prasyarat
- Nginx Terpasang:
Pastikan Nginx sudah terinstal pada sistem Anda. Jika belum, gunakan perintah berikut:
sudo apt-get install nginx
Membuat Direktori Dokumen
Kita perlu membuat direktori untuk menyimpan file-file situs web kita:
sudo mkdir -p /var/www/example1
sudo mkdir -p /var/www/example2
Mengedit Konfigurasi Nginx
Konfigurasi utama Nginx biasanya berada di /etc/nginx/nginx.conf
. Namun, untuk virtual host, kita akan membuat file konfigurasi terpisah di direktori /etc/nginx/sites-available/
.
1. Buat File Konfigurasi Baru:
sudo nano /etc/nginx/sites-available/example1
Ganti example1
dengan nama konfigurasi yang Anda inginkan.
2. Tulis Konfigurasi:
server {
listen 80;
server_name example1.com www.example1.com;
root /var/www/example1;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
- listen 80: Menentukan port yang didengarkan (80 untuk HTTP).
- server_name: Menentukan nama domain yang dilayani.
- root: Menentukan direktori root untuk situs web.
- index: Menentukan file default yang akan ditampilkan jika tidak ada file spesifik yang diminta.
- location /: Konfigurasi untuk semua permintaan.
try_files
akan mencoba mencari file yang diminta, lalu direktori, dan jika tidak ditemukan akan mengembalikan status 404.
Ulangi langkah ini untuk membuat konfigurasi example2
dan seterusnya.
Mengaktifkan Konfigurasi
sudo ln -s /etc/nginx/sites-available/example1 /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/example2 /etc/nginx/sites-enabled/
Menonaktifkan Konfigurasi Default (Opsional)
Jika Anda ingin menonaktifkan konfigurasi default Nginx:
sudo unlink /etc/nginx/sites-enabled/default
Menguji dan Menjalankan Ulang Nginx
- Uji Konfigurasi:
sudo nginx -t
Jika tidak ada kesalahan, lanjutkan ke langkah berikutnya.
- Restart Nginx:
sudo systemctl restart nginx
Mengedit File Hosts
Sama seperti pada Apache, Anda perlu mengedit file hosts
untuk memetakan nama domain ke alamat IP server Anda.
Akses Situs Web
Buka browser Anda dan ketikkan nama domain yang telah Anda konfigurasikan.
Perbedaan Utama Nginx dengan Apache
- Performa: Nginx umumnya lebih cepat dan efisien dalam menangani banyak koneksi simultan, terutama untuk konten statis.
- Konfigurasi: Konfigurasi Nginx cenderung lebih ringkas dan mudah dibaca.
- Arsitektur: Nginx menggunakan arsitektur asynchronous, sedangkan Apache menggunakan arsitektur threaded.
- Fitur: Nginx lebih fokus pada kinerja dan sebagai reverse proxy, sementara Apache menawarkan lebih banyak modul dan fitur tambahan.
Kesimpulan
Dengan mengikuti langkah-langkah di atas, Anda telah berhasil membuat virtual host di Nginx. Nginx adalah pilihan yang baik untuk situs web yang membutuhkan kinerja tinggi dan fleksibilitas.
Tips Tambahan:
- SSL: Untuk mengaktifkan SSL/HTTPS, Anda perlu mendapatkan sertifikat SSL dan mengkonfigurasi Nginx untuk menggunakannya.
- Kustomisasi: Nginx menawarkan banyak direktif dan modul untuk melakukan kustomisasi lebih lanjut.
- Performa: Untuk meningkatkan performa, pertimbangkan untuk menggunakan caching, gzip compression, dan optimasi lainnya.