Cara Install dan Setup NGINX di Sistem Linux | UNIX LINUX EXPLORE
Edit

Cara Install dan Setup NGINX di Sistem Linux

2024/08/15
Saat ini, Nginx dan Apache sedang bersaing ketat menjadi server web terbaik di dunia. Keduanya tercatat sebagai web server yang paling banyak digunakan dan memiliki komunitas terbesar. Terlepas dari popularitas, kedua web server tersebut memiliki kelebihan dan kekurangan.

Apache sebagai web server tertua, mulai dikembangkan kembali pada tahun 1995, tapi sangat disayangkan, pengembangannya tidak memperhitungkan semua kemungkinan kebutuhan pengguna. Apache tercatat sebgai web server yang menghabiskan banyak memori dan sumber daya sistem, tetapi mudah untuk dikonfigurasi. Kemudian Nginx dikembangkan pada tahun 2002. Kehadiran Nginx sudah memperhitungkan kesalahan Apache dan fokus pada kinerja maksimal dengan kestabilan yang tinggi.

Nginx adalah server web dan proxy populer yang juga dapat berfungsi sebagai proxy terbalik, penyeimbang beban, dan menyediakan fungsi caching. Itu dibuat untuk menangani sejumlah besar koneksi simultan dengan penggunaan sumber daya sistem yang minimal. Nginx memiliki sejumlah keunggulan signifikan yang menjadikannya pilihan populer bagi banyak pengembang profesional.




The following are some of the advantages of the Nginx web server.
  1. Kinerja tinggi. Nginx dirancang dengan penekanan pada penggunaan sumber daya yang efisien dan menangani koneksi bersamaan dalam jumlah besar. Hal ini memungkinkan Anda melayani situs dan aplikasi dengan beban tinggi tanpa mengurangi kinerja secara signifikan.
  2. Konsumsi sumber daya yang rendah. Nginx mengkonsumsi lebih sedikit RAM dibandingkan beberapa server web lainnya, sehingga menghemat sumber daya server dan memastikan pengoperasian aplikasi yang lebih stabil.
  3. Dapat digunakan untuk memproses konten statis dan dinamis. Nginx dapat menangani konten statis dan dinamis secara efisien. Hal ini memungkinkan Anda menggunakannya untuk melayani halaman web, serta untuk mengirimkan permintaan ke aplikasi yang berjalan dalam berbagai bahasa pemrograman.
  4. Dapat bekerja sebagai proksi dan penyeimbangan beban. Nginx dapat digunakan sebagai server proxy untuk mengarahkan permintaan ke server yang berbeda atau untuk penyeimbangan beban antara beberapa server. Hal ini meningkatkan kinerja dan memastikan ketahanan sistem.
  5. Membalikkan proksi dan caching. Nginx dapat berfungsi sebagai reverse proxy untuk melindungi server aplikasi dari interaksi langsung dengan Internet. Ini juga mendukung mekanisme caching, yang mengurangi beban server dan meningkatkan kecepatan pemuatan konten.
  6. Konfigurasi mudah dan cepat. File konfigurasi Nginx mudah dibaca dan dipahami. Hal ini memudahkan pengaturan dan pemeliharaan server, terutama bagi administrator sistem.
  7. Modularitas. Nginx dibangun pada arsitektur modular yang memungkinkan Anda menambah dan menyesuaikan fungsionalitas sesuai kebutuhan, tanpa harus membangun kembali seluruh server.
  8. Memiliki dukungan ekstensi dan modul pihak ketiga. Ada banyak modul dan ekstensi pihak ketiga untuk Nginx yang memungkinkan Anda menambahkan fitur tambahan seperti otentikasi, kompresi data, dan banyak lagi.
Kami tidak akan membahas secara mendalam, kelebihan dan kekurangan kedua server web ini. Masing-masing server web tersebut memiliki cakupan penerapannya sendiri. Panduan ini akan membahas cara menginstal Nginx di Linux Ubuntu. Meskipun demikian, semua langkahnya juga cocok untuk distribusi lain seperti Debian, Redhat dan lainnya. Konfigurasi Nginx dimana-mana sama, hanya perintah instalasinya saja yang berbeda.




Persyaratan sistem yang disarankan untuk menginstal Nginx:
1. Prosesor dengan dua coredan kecepatan clock 2 GHz
2. RAM 2 GB
3. Ruang disk 25 GB


1. Proses Instalasi Nginx

Langkah pertama yang harus Anda lakukan adalah menginstal web server Nginx ke dalam sistem Ubuntu. Program ini tersedia di repositori resmi, tetapi versinya agak ketinggalan jaman, jadi jika Anda menginginkan versi terbaru, Anda perlu menambahkan PPA atau memperbarui sistem.

Install Nginx
root@runtu:~# apt-add-repository ppa:nginx/stable
root@runtu:~# apt update
root@runtu:~# apt install nginx
Sangat mudah sekali, dengan perintah di atas anda sudah berhasil memasukkan atau menginstall Nginx di server Ubuntu. Setelah itu apa lagi yang harus dikerjakan. Langkah selanjutnya adalah mengaktifkan Nginx di server Ubuntu. Jalankan perintah di bawah ini untuk mengaktifkan Nginx.

Menyiapkan Nginx
root@runtu:~# systemctl enable nginx
Sampai disini, anda telah berhasil menginstall dan mengaktifkan Nginx, kemudian anda jalankan Nginx dengan mengetikkan perintah berikut ini.

Memulai Nginx
root@runtu:~# systemctl start nginx
Menghentikan Nginx
root@runtu:~# systemctl stop nginx
Restart Nginx
root@runtu:~# systemctl restart nginx
Restart Nginx dengan membaca ulang konfigurasi
root@runtu:~# systemctl reload nginx
Periksa status Nginx
root@runtu:~# systemctl status nginx
Menonaktifkan autorun
root@runtu:~# systemctl disable nginx
Lihat file log Nginx
root@runtu:~# tail -f /var/log/nginx/error.log
Menguji konfigurasi Nginx
root@runtu:~# nginx -t
Lihat versi Nginx yang digunakan
root@runtu:~# nginx -v
nginx version: nginx/1.18.0 (Ubuntu)
Tutup paksa Nginx
root@runtu:~# nginx -s quit


2. Aktifkan Firewall untuk Nginx

Mengaktifkan firewall sangat penting, agar Nginx dapat berjalan dengan lancar. Pada bagian ini, kita akan mengkonfigurasi firewall untuk Nginx untuk menutup semua port kecuali yang diperlukan seperti port 22 (SSH), 80 (HTTP) dan 443 (HTTPS). Ini adalah langkah yang sangat penting yang akan membantu Anda memastikan keamanan server web Anda.

Untuk mengaktifkan firewall pada Ubuntu, anda harus menginstall "ufw". Ikut perintah berikut ini untuk menginstall firewall.

Install firewall
root@runtu:~# apt install ufw
Setelah itu anda aktifkan firewall untuk Nginx dan SSH.

Enbale firewall Nginx & SSH
root@runtu:~# ufw allow 'Nginx Full'
root@runtu:~# ufw allow 'OpenSSH'
root@runtu:~# ufw enable
Sekarang coba anda periksa daftar aplikasi yang telah diberikan ijin firewall menggunakan perintah di bawah ini.

Periksa aplikasi yang ada di firewall
root@runtu:~# ufw app list
Anda juga dapat memeriksa kebenaran pengaturan firewall dan statusnya dengan perintah berikut.

Periksa status firewall
root@runtu:~# ufw status


3. Proses Konfigurasi Nginx

Salah satu kekurangan Nginx adalah sangat sulit di konfigurasi dibandingkan Apache. Pada artikel ini kita akan membahas bagian bagian utamanya saja, karena ada berbagai konfigurasi di mana Nginx digunakan sebagai server proxy dan server Apache sebagai backend nya. Tetetapi kita tidak akan membahas materi tersebut, kita coba fokus menginstal dan mengkonfigurasi Nginx sebagai server web mandiri.

Pengaturan Nginx sangat berbeda, hanya ada satu file konfigurasi utama dan file untuk host virtual. Konfigurasi dari setiap direktori, seperti di Apache, tidak didukung. Perhatikan penjelasan di bawah ini.

/etc/nginx/nginx. conf             : Digunakan sebagai file konfigurasi utama
/etc/nginx/sites-available /*    : Digunakan untuk konfigurasi host virtual
/etc/nginx/sites-enabled / *     : file konfigurasi yang digunakan untuk situs yang diaktifkan.
/var/www/html                        : Direktori tempat halaman beranda Nginx berada

Faktanya, file konfigurasi untuk host virtual hanya dapat dibaca dari direktori yang mendukung situs, namun berisi tautan ke file dari direktori situs yang tersedia. Sistem ini dirancang untuk memungkinkan Anda menonaktifkan situs tertentu untuk sementara waktu tanpa menghapus konfigurasinya. Semua file lainnya hanya berisi deklarasi variabel dan pengaturan standar yang tidak perlu diubah. Adapun nginx. conf, ini mencakup semua file dari situs yang diaktifkan, dan oleh karena itu mereka dapat berisi semua instruksi yang sama persis. Sekarang mari kita lihat file konfigurasi utama.

Sebelum kita mengakhiri pembahasan pada artikel ini, anda coba jalankan Nginx pada web browser Google Chrome, pada menu address bar ketikkan "http://192.168.7.3/" dan lihat hasilnya, jika konfigurasi di atas tak ada yang anda lewatkan, maka akan tampil seperti gambar di bawah ini.



Kita akhiri pembahasan server web Nginx sampai sini saja, kita akan lanjutkan dengan membahas Nginx dengan lebih lengkap lagi pada artikel selanjutnya. Karena tidak mungkin membahas Nginx secara lengkap dalam satu artikel. Artikel ini sebagai pelajaran dasar atau pemanasan bagi anda yang baru mulai belajar Nginx.