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!