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

  1. Install Apache
    Anda bisa membacara artikelnya disini Cara Install Apache di VPS Ubuntu dan Debian
  2. Ubah Port Apache 
    Anda bisa membacara artikelnya disini Cara Mengganti Port Apache di VPS Linux (Ubuntu, Debian, CentOS, AlmaLinux)
  3. Install Nginx
    Anda bisa membacara artikelnya disini Cara Install Nginx di Ubuntu atau Debian 
  4. 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;
        }
    }

     

  5. 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
    

     

  6. Uji coba 
    Uji coba dilakukan dengan menggunakan PHP 
    1. 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
    2. 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 

    3. 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

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.