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

Isi

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 Almalinux Versi 8 dan 9
  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 AlmaLinux dan Centos
  4. Konfigurasi Nginx
    Konfigurasikan Nginx sebagai reverse proxy, melanjutkan permintaan ke Apache yang berjalan di Port: 8080. Anda bisa mengeditnya di: 
    sudo vim /etc/nginx/nginx.conf

    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 /usr/share/nginx/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 dnf install php php-fpm -y
      sudo systemctl restart httpd
    2. File document root 
      Buat file untuk uji coba php di dalam folder root apache, gunakan command line berikut:
      sudo vim /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

Kesimpulan

Menggunakan Nginx sebagai reverse proxy di depan Apache memberi kamu kecepatan dan skalabilitas tinggi tanpa kehilangan fleksibilitas Apache dalam menangani konten dinamis. Ini adalah setup populer untuk website dengan trafik tinggi atau kebutuhan arsitektur modern.

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.