Instal Nginx Web Server di Ubuntu 16.04

Nginx adalah salah satu server web paling populer di dunia. Bertanggung jawab untuk menangani beberapa situs dengan lalu lintas terbesar dan tertinggi di internet. Dalam banyak kasus, Nginx lebih sedikit memakan resource dibanding Apache dan dapat digunakan sebagai server web atau proxy. Dalam tulisan ini, kita akan membahas bagaimana cara instal Nginx di Ubuntu Server 16.04.

Prasyarat

Sebelum Anda mengikuti panduan ini, Anda harus memiliki pengguna biasa (non-root) dengan hak sudo. Anda dapat mempelajari cara mengkonfigurasi akun pengguna biasa dengan mengikuti panduan tentang konfigurasi awal di Ubuntu Server 16.04.

Langkah 1: Instal Nginx

Nginx tersedia di repositori default Ubuntu. Sebelum melakukan instalasi, kita harus memperbarui indeks paket lokal sistem apt sehingga kita memiliki akses ke daftar paket terbaru. Setelah itu, kita dapat menginstal Nginx:

$ sudo apt-get update
$ sudo apt-get install nginx

Setelah perintah dijalankan, apt-get akan menginstal Nginx dan semua dependensi yang diperlukan ke server.

Langkah 2: Atur Firewall

Sebelum menguji Nginx, kita perlu mengkonfigurasi ulang firewall agar dapat mengizinkan untuk mengakses Nginx. Secara default, Nginx mendaftarkan layanannya sebagai layanan di ufw. Kita dapat melihat daftar aplikasi yang tersedia di firewall:

$ sudo ufw app list
Output
Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH

Seperti yang Anda lihat diatas, ada tiga profil Nginx yang tersedia:

  • Full: Profil Nginx Full ini membuka port 80 (lalu lintas web tidak terenkripsi) dan port 443 (TLS/SSL lalu lintas web terenkripsi)
  • Nginx HTTP: Profil ini hanya membuka port 80 (lalu lintas web tidak terenkripsi)
  • Nginx HTTPS: Profil ini hanya membuka port 443 (TLS/SSL lalu lintas web terenkripsi)
Baca Juga:  Membangun Aplikasi Dasar dengan Laravel

Disarankan agar Anda mengaktifkan profil sesuai kebutuhan. Karena kita belum mengkonfigurasi SSL, dalam panduan ini kita hanya perlu mengaktifkan profil Nginx HTTP saja. Anda dapat mengaktifkan ini dengan mengektik:

$ sudo ufw allow "Nginx HTTP"

Anda juga dapat memverifikasi perubahan dan melihat lalu lintas HTTP (port 80) yang diizinkan:

$ sudo ufw status
Output
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Nginx HTTP                 ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

Langkah 3: Periksa Server Web Nginx

Di akhir proses instalasi, layanan Nginx otomatis dijalankan. Server web seharusnya sudah aktif dan berfungsi dengan baik. Kita dapat memeriksa dengan melihat status Nginx untuk memastikan layana berfungsi dengan baik:

$ sudo systemctl status nginx
Output
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-04-23 16:14:00 EDT; 4min 2s ago
 Main PID: 12857 (nginx)
   CGroup: /system.slice/nginx.service
           ├─12857 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
           └─12858 nginx: worker process

Seperti yang Anda lihat diatas, layanan Nginx tampaknya berfungsi dengan baik. Namun cara terbaik untuk menguji instalasi adalah mengakses alamat IP server.

http://alamat_ip_server

Ketika Anda mengakses alamat IP server melalui browser, Anda akan melihat Welcome Page Nginx sebagai halaman landing default.

Halaman ini dibuat oleh Nginx sendiri yang menunjukan bahwa server web Nginx berfungsi dengan benar.

Langkah 4: Kelola Proses Nginx

Setelah server web Anda aktif dan berfungsi, kita akan membahas beberapa perintah dasar untuk mengelola proses Nginx.

Untuk menghentikan server web Anda, Anda dapat mengetik:

$ sudo systemctl stop nginx

Memulai server web saat tidak dijalankan:

$ sudo systemctl start nginx

Menghentikan dan menjalankan ulang proses (restart):

$ sudo systemctl restart nginx

Jalankan perintah reload jika Anda melakukan perubahan pada konfigurasi Nginx atau menambah server block.

$ sudo systemctl reload nginx

Secara default, layanan Nginx dikonfigurasi untuk otomatis berjalan pada saat server booting. Jika Anda tidak ingin server menjalankan otomatis, Anda dapat menonaktifkannya dengan mengetik:

$ sudo systemctl disable nginx

Untuk mengaktifkan kembali layanan otomatis dijalankan pada saat booting, Anda dapat mengetik:

$ sudo systemctl enable nginx

Langkah 5: Kenali File dan Direktori Nginx (Penting)

Setelah Anda mengetahui cara mengelola layanan Nginx, Anda juga harus mengetahui beberapa file dan direktori penting Nginx.

Baca Juga:  Cara Instal PHP 7.2 di Ubuntu 16.04 (PPA)

Konten Web

  • /var/www/html: Direktori konten web yang secara default hanya terdiri dari halaman Nginx default (Nginx welcome page).

Konfigurasi Server

  • /etc/nginx: Direktori konfigurasi Nginx. Semua file konfigurasi ada di direktori ini.
  • /etc/nginx/nginx.conf: File utama konfigurasi Nginx. Nilai konfigurasi pada file ini dapat dimodifikasi jika Anda ingin melakukan perubahan secara global.
  • /etc/nginx/sites-available: Direktori server block Nginx per situs web. Nginx tidak akan membaca konfigurasi server block di direktori ini kecuali file-file tersebut ditautkan ke direktori sites-enabled. Biasanya semua konfigurasi server block disimpan di direktori ini kemudian diaktifkan ke sites-enabled dengan symbolic links.
  • /etc/nginx/sites-enabled: Direktori server block Nginx per situs web yang diaktifkan. File-file dalam direktori ini adalah hasil proses symbolic links dari direktori sites-available.
  • /etc/nginx/snippets: Direktori ini berisi fragmen konfigurasi yang dapat dimasukan ke direktori lain dalam konfigurasi Nginx. Segmen konfigurasi yang berpotensi berulang adalah cara baik untuk didaftarkan ke snippets.

Log Server

  • /var/log/nginx/access.log: Log aktivitas Nginx pada setiap permintaan ke server web Anda.
  • /var/log/nginx/error.log: Log kesalahan Nginx akan dicatat ke dalam file ini.

Kesimpulan

Setelah server web Nginx Anda diinstal, Anda memiliki banyak opsi untuk mengelola beberapa situs web dengan server block Nginx. Pelajari juga bagaimana cara membuat dan mengatur server block Nginx di artikel selanjutnya.