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
- Update Server Amazon Linux 2.
$ sudo yum update -y - Enable
NGINXtopic.$ sudo amazon-linux-extras enable nginx1 - Install package
NGINXdari Amazon Linux Extras repository.$ sudo yum clean metadata $ sudo yum install nginx -y - 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. - 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. - 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

- (Opsional) Ketik perintah berikut untuk memastikan kalau website di-serve dari
NGINX.
Jika pada baris# 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: bytesServerbernilainginx/1.20.0, makaNGINXweb server sudah berjalan.
B. Mengubah Tampilan Website (Opsional)
- Pergi ke direktori default dari NGINX.
$ cd /usr/share/nginx/ - Pindah ke user
root.$ sudo su - Buat direktori untuk backup file
htmldefault.# mkdir html-backup - Pindah file default
htmlke direktori backup.# mv html/index.html html-backup/ - Untuk mengubah tampilan website, cukup dengan memasukkan file
htmlAnda di direktori/usr/share/nginx/html/.# echo "X-Served-From: amazon-linux-2@ec2" >> html/index.html - Cek perubahan website dengan mengetikkan perintah berikut.
atau# curl http://52.77.225.95 X-Served-From: amazon-linux-2@ec2
Membukahttp://[ip-publik-ec2]di web browser.

Sekian dan terima kasih.
Semoga bermanfaat. :D
# Referensi
- Materi LKS Cloud Computing Kabupaten 2022
- nginx - The Architecture of Open Source Applications (Volume 2)
- C10k problem - Wikipedia
- Amazon Linux 2