Blok server adalah arahan Nginx yang mendefinisikan pengaturan untuk domain tertentu, memungkinkan Anda menjalankan lebih dari satu situs web di satu server. Untuk setiap situs web, Anda dapat mengatur root dokumen situs (direktori yang berisi file situs web), membuat kebijakan keamanan terpisah, menggunakan sertifikat SSL yang berbeda, dan banyak lagi.
Artikel ini menjelaskan cara mengatur blok server Nginx di CentOS 8.
Prasyarat #
Pastikan Anda telah memenuhi persyaratan berikut sebelum melanjutkan dengan tutorial ini:
- Nama domain menunjuk ke IP server publik Anda.
- Nginx terinstal di sistem CentOS Anda.
- Anda masuk sebagai root atau pengguna dengan hak istimewa sudo.
Dalam beberapa dokumentasi, istilah Server Blocks
disebut sebagai Virtual host
.Host virtual adalah istilah Apache.
Membuat Struktur Direktori #
Akar dokumen adalah direktori tempat file situs web untuk nama domain disimpan dan disajikan sebagai tanggapan atas permintaan. Akar dokumen dapat diatur ke lokasi mana pun yang Anda inginkan.
Kami akan menggunakan struktur direktori berikut:
/var/www/
├── example.com
│ └── public_html
├── example2.com
│ └── public_html
├── example3.com
│ └── public_html
Untuk setiap domain yang akan dihosting di server, kami akan membuat direktori terpisah di dalam /var/www
. Di dalam direktori domain, kita akan membuat public_html
direktori yang akan menjadi direktori root dokumen domain dan akan menyimpan file situs web domain.
Mari kita mulai dengan membuat direktori root untuk domain example.com
:
sudo mkdir -p /var/www/example.com/public_html
Untuk tujuan pengujian, buat index.html
file di dalam direktori root dokumen domain:
sudo nano /var/www/example.com/public_html/index.html
Salin dan tempel kode berikut ke dalam file:
/var/www/example.com/public_html/index.html<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Welcome to example.com</title>
</head>
<body>
<h1>Success! example.com home page!</h1>
</body>
</html>
Untuk menghindari masalah izin, ubah kepemilikan direktori root dokumen domain menjadi pengguna nginx
:
sudo chown -R nginx: /var/www/example.com
Membuat Blok Server #
Secara default pada CentOS, file konfigurasi blok server Nginx harus diakhiri dengan .conf
dan disimpan di /etc/nginx/conf.d
direktori.
Buka editor teks Anda dan buat file konfigurasi untuk domain:
sudo nano /etc/nginx/conf.d/example.com.conf
File konfigurasi dapat diberi nama apa pun yang Anda inginkan, tetapi biasanya, yang terbaik adalah menggunakan nama domain.
Salin dan tempel kode berikut ke dalam file:
/etc/nginx/conf.d/example.com.confserver {
listen 80;
listen [::]:80;
root /var/www/example.com/public_html;
index index.html;
server_name example.com www.example.com;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location / {
try_files $uri $uri/ =404;
}
}
Simpan file dan periksa konfigurasi Nginx untuk kesalahan sintaks:
sudo nginx -t
Jika tidak ada error maka outputnya akan seperti ini:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Mulai ulang layanan Nginx agar perubahan diterapkan:
sudo systemctl restart nginx
Terakhir, untuk memverifikasi apakah blok server berfungsi seperti yang diharapkan, buka http://example.com
di browser pilihan Anda, dan Anda akan melihat sesuatu seperti ini: