Pendahuluan
Blok Server, sering disebut sebagai host virtual Nginx adalah fitur server web Nginx yang memungkinkan Anda meng-host beberapa situs web di satu server. Berbeda dengan menyiapkan dan mengonfigurasi server untuk setiap domain, menghosting sejumlah situs web pada satu mesin menghemat waktu dan uang.
Domain terisolasi dan independen, masing-masing memiliki:
- Direktori untuk dokumentasi situs
- Kebijakan keamanan situs web
- Sertifikat SSL
Dalam tutorial ini, pelajari cara menyiapkan blok server Nginx dan mengonfigurasi file host lokal di CentOS 7.
Prasyarat
- Server atau VM yang dikelola sendiri oleh CentOS
- Nginx terinstal di sistem
- Pengguna dengan sudo hak istimewa
Menyiapkan Virtual Host / Server Blocks di CentOS
Langkah 1:Buat Struktur Direktori
Host virtual Nginx dapat mengembangkan banyak situs web pada satu mesin. Karena setiap situs web memiliki dokumentasi situs individual, Anda perlu membuat struktur direktori individual untuk menyimpan data.
Setiap blok server harus memiliki direktori di dalam root dokumen (/var/www direktori).
Panduan ini menunjukkan cara membuat host virtual untuk dua server (website1.com dan website2.com ). Anda dapat menyesuaikan konfigurasi dan menyesuaikan sumber daya Anda masing-masing.
1. Mulailah dengan menggunakan perintah berikut untuk membuat folder di dalam /var/www direktori dengan perintah:
sudo mkdir -p /var/www/website1.com/html
2. Kemudian, buat satu untuk situs web kedua dengan mengetik:
sudo mkdir -p /var/www/website2.com/html
3. Selanjutnya, ubah kepemilikan file sehingga pengguna lain dapat menambah, menghapus, atau mengubah file dalam direktori. Akibatnya, kedua direktori akan menjadi milik pengguna yang Anda masuki.
4. Gunakan perintah chown ubah kepemilikan file:
sudo chown -R $USER:$USER /var/www/website1.com/html
5. Ulangi proses untuk direktori web kedua (pastikan untuk mengubah nama domain) dengan mengetik:
sudo chown -R $USER:$USER /var/www/website2.com/html
6. Terakhir, berikan izin membaca ke semua file di dalam direktori /var/www menggunakan chmod
perintah:
sudo chmod -R 755 /var/www
Langkah 2:Buat Halaman Demo untuk Virtual Host
Langkah selanjutnya adalah membuat konten yang ingin Anda tampilkan di situs web yang dihosting di blok server Nginx. Cara termudah untuk mengilustrasikan prosesnya adalah dengan membuat index.html halaman untuk dua domain yang disebutkan sebelumnya.
1. Gunakan editor teks Linux pilihan Anda untuk membuat dan membuka file index.html untuk situs web pertama. Dalam contoh ini, kami menggunakan Vi (tetapi Nano atau lainnya juga berfungsi dengan baik):
vi /var/www/website1.com/html/index.html
2. Setelah halaman Vi kosong terbuka, tekan i (untuk menyisipkan) dan tambahkan konten berikut:
<html>
<head>
<title>Welcome to our first website!</title>
<head>
<body>
<h1>Great work! You have created the website1.com server block.</h1>
<body>
<html>
3. Kemudian, simpan dan keluar dari file pertama.
4. Ulangi langkah untuk domain kedua. Namun, ingatlah untuk mengubah nama file menjadi website2 :
vi /var/www/website2.com/html/index.html
Juga, tambahkan konten yang mirip dengan langkah sebelumnya, tetapi ubah spesifikasinya agar sesuai dengan domain kedua:
<html>
<head>
<title>Welcome to our second website!</title>
<head>
<body>
<h1>Great work! You have created the website2.com server block.</h1>
<body>
<html>
Sekali lagi, simpan dan keluar dari file.
Langkah 3:Siapkan Lingkungan untuk File Blokir Server
Sebelum kita menyiapkan host virtual untuk dua domain, kita perlu membuat dua direktori:
- Situs-tersedia direktori untuk menyimpan blok server.
- Situs diaktifkan direktori yang akan memberi tahu Nginx tautan mana yang akan dipublikasikan dan blok mana yang membagikan konten dengan pengunjung.
1. Gunakan mkdir
perintah untuk membuat direktori baru menggunakan perintah:
sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled
2. Kemudian, buka file konfigurasi Nginx dan ubah dengan menambahkan direktori yang mendukung situs:
sudo vi /etc/nginx/nginx.conf
3. Di dalam blok http, tambahkan dua baris berikut:
include /etc/nginx/sites-enabled/*.conf
server_names_hash_bucket_size 64;
Sementara baris pertama menginstruksikan Nginx untuk memeriksa direktori yang mendukung situs, baris kedua meningkatkan jumlah memori yang dicadangkan untuk memeriksa beberapa nama domain.
4. Simpan file dan keluar.
5. Verifikasi file konfigurasi Nginx setelah melakukan perubahan apa pun untuk memastikan sintaksnya benar. Melakukannya dapat membantu menghindari kemungkinan kesalahan di masa mendatang.
Uji file dengan perintah berikut:
sudo nginx --t
Jika sintaksnya OK , outputnya memberi tahu Anda bahwa pengujian berhasil, seperti pada gambar di bawah ini.
Namun, jika menemukan masalah dalam sintaks, output menentukan di mana kesalahannya dan bagaimana kembali dan memperbaikinya.
Langkah 4:Buat File Blokir Server
Paket server web Nginx dilengkapi dengan blok server default dengan nama default.conf. Karena Anda perlu membuat blok server untuk setiap domain, cara termudah untuk melakukannya adalah dengan menyalin template yang ada dan mengubah spesifikasinya.
1. Buat host virtual untuk situs web pertama dengan cp
perintah untuk membuat salinan file yang tepat:
sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/sites-available/website1.com.conf
2. Buka file hasil kloning dengan editor teks dengan perintah berikut:
sudo vi /etc/nginx/sites-available/website1.com.conf
Isi file akan muncul seperti pada gambar di bawah ini:
3. Ada tiga (3) baris yang perlu Anda edit dalam file:
- nama_server harus sesuai dengan nama domain situs web pertama Anda. Pastikan untuk menyertakan alamat dengan dan tanpa www. awalan. Dengan begitu, server akan mengenali kedua jenis permintaan dari pengunjung dan mengarahkannya ke konten yang sama.
Dalam contoh kita, server_name akan menjadi:
server name website1.com www.website1.com;
- Ubah direktori root agar sesuai dengan website1.com menggunakan perintah:
root /var/www/website1.com/html;
- Tambahkan try_files perintah dengan kesalahan 404 saat server menerima permintaan untuk file dan direktori yang tidak dapat dilacak:
try_files $uri $uri/ =404;
Pastikan untuk menyimpan file sebelum keluar. Setelah semua perubahan dilakukan, file konfigurasi akan muncul sebagai berikut:
4. Ulangi proses untuk blok server kedua sambil mengubah detail agar sesuai dengan website2.com .
Ini termasuk menyalin file konfigurasi default dengan perintah:
sudo cp /etc/nginx/conf.d/default.conf /etc/nginx/sites-available/website2.com.conf
Diikuti dengan membuka file dengan editor teks:
sudo vi /etc/nginx/sites-available/website2.com.conf
Edit konten dengan cara berikut:
server name website2.com www.website2.com;
try_files $uri $uri/ =404;
root /var/www/website2.com/html;
Langkah 5:Aktifkan File Blokir Server
Untuk mengaktifkan file host virtual, buat tautan simbolis di direktori yang mendukung situs dengan perintah:
sudo ln -s /etc/nginx/sites-available/website1.com.conf /etc/nginx/sites-enabled/website1.com.conf
sudo ln -s /etc/nginx/sites-available/website2.com.conf /etc/nginx/sites-enabled/website2.com.conf
Agar perubahan terjadi, pastikan untuk memulai ulang Nginx:
sudo systemctl restart nginx
Langkah 6:Konfigurasi File Host
Jika Anda telah menggunakan domain contoh alih-alih yang berfungsi, ubah host file untuk mengarahkan permintaan ke server pribadi virtual (VPS) yang telah Anda buat.
1. Buka file host di editor teks:
sudo vi /etc/hosts
2. Edit dua baris berikut di bawah konten yang ada, sambil menentukan alamat IP VPS:
ip_address website1.com
ip_address website2.com
3. Simpan dan keluar dari file.
Langkah 7:Verifikasi Pengaturan Blok Server
Untuk memverifikasi penyiapan blok server, navigasikan ke situs web yang Anda buat untuk dihosting di blok server.
Buka browser dan ketik URL domain pertama:
www.website1.com
www.website2.com
Anda akan melihat konten yang dibuat untuk halaman demo di Langkah 2.