NGINX adalah software web server yang open source. Ketika pertama kali dirilis, NGINX hanya berfungsi sebagai HTTP web serving saja. Namun sekarang, software tersebut juga berperan sebagai reverse proxy, HTTP load balancer, dan email proxy untuk IMAP, POP3, dan SMTP.
Bagaimana Cara Kerja Nginx ?
Ketika seseorang ‘mengirimkan’ permintaan untuk membuka webpage, maka browser akan menghubungi server website tersebut. Server lalu mencari file webpage yang diminta oleh user tersebut dan mengirimkannya ke browser. Alur ini menunjukkan cara kerja server terhadap permintaan atau request sederhana.
Keunggulan Nginx :
Nginx mempunyai tool yang multifungsi
Selain digunakan sebagai web server, Nginx memiliki banyak kegunaan, bisa sebagai load balancer, cache konten, dan server proxy. Seluruh konfigurasi ini terpusat hanya pada satu aplikasi saja, sehingga ini akan mempermudah pemantauan dan juga meminimkan jumlah tool yang Anda kelola.
Nginx bisa mengganti Hardware Load Balancer
Nginx sebagai software yang open source, akan lebih murah dan mudah untuk dikonfigurasi dibanding dengan hardware load balancer sendiri. Nginx ini juga mempunyai desain cloud dan modern serta didukung konfigurasi ulang dari on the fly dan telah terintegrasi dengan DevOps modern untuk melakukan pemantauan.
Tersedia berbagai macam dokumentasi lengkap
Jika Anda masih mengalami kesulitan dalam menggunakan Nginx ini, Anda bisa melihat tutorial, webinar, dan dokumentasi yang lengkap untuk Anda pelajari. Jika dirasa masih saja kesulitan, Anda bisa mencoba menggunakan Nginx Plus, sehingga Anda akan mendapat bantuan untuk mendiagnosis kesulitan yang Anda alami.
Nginx akan terus dikembangkan
Sampai sekarang pun Nginx ini masih akan terus dikembangkan dengan seriusnya hingga Nginx ini akan berada pada garis terdepan pengembangan web modern dan akan mendorong pengembangan teknologi dari HTTP hingga mendapat dukungan dari layanan mikro. Nginx ini juga berencana untuk menyempurnakan fitur-fitur dari pengiriman konten hingga tidak ada lagi pengiriman data cacat.
Kekurangan Nginx :
- Update yangcukup lama dibanding webserver lainnya.
- Fast CGI yang tidak berfungsi sempurna.
- Kadangkala ada masalah pada .htaccess namun hal ini tergantung dari konfigurasi webmasternya sendiri.
- Pemakai tidak sebanyak Apache / IIS.
TOPOLOGI
#Perangkat Yang Digunakan :
1. Debian (Sudah Terinstall)
*Syarat Debian pada konfigurasi ini adalah sudah instalasi :
- DNS, jika belum melakukan instalasi silahkan klik --> DNS , untuk melihat tutorial konfigurasinya.
- DHCP, jika belum melakukan instalasi silahkan klik --> DHCP Server , untuk melihat tutorial konfigurasinya. (optional)
2. PC-Client: Windows 10
Langkah- Langkah Konfigurasi
1. Hal pertama yang harus dilakukan yaitu tentu saja login ke debian yang anda ingin konfigurasikan web server. Perlu di himbau kembali pada virtual debian ini saya sudah mengonfigurasi DNS dan DHCP server. Mengapa harus mengonfigurasikan DNS dan DHCP Server pada konfigurasi web Server? Fungsi DNS pada konfigurasi ini yaitu sebagai distributor database system yang digunakan untuk pencarian name resolution di jaringan yang mengunakan TCP (Transmission Control Protocol), Sedangkan fungsi DHCP server pada konfigurasi ini yaitu agar setiap client dapat mengakses web server melalui jaringan yang sama.
2. Lalu, saya akan mengedit file db.domain untuk menambahkan IP dan Domain dari Web server saya.
- Untuk mengedit file db.domain perintah yang digunakan adalah nano db.domain. Jika anda belum berada di directory bind, anda dapat menggunakan perintah : nano /etc/bind/db.domain.
- Tambahkan script seperti gambar di bawah ini. Fyi, Disini kita tambahkan domain yang ingin digunakan dan juga ip yang nantinya digunakan untuk mengakses si web server dan Saya menggunakan diginet.com sebagai domain web servernya sedangkan untuk ip webserver yaitu 27.27.27.27 dan tambahan www untuk web. jangan lupa untuk menyimpan kembali file yang sudah di edit.
3. Lalu lakukan juga untuk domain kedua, saya akan mengedit file db.domain2 untuk menambahkan IP dan Domain dari Web server saya.
- Untuk mengedit file db.domain2 perintah yang digunakan adalah nano db.domain2. Jika anda belum berada di directory bind, anda dapat menggunakan perintah : nano /etc/bind/db.domain2.
- Tambahkan script seperti gambar di bawah ini. Fyi, Disini kita tambahkan domain yang ingin digunakan dan juga ip yang nantinya digunakan untuk mengakses si web server dan Saya menggunakan nayaka.net sebagai domain kedua web servernya sedangkan untuk ip webserver yaitu 27.27.27.27 dan tambahan www untuk web. jangan lupa untuk menyimpan kembali file yang sudah di edit.
4. Kemudian Reboot sistem pada debian agar dapat memperbaharui sistem yang telah diedit
5. Setelah proses reboot selesai, lakukanlah ping ke domain web server anda dengan perintah : ping www.namadomain.xxx . Tujuan dari ping web server ini adalah untuk memastikan bahwa debian sudah terkonfigurasi sekaligus terhubung dengan domain web Server.
- Domain kedua :
6. Kemudian Install paket proftpd dengan perintah : apt install nginx . Lalu, gunakan huruf Y pada notifikasi apakah anda ingin melanjutkan proses penginstalan paket.
7. Setelah proses penginstalan berhasil, buatlah document root. Root dokumen adalah direktori tempat file situs web untuk nama domain disimpan dan disajikan sebagai tanggapan atas permintaan. Gunakan perintah : mkdir /var/www/namadomain.xxx/ untuk membuat directori untuk masing-masing domain.
8. Lalu, buat file baru pada setiap directory root domain anda dengan menggunakan perintah touch /var/www/namadomain.xxx/nginx.html . Setalah itu edit file tersebut dengan menggunakan perintah nano /var/www/namadomain.xxx/nginx.html .
- Edit file ini bertujuan untuk mengubah tampilan web saat nanti diujikan. Anda bebas membuat tampilan web ini sesuai dengan keinginan anda. Disini saya akan membuat tampilan yang sederhana saja, Anda dapat mencopy script dibawah ini jika ingin tampilan web yang sama dengan saya. Jangan lupa setelah itu simpan kembali file tersebut.
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>DIGINET WEBSITE</title>
</head>
<body>
<center><h1> <font color="342D7E"> Konfigurasi Server Block
(NGINX) Berhasil! </font> </h1> </center>
<center> <b> <font color="sky blue"> Sampai jumpa di konfigurasi
lainnya...</font> </b> </center>
</body>
</html>
9. Setelah itu, lakukan hal yang sama dengan domain2 yaitu membuat file baru pada setiap directory root domain anda dengan menggunakan perintah touch /var/www/namadomain2.xxx/nginx.html . Setalah itu edit file tersebut dengan menggunakan perintah nano /var/www/namadomain2.xxx/nginx.html .
- Edit file ini bertujuan untuk mengubah tampilan web saat nanti diujikan. Anda bebas membuat tampilan web ini sesuai dengan keinginan anda. Disini saya akan membuat tampilan yang sederhana saja, Anda dapat mencopy script dibawah ini jika ingin tampilan web yang sama dengan saya. Jangan lupa setelah itu simpan kembali file tersebut.
<html>
<head>
<title>NAYAKA WEBSITE</title>
</head>
<body>
<h1> <font color="4E387E"> <marquee direction="down" height="60"
scrollamount="5">Server Block Nginx Configuration
is Working! </marquee></font></h1>
<b><font color="C38EC7">Thank u for your attention,
see u later..</font></b>
</body>
</html>
10. Secara default pada sistem Debian, file konfigurasi blok server Nginx disimpan di direktori / etc / nginx / sites-available, yang diaktifkan melalui tautan simbolis ke direktori / etc / nginx / sites-enabled /. Hal yang dilakukan adalah buka langsung file dengan perintah : nano /etc/nginx/sites-available/namaserver.conf. Kenapa langsung dibuka dan tidak di buat terlebih dahulu? karena jika anda sudah membuka sebuah file dan menyimpannya, berarti anda telah membuat file baru. ini adalah sebuah trik simple untuk membuat file baru.
- Ini lah format file server block untuk setiap domain :
server {
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;
}
}
- Lalu, input format seperti script dibawah ini dan isi sesuai dengan domain anda. Setelah itu jangan lupa untuk menyimpan file tersebut.
11. Lakukanlah hal yang sama kepada domain kedua yaitu buka langsung file dengan perintah : nano /etc/nginx/sites-available/namaserver2.conf.
- Lalu, input format seperti script dibawah ini dan isi sesuai dengan domain anda. Setelah itu jangan lupa untuk menyimpan file tersebut.
14. Setelah itu Aktifkan file blok server baru dengan membuat symbolic link dari file ke direktori sites-enabled dengan perintah In -s /etc/nginx/sites-available/nameserver.conf /etc/nginx/sites-enabled/ . Konfigurasikan untuk kedua domain ya.
16. Lalu, uji konfigurasi Nginx untuk melihat bahwa semua sintaks sudah benar dengan perintah : nginx -t . Jika hasilnya sama dengan gambar dibawah ini maka tidak terjadi kesalah dalam konfigurasi nginx nya.
17. Sebelum melakukan pengujian pada client, restart terlebih dahulu layanan nginx agar perubahan yang telah dilakukan diterapkan dalam Nginx dengan perintah : /etc/init.d/nginx restart
Pengujian Server Block Nginx
- Pastikan terlebih dahulu apakah dns sudah terhubung dengan client.
- Akses web server nginx menggunakan search engine pada Client. Yang pertama saya mengakses menggunakan domain pertama dari web server nginx saya yaitu www.diginet.com dan inilah hasilnya :
- Kemudian yang kedua saya mengakses menggunakan domain kedua dari web server nginx saya yaitu www.nayaka.net dan inilah hasilnya :
-Sekian dan Terima Kasih-
ASJ