Juni 17, 2026
ChatGPT Image 16 Jun 2026, 18.45.07
Pelajari cara membuat Virtual Host Nginx untuk banyak domain dalam satu VPS menggunakan Server Block lengkap dengan contoh konfigurasi.


Membuat Virtual Host Nginx untuk Banyak Domain dalam Satu VPS

Mengelola beberapa website dalam satu VPS merupakan praktik yang umum dilakukan oleh administrator server, guru TKJ, developer web, maupun pengelola laboratorium komputer. Dengan memanfaatkan fitur Server Block pada Nginx, satu server dapat melayani banyak domain secara efisien tanpa perlu menambah VPS baru.

Pada artikel ini, kita akan mempelajari cara membuat beberapa website dalam satu VPS menggunakan domain contoh sekolah.local dan lab.local, lengkap dengan struktur folder serta konfigurasi yang dapat langsung diterapkan.


Apa Itu Virtual Host pada Nginx?

Virtual Host atau lebih dikenal sebagai Server Block pada Nginx adalah fitur yang memungkinkan satu web server melayani beberapa domain atau website sekaligus.

Sebagai contoh:

  • sekolah.local โ†’ Website Profil Sekolah
  • lab.local โ†’ Website Laboratorium Komputer

Kedua website tersebut berjalan pada VPS yang sama namun memiliki folder dan konfigurasi terpisah.

Keuntungan menggunakan Server Block:

  • Menghemat biaya VPS
  • Manajemen website lebih mudah
  • Isolasi konfigurasi setiap domain
  • Skalabilitas lebih baik
  • Cocok untuk lingkungan pembelajaran dan produksi

Studi Kasus

Misalkan VPS memiliki IP:

192.168.10.100

Domain yang digunakan:

sekolah.local
lab.local

Struktur direktori:

/var/www/
โ”œโ”€โ”€ sekolah.local
โ”‚   โ””โ”€โ”€ public_html
โ”‚       โ””โ”€โ”€ index.html
โ”‚
โ””โ”€โ”€ lab.local
    โ””โ”€โ”€ public_html
        โ””โ”€โ”€ index.html

Persiapan Direktori Website

Buat folder website untuk masing-masing domain.

sudo mkdir -p /var/www/sekolah.local/public_html
sudo mkdir -p /var/www/lab.local/public_html

Atur kepemilikan folder.

sudo chown -R www-data:www-data /var/www/sekolah.local
sudo chown -R www-data:www-data /var/www/lab.local

Berikan permission yang sesuai.

sudo chmod -R 755 /var/www

Membuat Halaman Uji Website

Website sekolah.local

sudo nano /var/www/sekolah.local/public_html/index.html

Isi file:

<!DOCTYPE html>
<html>
<head>
<title>Website Sekolah</title>
</head>
<body>
<h1>Selamat Datang di sekolah.local</h1>
</body>
</html>

Website lab.local

sudo nano /var/www/lab.local/public_html/index.html

Isi file:

<!DOCTYPE html>
<html>
<head>
<title>Website Laboratorium</title>
</head>
<body>
<h1>Selamat Datang di lab.local</h1>
</body>
</html>

Membuat Konfigurasi Server Block Nginx

Konfigurasi sekolah.local

Buat file konfigurasi:

sudo nano /etc/nginx/sites-available/sekolah.local

Isi konfigurasi:

server {
    listen 80;
    server_name sekolah.local www.sekolah.local;

    root /var/www/sekolah.local/public_html;
    index index.html index.htm;

    access_log /var/log/nginx/sekolah_access.log;
    error_log /var/log/nginx/sekolah_error.log;

    location / {
        try_files $uri $uri/ =404;
    }
}

Konfigurasi lab.local

sudo nano /etc/nginx/sites-available/lab.local

Isi file:

server {
    listen 80;
    server_name lab.local www.lab.local;

    root /var/www/lab.local/public_html;
    index index.html index.htm;

    access_log /var/log/nginx/lab_access.log;
    error_log /var/log/nginx/lab_error.log;

    location / {
        try_files $uri $uri/ =404;
    }
}

Mengaktifkan Server Block

Buat symbolic link:

sudo ln -s /etc/nginx/sites-available/sekolah.local /etc/nginx/sites-enabled/

sudo ln -s /etc/nginx/sites-available/lab.local /etc/nginx/sites-enabled/

Menguji Konfigurasi Nginx

Lakukan pengecekan konfigurasi.

sudo nginx -t

Jika berhasil akan muncul:

syntax is ok
test is successful

Reload layanan Nginx:

sudo systemctl reload nginx

Atau:

sudo systemctl restart nginx

Konfigurasi Hosts untuk Pengujian Lokal

Karena menggunakan domain lokal, tambahkan konfigurasi pada file hosts.

Linux

sudo nano /etc/hosts

Windows

C:\Windows\System32\drivers\etc\hosts

Tambahkan:

192.168.10.100 sekolah.local
192.168.10.100 lab.local

Simpan perubahan.


Verifikasi Hasil

Buka browser dan akses:

http://sekolah.local

Maka akan tampil:

Selamat Datang di sekolah.local

Selanjutnya:

http://lab.local

Akan tampil:

Selamat Datang di lab.local

Kedua website berjalan pada VPS yang sama namun memiliki konfigurasi terpisah.


Tips Mengelola Banyak Domain di Nginx

Gunakan Struktur Folder yang Konsisten

Contoh:

/var/www/domain/public_html

Dengan struktur yang seragam, proses maintenance menjadi lebih mudah.

Pisahkan Log Setiap Domain

Gunakan file log berbeda agar troubleshooting lebih cepat.

access_log
error_log

Gunakan SSL Let’s Encrypt

Jika domain sudah publik, segera aktifkan HTTPS menggunakan Certbot.

sudo certbot --nginx

Backup Konfigurasi Secara Berkala

Minimal backup:

  • Folder website
  • Database
  • File konfigurasi Nginx

Monitoring Resource VPS

Pantau penggunaan:

htop

atau

top

agar server tetap stabil saat jumlah website bertambah.


Kesalahan yang Sering Terjadi

Server Name Salah

Pastikan nama domain sesuai dengan yang diakses pengguna.

Permission Folder Tidak Tepat

Web server harus memiliki akses membaca file website.

Lupa Reload Nginx

Setelah mengubah konfigurasi, selalu jalankan:

sudo systemctl reload nginx

Konfigurasi Hosts Belum Ditambahkan

Untuk domain lokal, file hosts wajib dikonfigurasi.


Kesimpulan

Virtual Host Nginx atau Server Block merupakan solusi sederhana dan efisien untuk menjalankan banyak website dalam satu VPS. Dengan memisahkan folder, log, dan konfigurasi setiap domain, pengelolaan server menjadi lebih rapi dan profesional.

Melalui studi kasus menggunakan domain sekolah.local dan lab.local, kita dapat melihat bahwa satu server mampu melayani beberapa website secara bersamaan tanpa memerlukan tambahan infrastruktur.

Penerapan teknik ini sangat cocok untuk kebutuhan laboratorium jaringan, pembelajaran administrasi server, hosting internal sekolah, maupun lingkungan produksi skala kecil hingga menengah.


Frequently Asked Questions (FAQ)

1. Apa perbedaan Virtual Host dan Server Block?

Virtual Host adalah istilah umum, sedangkan Server Block adalah implementasi Virtual Host pada Nginx.

2. Apakah satu VPS bisa menampung banyak domain?

Ya. Selama resource VPS mencukupi, satu VPS dapat menjalankan puluhan hingga ratusan domain.

3. Apakah setiap domain harus memiliki IP berbeda?

Tidak. Banyak domain dapat menggunakan satu alamat IP yang sama.

4. Apakah konfigurasi ini bisa digunakan untuk website PHP?

Bisa. Tambahkan konfigurasi PHP-FPM pada masing-masing Server Block.

5. Apakah Server Block mendukung HTTPS?

Ya. Nginx dapat dikombinasikan dengan SSL/TLS menggunakan Let’s Encrypt maupun sertifikat komersial.

6. Apakah cocok digunakan untuk praktikum TKJ?

Sangat cocok karena memberikan pemahaman langsung mengenai web server dan hosting multi-domain.


“Satu server yang terkelola dengan baik dapat melayani banyak kebutuhan tanpa harus menambah biaya infrastruktur.”

Sudah berhasil membuat beberapa domain dalam satu VPS menggunakan Nginx?

Bagikan pengalaman Anda di kolom komentar. Jika artikel ini bermanfaat, jangan lupa membagikannya kepada rekan administrator server, guru TKJ, atau mahasiswa yang sedang belajar Linux Server. Subscribe untuk mendapatkan tutorial terbaru seputar Nginx, Linux, jaringan komputer, dan administrasi server lainnya.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *