Pendahuluan
Apa itu Nginx?
Nginx (dibaca "engine-x") adalah web server ringan dan cepat yang dirancang untuk menangani banyak koneksi secara efisien. Selain menjadi server web, Nginx juga sering digunakan sebagai reverse proxy, load balancer, dan caching server.
Apa itu Reverse Proxy?
Reverse proxy adalah server perantara yang menerima permintaan dari pengguna dan meneruskannya ke server backend (seperti Apache). Reverse proxy seperti Nginx ini membantu meningkatkan:
- Kecepatan: Nginx bisa menyajikan file statis (gambar, CSS, JS) lebih cepat.
- Keamanan: Menyembunyikan detail server backend dari pengguna luar.
- Fleksibilitas: Bisa digunakan untuk load balancing, SSL termination, dan optimasi trafik.
Dengan kata lain, Nginx menerima permintaan dari internet, lalu meneruskannya ke Apache yang menjalankan aplikasi PHP atau logika web anda.
Kita akan menginstal Apache dan Nginx, lalu mengonfigurasi Nginx agar berfungsi sebagai reverse proxy yang meneruskan semua permintaan ke Apache.
Berikut adalah Cara Install Apache dengan Nginx Sebagai Reverse Proxy di Server Linux Ubuntu/ Debian
- Install Apache
Anda bisa membacara artikelnya disini Cara Install Apache di VPS Ubuntu dan Debian - Ubah Port Apache
Anda bisa membacara artikelnya disini Cara Mengganti Port Apache di VPS Linux (Ubuntu, Debian, CentOS, AlmaLinux) - Install Nginx
Anda bisa membacara artikelnya disini Cara Install Nginx di Ubuntu atau Debian - Konfigurasi Nginx
Konfigurasikan Nginx sebagai reverse proxy, melanjutkan permintaan ke Apache yang berjalan di Port: 8080. Anda bisa mengeditnya di:
sudo nano /etc/nginx/sites-available/default
konfigurasikan nginx untuk meneruskan permintaan ke apache dengan mengubah filenya pada bagian "server" seperti ini:
server { listen 80; server_name domain_anda.com; # Serve static files directly with NGINX location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { root /var/www/html; } # Forward other requests to Apache location / { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/html; } }
- Uji coba konfigurasi dan restart Nginx
Sebelum anda melakukan Restart pastikan anda melakukan uji coba terlebih dahulu dengan menggunakan command line berikut:
sudo nginx -t
Jika tidak ada error maka tampilan akan terlihat seperti gambar
Jika tidak ada error lakukan restart pada Ngix
sudo systemctl restart nginx
- Uji coba
Uji coba dilakukan dengan menggunakan PHP- Install PHP
Install PHP dan berikan akses untuk Apache, gunakan command line berikut:
sudo apt install php libapache2-mod-php -y sudo systemctl restart apache2
- File document root
Buat file untuk uji coba php di dalam folder root apache, gunakan command line berikut:
sudo nano /var/www/html/test.php
Isi file seperti berikut:
Simpan dan keluar
- Akses ke domain
Sekarang coba akses domain menggunakan browser anda
http://domain_anda.com/test.php
Jika semuanya sudah benar maka akan tampil halaman dari PHP
- Install PHP
Dengan setup ini Nginx berperan sebagai pintu masuk lalu lintas HTTP, Apache tetap menangani pemrosesan backend seperti PHP Kamu mendapat performa dan fleksibilitas lebih tinggi dari kombinasi keduanya
Sedang mencari hosting yang cepat, aman, dan terjangkau? Saatnya pindah ke Plasawebhost! Nikmati fitur lengkap dan dukungan pelanggan 24 jam. Cocok untuk pemula hingga developer profesional.