Install NGINX di Amazon Linux 2

Install NGINX di Amazon Linux 2

NGINX (dibaca engine x) adalah open source web server (dan juga reverse proxy) yang populer selain Apache httpd menurut Wappalyzer.

Web server NGINX sendiri pada awalnya diciptakan untuk memecahkan C10K Problem oleh Igor Sysoev, Software Engineer asal Rusia.

NGINX sendiri tersedia di berbagai distro linux, salah satunya yang akan kita gunakan di post ini adalah Amazon Linux 2, yang mana adalah distro linux dari Amazon Web Services (AWS).

# Prasyarat

  • Buat EC2 dengan image Amazon Linux 2 AMI.
  • Membuka port 80 di Security Group EC2.

A. Menginstall NGINX

  1. Update Server Amazon Linux 2.
    $ sudo yum update -y
    
  2. Enable NGINX topic.
    $ sudo amazon-linux-extras enable nginx1
    
  3. Install package NGINX dari Amazon Linux Extras repository.
    $ sudo yum clean metadata
    $ sudo yum install nginx -y
    
  4. Start dan enable service NGINX.
    $ sudo systemctl enable --now nginx                                                         
    Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.
    
  5. Cek status dari service NGINX.
    $ sudo systemctl status nginx                                                                                       
    ● nginx.service - The nginx HTTP and reverse proxy server                                                                                       
       Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)                                                     
       Active: active (running) since Jum 2022-03-04 00:26:45 UTC; 48s ago                                                                          
      Process: 32487 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)                                                                      
      Process: 32483 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)                                                                
      Process: 32482 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)                                                     
     Main PID: 32490 (nginx)                                                                                                                        
       CGroup: /system.slice/nginx.service                                                                                                          
               ├─32490 nginx: master process /usr/sbin/nginx                                                                                        
               └─32491 nginx: worker process                                                                                                        
                                                                                                                                                    
    Mar 04 00:26:45 ip-172-31-26-49.ap-southeast-1.compute.internal systemd[1]: Starting The nginx HTTP and reverse proxy server...                 
    Mar 04 00:26:45 ip-172-31-26-49.ap-southeast-1.compute.internal nginx[32483]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok  
    Mar 04 00:26:45 ip-172-31-26-49.ap-southeast-1.compute.internal nginx[32483]: nginx: configuration file /etc/nginx/nginx.conf test is successful
    Mar 04 00:26:45 ip-172-31-26-49.ap-southeast-1.compute.internal systemd[1]: Started The nginx HTTP and reverse proxy server.                    
    Mar 04 00:26:45 ip-172-31-26-49.ap-southeast-1.compute.internal systemd[1]: Started The nginx HTTP and reverse proxy server.                    
    
  6. Cek juga dengan mengetikkan http://[ip-publik-ec2] di web browser.
    Nb. Ketikkan perintah berikut untuk mengetahui ip publik yang dimiliki oleh EC2:
    $ curl ifconfig.me/ip
    52.77.225.95
    

Screenshot-from-2022-03-04-07-40-14

  1. (Opsional) Ketik perintah berikut untuk memastikan kalau website di-serve dari NGINX.
    # curl -I http://52.77.225.95
    HTTP/1.1 200 OK
    Server: nginx/1.20.0
    Date: Fri, 04 Mar 2022 01:00:25 GMT
    Content-Type: text/html
    Content-Length: 34
    Last-Modified: Fri, 04 Mar 2022 00:38:20 GMT
    Connection: keep-alive
    ETag: "62215f7c-22"
    Accept-Ranges: bytes
    
    Jika pada baris Server bernilai nginx/1.20.0, maka NGINX web server sudah berjalan.

B. Mengubah Tampilan Website (Opsional)

  1. Pergi ke direktori default dari NGINX.
    $ cd /usr/share/nginx/
    
  2. Pindah ke user root.
    $ sudo su
    
  3. Buat direktori untuk backup file html default.
    # mkdir html-backup
    
  4. Pindah file default html ke direktori backup.
    # mv html/index.html html-backup/
    
  5. Untuk mengubah tampilan website, cukup dengan memasukkan file html Anda di direktori /usr/share/nginx/html/.
    # echo "X-Served-From: amazon-linux-2@ec2" >> html/index.html
    
  6. Cek perubahan website dengan mengetikkan perintah berikut.
    # curl http://52.77.225.95
    X-Served-From: amazon-linux-2@ec2
    
    atau
    Membuka http://[ip-publik-ec2] di web browser.
    Screenshot-from-2022-03-04-07-40-30

Sekian dan terima kasih.
Semoga bermanfaat. :D

# Referensi

Muhammad Rizqy Amrullah

Muhammad Rizqy Amrullah