Blok Server Nginx memungkinkan Anda menjalankan lebih dari satu situs web di satu mesin. Ini berguna karena untuk setiap situs Anda dapat menentukan root dokumen situs (direktori yang berisi file situs web), membuat kebijakan keamanan terpisah, menggunakan sertifikat SSL yang berbeda, dan banyak lagi.
Dalam tutorial ini, kami akan menjelaskan cara mengatur blok server Nginx di CentOS 7.
Prasyarat #
Pastikan Anda telah memenuhi prasyarat berikut sebelum melanjutkan tutorial ini:
- Nama domain yang menunjuk ke IP server publik Anda. Kami akan menggunakan
example.com
. - Nginx terinstal di sistem CentOS Anda.
- Masuk sebagai root atau pengguna dengan hak istimewa sudo.
Server Blocks
disebut sebagai Virtual host
.Sebuah host virtual adalah istilah Apache. Buat Struktur Direktori #
Akar dokumen adalah direktori tempat file situs web untuk nama domain disimpan dan disajikan sebagai tanggapan atas permintaan. Kami dapat mengatur root dokumen 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
Pada dasarnya kami membuat direktori terpisah untuk setiap domain yang ingin kami host di server kami di dalam /var/www
direktori. Di dalam direktori ini, 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 kita example.com
:
sudo mkdir -p /var/www/example.com/public_html
Untuk tujuan pengujian, kami akan membuat index.html
file di dalam direktori root dokumen domain.
Buka editor teks Anda dan buat demo index.html
berkas:
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>
Dalam contoh ini, kita menjalankan perintah sebagai pengguna sudo dan file serta direktori yang baru dibuat dimiliki oleh pengguna root.
Untuk menghindari masalah izin, ubah kepemilikan direktori root dokumen domain ke pengguna Nginx (nginx
):
sudo chown -R nginx: /var/www/example.com
Buat Blok Server #
File konfigurasi blok server Nginx harus diakhiri dengan .conf
dan disimpan di /etc/nginx/conf.d
direktori.
Buka editor pilihan Anda dan buat file konfigurasi blok server untuk example.com
.
sudo nano /etc/nginx/conf.d/example.com.conf
Anda dapat memberi nama file konfigurasi sesuai keinginan. 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 uji konfigurasi Nginx untuk sintaks yang benar:
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 bahwa blok server berfungsi seperti yang diharapkan, buka http://example.com
di browser pilihan Anda, dan Anda akan melihat sesuatu seperti ini: