Nginx Server Block memungkinkan dalam sebuah server berjalan beberapa website sekaligus. Dengan Server Block, semua website dapat dikonfigurasi mulai dari memiliki direktori root dokumen sendiri, penggunaan sertifikat SSL untuk masing-masing website, dan masih banyak lagi.
Tutorial ini akan menunjukkan langkah dan cara membuat server block Nginx di Ubuntu 18.04 yang mirip dengan virtual host (pada Apache).
Persiapan
Pastikan beberapa hal berikut ini sudah dilakukan lebih dulu.
- Domain sudah diset mengarah ke IP server. Artikel ini akan menggunakan domain
contoh.com
- Nginx sudah terpasang. Jika belum, silahkan ikuti langkahnya pada artikel berikut.
Struktur Direktori
Berikut ini adalah struktur direktori yang akan digunakan pada artikel ini.
/var/www/
├── domain1.com
│ └── public_html
├── domain2.com
│ └── public_html
├── domain3.com
│ └── public_html
Langkah pertama adalah membuat direktori yang akan menjadi tempat menaruh semua file website nantinya. Jalankan perintah berikut.
sudo mkdir -p /var/www/contoh.com/public_html
Selanjutnya buat file index.html
yang akan menjadi halaman utama dari domain contoh.com
dengan menjalankan perintah berikut.
vi /var/www/example.com/public_html/index.html
Pada editor teks yang terbuka, salin kode dibawah ini atau silahkan gunakan kode milik sendiri.
<!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>
Simpan dan tutup editor teksnya, lalu eksekusi perintah berikut.
sudo chown -R www-data: /var/www/contoh.com
Membuat Server Block
Secara default, file konfigurasi server block dari Nginx akan disimpan di direktori /etc/nginx/sites-available
, yang kemudian akan diaktifkan lewat symbolic link (symlink) ke direktori /etc/nginx/sites-enabled/
Jalankan perintah berikut untuk membuat server block buat contoh.com
vi /etc/nginx/sites-available/contoh.com
Untuk editor teks yang terbuka, salin kode dibawah ini.
server {
listen 80;
listen [::]:80;
root /var/www/contoh.com/public_html;
index index.html;
server_name contoh.com www.contoh.com;
access_log /var/log/nginx/contoh.com.access.log;
error_log /var/log/nginx/contoh.com.error.log;
location / {
try_files $uri $uri/ =404;
}
}
Nama konfigurasi file bisa apa saja, tetapi sangat disarankan untuk menggunakan nama domain untuk server block tersebut.
Kemudian untuk mengaktifkan konfigurasi server block diatas, jalankan perintah berikut.
sudo ln -s /etc/nginx/sites-available/contoh.com /etc/nginx/sites-enabled/
Selanjutnya cek konfigurasi Nginx jika terdapat error.
sudo nginx -t
Outputnya akan terlihat seperti berikut.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Langkah terakhir adalah dengan melakukan restart Nginx.
sudo systemctl restart nginx
Silahkan cek server block yang baru dibuat berfungsi dengan baik. Caranya dengan mengakses via browser alamat http://contoh.com
Top comments (0)