Pengenalan

Server Block hampir sama dengan Virtual Host yang ada di Apache Web Server.

Dimana berfungsi sebagai server_name artinya dapat mendefinisikan konfigurasi website Anda masing - masing. Jika Anda mempunyai layanan Cloud ataupun VM dan Anda ingin menghosting domain.com beserta sub.domain.com di dalam layanan Cloud ataupun VM hal tersebut dapat di lakukan dengan cara menggunakan Server Block di web server Nginx. Secara default untuk konfigurasi server block Nginx berada di /etc/nginx/conf.d/

Membuat Server Block

Untuk mengikuti panduan ini kiranya Anda sudah melakukan instalasi Nginx, jika belum dapat mengikuti panduan berikut

Skema yang saya buat dalam membuat server block kali ini sebagai berikut:

[[email protected] ~]#
[[email protected] ~]# mkdir -p /var/www/server-block.nurhamim.net/public_html
[[email protected] ~]# mkdir -p /var/www/server-block-01.nurhamim.net/public_html
[[email protected] ~]# mkdir -p /var/www/server-block-02.nurhamim.net/public_html
[[email protected] ~]# 
[[email protected] ~]# tree /var/www/
/var/www/
├── server-block-01.nurhamim.net
│   └── public_html
├── server-block-02.nurhamim.net
│   └── public_html
└── server-block.nurhamim.net   
    └── public_html

6 directories, 0 files
[[email protected] ~]# 

Keterangan:

Terdapat 3 subdomain diantaranya:

  1. server-block.nurhamim.net
  2. server-block-01.nurhamim.net
  3. server-block-02.nurhamim.net

Dimana setiap subdomain diatas akan menampilkan isi yang berbeda, dan data website masing - masing subdomain juga berbeda.

Silakan menuju ke direktori /etc/nginx/conf.d dan membuat server block masing - masing sub domain diatas sebagai berikut

[[email protected] ~]# cd /etc/nginx/conf.d/
[[email protected] conf.d]# 

Untuk penamaan server block disini akan kami sesuaikan dengan nama subdomainnya masing - masing sebagai contoh server block untuk subdomain server-block-nurhamim.net

[[email protected] conf.d]# 
[[email protected] conf.d]# vim server-block.nurhamim.net.conf

Isi dengan konfigurasi server block berikut

server {
    listen 80;
    # listen [::]:80;
        
    root /var/www/server-block.nurhamim.net/public_html;
        
    index index.html;
        
    server_name server-block.nurhamim.net;
        
    access_log /var/log/nginx/server-block.nurhamim.net.access.log;
    error_log /var/log/nginx/server-block.nurhamim.net.error.log;
        
    location / {
        try_files $uri $uri/ =404;
    }   
}      

Memastikan konfigurasi nginx tidak terdapat mis ataupun error sebagai berikut

[[email protected] conf.d]# 
[[email protected] conf.d]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok  
nginx: configuration file /etc/nginx/nginx.conf test is successful
[[email protected] conf.d]# 

Disini masing - masing subdomain akan diisikan script html sebagai contoh saja, silakan pindah ke direktori subdomain ataupun domain Anda masing - masing

[[email protected] conf.d]# 
[[email protected] conf.d]# cd /var/www/server-block.nurhamim.net/public_html/
[[email protected] public_html]#  vim index.html

Berikut isi file html nya

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title>Selamat Datang Di [nurhamim.net]</title>
  </head>
  <body> 
    <h1>Success! server-block.nurhamim.net [NGINX] Server Block Home Page!</h1>
  </body>
</html> 

Langkah selanjutnya memberikan hak owner pada masing - masing root direktori subdomain ataupun domain Anda

[[email protected] ~]#
[[email protected] ~]# chown -R nginx: /var/www/server-block.nurhamim.net/

Langkah terkahir melakukan restart pada web server Nginx

[[email protected] ~]# systemctl restart nginx
[[email protected] ~]#

Sebelum Anda mengakses subdomain ataupun domain yang sudah di tentukan sebelumnya di server_name disisi server block pastikan Anda telah melakukan pointing A record subdomain atau domain tersebut ke IP ataupun server Anda seperti berikut

Berikut hasil dari masing - masing subdomain diatas

  • server-block.nurhamim.net

  • server-block-01.nurhamim.net

  • server-block-02.nurhamim.net

Sekian tutorial terkait bagaimana cara membuat server nginx di CentOS 8.

Selamat mencoba semoga bermanfaat 👌

See You 😃