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, catatanA
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 domaincrazytechgeek.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.