Cara Nambahin Site / Host di Nginx UI

Setelah lu berhasil install dan jalanin Nginx UI (kayak yang kita bahas di artikel sebelumnya), sekarang waktunya bikin site baru biar Nginx bisa nge-handle domain apilaravel.test. Proses ini penting dipahami karena bakal jadi dasar buat setup domain-domain lain nantinya.

Langkah 1 Masuk ke Dashboard Nginx UI

Pertama, buka browser dan akses:

http://localhost:8080
(kalau di VPS, ganti localhost jadi IP server lu ya)

Begitu masuk, lu bakal liat tampilan dashboard-nya yang kece parah, bro. Dashboard ini bakal jadi tempat kamu ngatur semua site yang jalan di server, jadi gak ada salahnya luangin waktu bentar buat explore menu-menunya sebelum lanjut ke langkah berikutnya, biar makin familiar sama layout-nya.

Langkah 2 Bikin Server Baru

Di bagian kiri, cari menu “Hosts” atau “Sites” (tergantung versi Nginx UI-nya).
Terus klik tombol “Add” atau “+”.

Nah, nanti muncul form buat bikin konfigurasi server baru. Sebelum lanjut isi form, penting buat paham bedanya opsi Root dan Proxy: Root dipakai kalau kamu mau Nginx langsung nyajiin file statis dari folder tertentu (misal buat website HTML biasa), sedangkan Proxy dipakai kalau kamu mau Nginx nge-forward request ke aplikasi lain yang jalan di port/container berbeda, kayak API Laravel yang jalan di container terpisah. Karena kita mau nge-proxy ke aplikasi, jadi pilihan Proxy adalah yang benar buat kasus ini.

Isi kayak gini bro:

FieldIsi
Server Nameapilaravel.test
Listen Port80
Root / Proxypilih Proxy (karena kita mau nge-forward ke container lain)
Proxy Passhttp://ZeeiAPI:8000
Description (optional)Proxy ke API Laravel bro

Langkah 3 Tambah Konfigurasi Manual (Opsional)

Kalau lu pengen lebih “advance”, lu bisa klik tab “Advanced config” atau “Edit Config” terus masukin manual config-nya kayak gini:

server {
 listen 80;
 listen [::]:80;
 server_name apilaravel.test;

 location / {
 proxy_pass http://ZeeiAPI: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;
 }
}

Kalau udah, tinggal Save / Apply bro.

Tiga baris proxy_set_header di config manual itu penting banget, jangan sampai dilewatin. Tanpa header-header itu, aplikasi Laravel di belakang proxy bisa salah baca informasi request asli, misalnya IP pengunjung yang kebaca malah IP internal Docker (bukan IP pengunjung beneran), atau redirect URL yang salah karena Laravel gak tau protokol asli (HTTP/HTTPS) yang dipakai user.

Langkah 4 Reload Nginx

Abis lu save, biasanya Nginx UI langsung nge-reload otomatis.
Tapi kalo gak, gampang aja di dashboard ada tombol Restart Nginx atau Reload. Klik aja itu bro.

Langkah 5 Tes Akses

Sekarang tinggal pastiin domain apilaravel.test udah diarahin ke IP server lu (di local bisa tambahin di /etc/hosts):

sudo nano /etc/hosts

Terus tambahin baris ini di paling bawah:

127.0.0.1 apilaravel.test

Save, keluar, terus buka browser:

http://apilaravel.test

Kalau semua bener, harusnya langsung nge-redirect ke container ZeeiAPI:8000 dan nampilin API Laravel lu.

Catatan buat production: entry /etc/hosts ini cuma buat testing lokal aja. Kalau situs kamu udah mau live buat publik, kamu perlu daftarin domain beneran (bukan .test) dan arahin DNS-nya (A record) ke IP VPS kamu, bukan cuma edit file /etc/hosts di komputer sendiri. Domain .test itu memang sengaja direservasi khusus buat development lokal dan gak akan bisa diakses dari luar jaringan kamu.

Kendala yang Sering Muncul

  • 502 Bad Gateway setelah setup
    Biasanya karena container tujuan (misal ZeeiAPI:8000) belum jalan atau namanya salah ketik. Pastikan container tujuan statusnya running dan satu network Docker sama Nginx UI.
  • Domain gak kebuka sama sekali
    Cek lagi apakah baris di /etc/hosts sudah benar dan tersimpan, dan pastikan gak ada typo di server_name config.
  • Config udah di-save tapi gak ke-apply
    Coba klik manual tombol Reload/Restart Nginx di dashboard, kadang auto-reload gagal kalau ada syntax error kecil di config.
  • Port 80 udah dipakai service lain
    Kalau ada Apache atau web server lain yang masih jalan di port 80, matiin dulu atau ganti port listen-nya di config site baru ini.

Penutup

Gampang banget kan bro?
Dengan Nginx UI, nambah site baru tinggal klik-klik doang.
Gak perlu lagi buka file .conf, gak perlu reload manual dari terminal.

Jadi kalo lu punya banyak project (kayak apilaravel.test, frontend.test, dll), tinggal tambah aja satu-satu dari dashboard.
Praktis, cepet, dan gak bikin stress. Kombinasi Nginx UI buat reverse proxy management dan Docker buat container isolation ini emang cocok banget buat setup development environment yang rapi, apalagi kalau kamu sering gonta-ganti project atau kerja bareng tim yang butuh environment konsisten di banyak mesin.

Jundi Husni Mubaraq

Jundi Husni Mubaraq

Saya seorang software engineer yang sejak awal 2026 megang penuh (sendirian) tanggung jawab infrastruktur server di tempat saya kerja: deploy dan maintain server Linux Ubuntu on-premises, bangun keamanan berlapis pakai CrowdSec dan Cloudflare, kelola job scheduling dan monitoring pakai Cronicle, deploy aplikasi containerized pakai Docker, sampai ngurusin mail server korporat dari nol. Sebelumnya saya 3+ tahun jadi Software Engineer/Fullstack Developer di beberapa perusahaan, termasuk proyek skala internasional (EUDR compliance system buat Lindt & Sprungli) dan sistem rumah sakit (SIMRS, rekam medis elektronik, integrasi BPJS Kesehatan) di RS PKU Muhammadiyah Surakarta. jundi.hm ini tempat saya dokumentasiin apa yang beneran saya kerjain dan pelajarin di lapangan, bukan sekadar riset teori, S.Kom dari Universitas Duta Bangsa Surakarta jadi bekal awal, tapi yang nulis di sini adalah pengalaman langsung ngelola server production sehari-hari. Selengkapnya: https://iam.jundi.hm

Lihat Juga Nih

Selanjutnya Nih

Kasih Komentar

Email kamu gak bakal ditampilin ke publik. Kalau ada tanda ini artinya wajib diisi ya *

Rekomendasi.

Lagi Viral.