Cara Install Nginx Sebagai Reverse Proxy Apache –Â Ada beberapa alasan mengapa kita menginstall 2 web server sekaligus dalam 1 VPS. Alasan popularitas apache dan nginx sudah jelas. Apache terkenal dengan kekuatannya sedangkan nginx terkenal akan kecepatannya. Akan tetapi apache web server sangat boros akan memory server, sedangkan Nginx bagus untuk web statis dan membutuhkan modul php-fpm untuk mengelola konten yang dinamis, seperti wordpress dsb.
Namun, kita dapat menggabungkan 2 webserver pada satu vps yang mana nantinya Nginx sebagai front end (sebagai web server statis) sedangkan Apache sebagai back end (pemroses).
Meskipun ada yang berpendapat bahwa menginstall 2 web server sekaligus justru malah akan memakan resource VPS 2 kali lipat. Tapi tidak ada salahnya kita mencoba hal tersebut agar kita tahu lebih jelas perbedaannya.
Cara Install Nginx Sebagai Reverse Proxy Apache
Install Nginx
apt-get update apt-get install nginx
Konfigurasi Nginx virtual Host
buat konfigurasi dengan nama example, bisa disesuaikan dengan keinginan anda.
nano /etc/nginx/sites-available/example
Copy paste konfigurasi dibawah ini. konfig ini hampir sama dengan default konfig nginx. bedanya kita akan memforward proxy header ke apache (backend).
server { listen 80; root /var/www/; index index.php index.html index.htm; server_name example.com; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; proxy_pass http://127.0.0.1:8080; } location ~ /\.ht { deny all; } }
Mengaktifkan Virtual Host Nginx
ln -s /etc/nginx/sites-available/example /etc/nginx/sites-enabled/example
hapus default nginx server block
rm /etc/nginx/sites-enabled/default
Installasi nginx cukup seperti ini saja. Sekarang kita tinggal menginstall apache web server yang nantinya di gunakan sebagai backend dari nginx.
Install Apache
apt-get install apache2
Konfigurasi Apache
nano /etc/apache2/ports.conf
Cari dan ubah konfigurasi apache menjadi seperti dibawah ini.
NameVirtualHost 127.0.0.1:8080 Listen 127.0.0.1:8080
Simpan.
Konfigurasi Apache2 Virtual Host
Copy saja dari konfigurasi default menjadi example.
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/example
Buka konfigurasi dengan nama example tadi.
nano /etc/apache2/sites-available/example
Ubah juga virtual host seperti  pada konfigurasi nginx tadi dengan port 8080. seperti dibawah ini.
<VirtualHost 127.0.0.1:8080>
Aktifkan Virtual Host Apache2
a2ensite example
Sebelum melakukan testing. kita perlu menginstall php.
apt-get install php5
Restart kedua web server.
service apache2 restart && service nginx restart
Finishing.
Cek info php.
nano /var/www/info.php
masukkan perintah dibawah ini.
<? phpinfo( ); ?>
lalu buka http://ipaddress/info.php ,maka akan tampil info lengkap tentang php yang digunakan. (Lihat Gambar).
Lihat pada bagian Server API, jika kita melakukan installasi nginx dan apache sebagai reverse proxy dengan benar maka ia tetap menggunakan apache sebagai pemroses.
Perbedaan ketika anda menggunakan nginx saja adalah pada server API ia menggunakan modul php-fpm sebagai pemroses untuk konten dinamisnya.
Jadi hasil akhir dari tutorial ini adalah kita menginstall nginx pada port 80 ketika ada request maka nginx akan mem-forward request tersebut ke apache yang mana apache ini berjalan pada port 8080.
Anda bisa mengecek port yang berjalan pada vps anda menggunakan perintah berikut:
netstat -ntulp
Demikian Cara Install Nginx Sebagai Reverse Proxy Apache