Cara Install NginX di AWS EC2 Ubuntu 20.04 Yang Mudah

Cara Install NginX di AWS EC2 Ubuntu 20.04 Yang Mudah – Nginx (baca: engine x) adalah aplikasi Linux open-source gratis untuk webserver. Bekerja sebagai Reserve Proxy dengan mengarahkan lalu lintas / trafik web ke server tertentu. Nginx digunakan untuk keamanan dan penyeimbangan beban, tetapi juga dapat berfungsi secara independen sebagai webserver.

Nginx maupun Apache2 adalah server web populer yang digunakan untuk mengirimkan halaman web ke browser pengguna.

Jika ingin menggunakan Apache2 sebagai webserver silahkan baca tutorial Cara Install Apache2 di AWS EC2 Ubuntu 20.04.

Pada tutorial kali ini, kita akan membahas bagaimana cara menginstall NginX Webserver di AWS EC2 menggunakan Ubuntu 20.04 dengan benar.

Sebelumnya jika belum mengenal apa itu AWS EC2 dan bagaimana cara membuat virtual machine silahkan membaca tutorial disini.

Persyaratan Install NginX

  • Server yang berjalan dengan OS Ubuntu, disini saya menggunakan AWS EC2
  • SSH & User dengan privilege perintah sudo

Step 1: Update Package

Selalu jalankan perintah update dan upgrade terlebih dahulu untuk pertama kali akses ke host. Memastikan semua package dan system terupdate dengan benar.

sudo apt update - y && sudo apt upgrade -y

Step 2: Install NginX dari Ubuntu Repository

sudo apt-get install nginx -y

Setelah sukses menginstall, verifikasi instalasi NginX:

nginx -v
nginx version: nginx/1.18.0 (Ubuntu)

Step 3: Testing NginX Webserver

Setelah instalasi dan verifikasi selesai, NginX service akan berjalan/running otomatis. Untuk memastikan NginX running gunakan perintah ini:

sudo systemctl status nginx
● nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor pre>
     Active: active (running) since Wed 2021-10-20 07:43:40 UTC; 6h ago
       Docs: man:nginx(8)                                                       Process: 535 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_pr>
    Process: 607 ExecStart=/usr/sbin/nginx -g daemon on; master_process on;>   Main PID: 639 (nginx)
      Tasks: 2 (limit: 1154)                                                     Memory: 8.3M
     CGroup: /system.slice/nginx.service                                                 ├─639 nginx: master process /usr/sbin/nginx -g daemon on; mast>
             └─647 nginx: worker process                                    
Oct 20 07:43:39 ip-xxx-xx-xx-xxx systemd[1]: Starting A high performance web>
Oct 20 07:43:40 ip-xxx-xx-xx-xxx systemd[1]: Started A high performance web>

Selanjutnya kita memverifikasi apakah halaman NginX meggunakan web browser berfungsi dengan baik.

Note: Pastikan HTTP Port 80 diizinkan secara publik dari inbound traffic (lalu linstas masuk) dalam Security Group pada instance EC2.

ec2 create step6

Buka halaman AWS EC2 Instance running click dan lihat pada bagian Description, Public DNS / Public IP.

nginx ip aws
AWS EC2 Instance running

Copy alamat Public DNS/IP ke web browser.

Install Nginx
Welcome to NginX!, Install NginX berhasil

Dari Step 3 kita sudah bisa mengakses NginX webserver kita melalui web browser. Selanjutnya jika kita membuat file atau dikemudian kita meng-upload file untuk web, apakah NginX berfungsi dengan baik juga.

Kembali ke SSH, dan akses directory web:

cd /var/www/html
~/var/www/html
$ ls
index.nginx-debian.html

Directory “html” inilah dimana kita mengupload file dan bisa diakses melalui web browser. Secara default index.nginx-debian.html adalah file NginX yang menginformasikan bahwa NginX berfungsi melalui web browser. Silahkan untuk menghapus atau mengedit file tersebut dengan editor untuk memastikan berjalan. Dalam test kali ini saya akan membuat file baru test.html, yang berisikan standart HTML script.

/var/www/html$ sudo nano test.html
<html>
   <head>
      <title>Welcome to JudisWeb.com!</title>
   </head>
   <body>
      <h1>Hello World!!! </h1>
   </body>
</html>

Setelah menyimpan file test.html tersebut, buka web browser tambahkan pada address /test.html jika berhasil maka NginX sepenuhnya berfungsi normal.

nginx hello
NginX test.html Hello World

Step 4: Mengontrol NginX service

Kita dapat mengelola webserver dengan perintah umum pada NginX:

Start Nginx service

sudo service nginx start

Stop Nginx service

sudo service nginx stop

Restart Nginx service

sudo service nginx restart

Reload Nginx service tanpa memutuskan koneksi

sudo service nginx reload

Mengaktifkan Nginx service otomatis berjalan saat system booting

sudo systemctl enable nginx

Menonaktifkan Nginx service

sudo systemctl disable nginx

Step 5: Mengijinkan traffic untuk NginX

Nginx membutuhkan akses melalui firewall sistem. Untuk melakukan ini, Nginx menginstal satu set profil untuk ufw default Ubuntu (UnComplicated Firewall).

Menampilkan profil Nginx yang tersedia:

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

Note: aplikasi lain mungkin masuk dalam daftar ufw misal OpenSSH

Untuk memberikan akses Nginx melalui firewall default Ubuntu, masukkan perintah berikut ini:

sudo ufw allow 'nginx http'
Rules updated
Rules updated (v6) 

Untuk https (http aman atau terenkripsi):

sudo ufw allow 'nginx https'

Dan untuk ijin keduanya http maupun https:

sudo ufw allow 'nginx full'

Setelah mengijinkan akses lalu lintas ke dalam firewall, refresh setting firewall dengan perintah ini:

sudo ufw reload

Lokasi file Konfigurasi NginX

Secara default, Nginx menyimpan konfigurasi dan file log yang berbeda di lokasi berikut:

  • /var/www/html – Konten situs web seperti yang dilihat oleh pengunjung html, php, jpg, png, dll
  • /etc/nginx – Lokasi file aplikasi Nginx
  • /etc/nginx/nginx.conf – File konfigurasi utama Nginx
  • /etc/nginx/sites-available – Daftar semua situs web yang dikonfigurasi melalui Nginx
  • /etc/nginx/sites-enabled – Daftar situs web yang secara aktif dilayani oleh Nginx
  • /var/log/nginx/access.log – Akses log yang melacak setiap permintaan ke web server
  • /var/log/ngins/error.log – Sebuah log dari setiap kesalahan yang dihasilkan di Nginx

Dari tutorial ini kita bisa menginstall dan mencoba NginX webserver berjalan dan berfungsi dengan baik.

Tinggalkan komentar