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 menyiapkan blok server Nginx di Debian 10.
Prasyarat #
Pastikan Anda telah memenuhi prasyarat berikut:
- Nama domain menunjuk ke IP server publik Anda.
- Nginx terinstal di sistem Debian 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.
Buat Struktur Direktori #
Akar dokumen adalah direktori tempat file situs web untuk nama domain disimpan dan disajikan sebagai tanggapan atas permintaan. Akar dokumen dapat berupa direktori mana saja di server.
Contoh dalam artikel ini menggunakan struktur direktori berikut:
/var/www/
├── domain1.com
│ └── public_html
├── domain2.com
│ └── public_html
├── domain3.com
│ └── public_html
Pada dasarnya, kami akan membuat direktori terpisah untuk setiap domain yang ingin kami host di server kami di dalam /var/www
direktori. Dalam setiap direktori ini, kami akan membuat public_html
direktori yang akan menyimpan file situs domain.
Jalankan perintah berikut untuk membuat direktori root untuk domain example.com
:
sudo mkdir -p /var/www/example.com/public_html
Selanjutnya, buat index.html
file di dalam direktori root dokumen domain:
sudo nano /var/www/example.com/public_html/index.html
Buka file dan rekatkan baris berikut:
/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 ke pengguna Nginx (www-data
):
sudo chown -R www-data: /var/www/example.com
Buat Blok Server #
Secara default, pada sistem Debian, server Nginx memblokir file konfigurasi yang disimpan di /etc/nginx/sites-available
direktori. Untuk mengaktifkan konfigurasi, Anda perlu menghubungkan file ke /etc/nginx/sites-enabled/
direktori.
Buka editor teks Anda dan buat file blok server berikut:
sudo nano /etc/nginx/sites-available/example.com.conf
/etc/nginx/sites-available/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;
}
}
File konfigurasi dapat diberi nama apa pun yang Anda inginkan, tetapi biasanya, yang terbaik adalah menggunakan nama domain.
Aktifkan file blok server baru dengan membuat tautan simbolis dari file ke sites-enabled
direktori:
sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
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
Untuk memverifikasi bahwa blok server berfungsi seperti yang diharapkan, buka http://example.com
di browser Anda, dan Anda akan melihat sesuatu seperti ini: