Nginx Dasar : #2 Menambahkan Virtual Host ( Server Blocks) Nginx
Pendahuluan
Pada panduan sebelumnya, kita sudah belajar bagaimana cara memasang Nginx pada Centos 7 dan pada panduan kedua seri Nginx Dasar, kita akan belajar menambahkan virtual host atau server blocks di Nginx
Misalnya kita punya 2 domain yaitu meja.com
dan kursi.com
dan kita ingin menautkan kedua domain tersebut dengan sebuah VPS yang kita punya, maka kita perlu membuat sebuah virtual host agar kita bisa membedakan lokasi file masing-masing untuk domain tersebut di VPS kita.
Mempersiapkan root directory
Kita perlu mempersiapkan root directory untuk masing-masing domain, biasanya default root directory nginx adalah /var/www/html
tapi kadang folder defaultnya ada di /usr/share/nginx/html
Pada pemasangan Nginx kali ini ada di /usr/share/nginx/html
sehingga saya akan membuat folder root masing-masing domain di folder tersebut.
Buat folder untuk masing-masing domain dengan perintah
sudo mkdir -p /usr/share/nginx/html/meja.com
sudo mkdir -p /usr/share/nginx/html/kursi.com
Setelah itu kita ubah hak milik folder yang baru saja kita buat agar user kita punya akses
sudo chown -R $USER:$USER /usr/share/nginx/html/kursi.com/
sudo chown -R $USER:$USER /usr/share/nginx/html/meja.com/
Kalau kita menjalankan perintah
ls -l /usr/share/nginx/html/
Maka Hasilnya akan seperti berikut, yang mana nixpoin
adalah user milik saya
drwxr-xr-x. 2 nixpoin nixpoin 6 Feb 11 16:21 kursi.com
drwxr-xr-x. 2 nixpoin nixpoin 6 Feb 11 16:22 meja.com
Lalu buat sebuah file index.html sederhana di kedua folder tersebut
nano /usr/share/nginx/html/meja.com/index.html
Lalu isikan baris html berikut
<html>
<head>
<title>meja.com</title>
</head>
<body>
<h1>ini adalah situs meja.com</h1>
</body>
</html>
Buat juga file index.html untuk situs kursi.com
nano /usr/share/nginx/html/kursi.com/index.html
Isi dengan
<html>
<head>
<title>kursi.com</title>
</head>
<body>
<h1>ini adalah situs kursi.com</h1>
</body>
</html>
Buat server blocks untuk masing-masing domain
Edit file /etc/nginx/nginx.conf
dan pastikan ada baris berikut di bagian http
include /etc/nginx/conf.d/*.conf;
Dengan menambahkan baris di atas maka semua file berextensi .conf
akan diload oleh Nginx
Lalu buat file virtual host untuk masing-masing domain di folder /etc/nginx/conf.d/
sudo nano /etc/nginx/conf.d/kursi-com.conf
Isikan baris di bawah ini
server {
listen 80;
listen [::]:80;
root /usr/share/nginx/html/kursi.com;
index index.html index.htm index.nginx-debian.html;
server_name kursi.com;
location / {
try_files $uri $uri/ =404;
}
}
Buat juga virtual host untuk domain meja.com
sudo nano /etc/nginx/conf.d/meja-com.conf
server {
listen 80;
listen [::]:80;
root /usr/share/nginx/html/meja.com;
index index.html index.htm index.nginx-debian.html;
server_name meja.com;
location / {
try_files $uri $uri/ =404;
}
}
Sekarang kita cek apakah ada kesalahan dalam konfigurasi kita
sudo nginx -t
Jika semuanya sudah benar maka hasilnya seperti
nginx: configuration file /etc/nginx/nginx.conf test is successful
Terakhir, restart Nginx dengan perintah
sudo systemctl restart nginx
Pointing Domain
Proses terakhir adalah mengarahkan domain kalian ke IPv4 VPS kalian menggunakan @ record
jika sudah maka domain kalian sudah terhubung dengan VPS, dan ketika membuka tautan domain kalian akan muncul seperti berikut
Selamat mencoba!