Siapkan Blok Server Nginx (Host Virtual) di CentOS/RHEL 8


Blok server Nginx setara dengan host virtual Apache dan memungkinkan Anda menghosting lebih dari satu domain atau situs web di server Anda.

Dalam artikel ini, Anda akan mempelajari cara menyiapkan blok server Nginx (host virtual) di CentOS 8 dan RHEL 8 Linux.

Prasyarat:

  • Catatan A untuk domain Anda. Secara sederhana, catatan A mengacu pada entri DNS di mana nama domain diarahkan ke IP Publik server, dalam hal ini server web Nginx. Sepanjang panduan ini, kami akan menggunakan nama domain crazytechgeek.info.
  • Server Nginx atau LEMP Stack diinstal pada instance CentOS 8 atau RHEL 8.
  • Pengguna login dengan hak istimewa Sudo.

Mari kita mulai!

Langkah 1: Buat Direktori Root Dokumen Nginx

Langsung saja, Anda perlu membuat direktori root web khusus untuk domain yang ingin Anda host. Untuk kasus kita, kita akan membuat direktori seperti yang ditunjukkan menggunakan opsi mkdir -p untuk membuat semua direktori induk yang diperlukan:

sudo mkdir -p /var/www/crazytechgeek.info/html

Setelah itu tetapkan izin direktori menggunakan variabel lingkungan $USER. Saat Anda melakukannya, pastikan Anda masuk sebagai pengguna biasa dan bukan pengguna root.

sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

Selanjutnya, tetapkan izin direktori yang tepat secara rekursif seperti yang ditunjukkan:

sudo chmod -R 755 /var/www/crazytechgeek.info/html

Langkah 2: Buat Halaman Contoh untuk Domain

Selanjutnya, kita akan membuat file index.html di dalam direktori root web khusus yang akan dilayani oleh domain setelah permintaan dibuat.

sudo vim /var/www/crazytechgeek.info/html/index.html

Di dalam file, tempelkan contoh konten berikut.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
  <h1>Awesome! Your Nginx server block is working!</h1>
    </body>
</html>

Simpan dan keluar dari file konfigurasi.

Langkah 3: Buat Blok Server Nginx di CentOS

Agar server web Nginx menyajikan konten dalam file index.html yang kita buat pada langkah 2, kita perlu membuat file blok server dengan arahan yang sesuai. Oleh karena itu, kami akan membuat blok server baru di:

sudo vim /etc/nginx/conf.d/crazytechgeek.info.conf

Selanjutnya pastekan konfigurasi yang muncul di bawah ini.

server {
        listen 80;
        listen [::]:80;

        root /var/www/crazytechgeek.info/html;
        index index.html index.htm index.nginx-debian.html;

        server_name crazytechgeek.info www.crazytechgeek.info;

        location / {
                try_files $uri $uri/ =404;
        }

		
    access_log /var/log/nginx/crazytechgeek.info.access.log;
    error_log /var/log/nginx/crazytechgeek.info.error.log;

}

Setelah selesai, simpan perubahan dan keluar dari file konfigurasi. Untuk mengonfirmasi bahwa semua konfigurasi Nginx baik dan bebas kesalahan, jalankan perintah:

sudo nginx -t

Output di bawah ini seharusnya merupakan konfirmasi bahwa Anda siap melakukannya!

Terakhir, restart server web Nginx Anda dan konfirmasikan bahwa server tersebut berjalan sesuai harapan:

sudo systemctl restart nginx
sudo systemctl status nginx

Langkah 4: Menguji Blok Server Nginx di CentOS

Kita semua sudah selesai dengan konfigurasinya. Satu-satunya bagian yang tersisa adalah mengonfirmasi apakah blok server kami menyajikan konten di direktori root web yang ditentukan sebelumnya di file index.html.

Untuk melakukan ini, cukup buka browser Anda dan buka domain server Anda seperti yang ditunjukkan:

http://domain-name

Seperti yang diamati, konten kami disajikan oleh blok server, yang merupakan indikasi jelas bahwa semuanya berjalan dengan baik.

Langkah 5: Aktifkan HTTPS pada Domain yang Dihosting di Nginx

Anda dapat mempertimbangkan untuk mengenkripsi domain Anda menggunakan Lets Encrypt SSL untuk menambahkan lapisan perlindungan dan mengamankan lalu lintas ke dan dari server web.

sudo dnf install certbot python3-certbot-nginx
sudo certbot --nginx

Untuk mengonfirmasi bahwa domain Anda dikonfigurasi dengan benar di HTTPS, kunjungi https://yourwebsite.com/ di browser Anda dan cari ikon gembok di bilah URL.

Kesimpulan

Kami telah berhasil menyiapkan blok server Nginx di CentOS 8 dan RHEL 8. Anda dapat mengulangi hal yang sama untuk beberapa domain menggunakan prosedur yang sama.