Cara Konfigurasi Virtual Hosts di NGINX
Halo, teman-teman! Kali ini kita bakal bahas gimana caranya konfigurasi virtual hosts di NGINX. Virtual hosts itu kayak rumah-rumahan buat website kamu di server. Jadi, satu server bisa nampung banyak website dengan domain yang beda-beda. Keren, kan? Yuk, langsung aja kita mulai!
1. Persiapan Awal
Pertama, pastiin dulu kamu udah punya NGINX terinstall di servernya. Kalo belum, kamu bisa install pake perintah:
sudo apt update
sudo apt install nginx
Setelah itu, pastiin juga kamu udah punya domain atau subdomain yang mau dipake. Misalnya, kita punya dua website: website1.com
dan website2.com
.
2. Buat Direktori untuk Website
Setiap website butuh tempat buat nyimpen file-file mereka. Kita bisa bikin direktori khusus buat masing-masing website. Biasanya, direktori ini ditaruh di /var/www/
.
sudo mkdir -p /var/www/website1.com/html
sudo mkdir -p /var/www/website2.com/html
Jangan lupa kasih izin yang bener ke direktori tersebut:
sudo chown -R $USER:$USER /var/www/website1.com/html
sudo chown -R $USER:$USER /var/www/website2.com/html
sudo chmod -R 755 /var/www
3. Buat File HTML Sederhana
Biar lebih seru, kita bikin file HTML sederhana buat masing-masing website. Misalnya, buat website1.com
:
nano /var/www/website1.com/html/index.html
Isi file-nya:
<html>
<head>
<title>Welcome to Website1!</title>
</head>
<body>
<h1>Halo! Ini website1.com</h1>
</body>
</html>
Lakukan hal yang sama buat website2.com
:
nano /var/www/website2.com/html/index.html
Isi file-nya:
<html>
<head>
<title>Welcome to Website2!</title>
</head>
<body>
<h1>Halo! Ini website2.com</h1>
</body>
</html>
4. Buat File Konfigurasi Virtual Host
Sekarang, kita bikin file konfigurasi buat masing-masing website di NGINX. File konfigurasi ini biasanya ditaruh di /etc/nginx/sites-available/
.
Buat website1.com
:
sudo nano /etc/nginx/sites-available/website1.com
Isi file-nya:
server {
listen 80;
listen [::]:80;
root /var/www/website1.com/html;
index index.html index.htm index.nginx-debian.html;
server_name website1.com www.website1.com;
location / {
try_files $uri $uri/ =404;
}
}
Buat website2.com
:
sudo nano /etc/nginx/sites-available/website2.com
Isi file-nya:
server {
listen 80;
listen [::]:80;
root /var/www/website2.com/html;
index index.html index.htm index.nginx-debian.html;
server_name website2.com www.website2.com;
location / {
try_files $uri $uri/ =404;
}
}
5. Aktifkan Virtual Host
Setelah bikin file konfigurasi, kita perlu aktifin virtual host tersebut. Caranya, bikin symlink dari sites-available
ke sites-enabled
.
sudo ln -s /etc/nginx/sites-available/website1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/website2.com /etc/nginx/sites-enabled/
6. Test Konfigurasi dan Restart NGINX
Sebelum restart NGINX, kita test dulu konfigurasinya bener atau nggak:
sudo nginx -t
Kalo keluar pesan syntax is okay
dan test is successful
, berarti konfigurasi kita bener. Selanjutnya, restart NGINX:
sudo systemctl restart nginx
7. Uji Coba
Terakhir, buka browser dan coba akses website1.com
dan website2.com
. Kalo semua berjalan lancar, kamu bakal liat halaman HTML yang udah kita bikin tadi.
Gampang, kan? Sekarang kamu udah bisa ngehost banyak website di satu server pake NGINX. Selamat mencoba!