Apache adalah server web paling populer, mampu beroperasi di banyak sistem operasi, termasuk UNIX / Linux, Microsoft Windows dan OpenVMS.
NGINX adalah server web berperforma tinggi yang digunakan khususnya untuk file statis dan sebagai proxy terbalik, tetapi berkat keserbagunaannya, server ini dapat digunakan dalam segala jenis situasi.
Dalam tutorial ini kita akan menemukan cara menggunakan kekuatan kedua server web dengan membuatnya bekerja sama dalam harmoni yang sempurna. NGINX akan digunakan sebagai server web frontend yang akan menangani permintaan klien dan mengirimkannya ke Apache, yang akan menjadi server web backend kami dan mengembalikan respons yang diminta. Prosedur ini memungkinkan untuk memperoleh berbagai manfaat dari kinerja hingga keselamatan.
Pertama, sambungkan ke server Anda melalui koneksi SSH. Jika Anda belum melakukannya, ikuti panduan kami disarankan untuk terhubung secara aman dengan SSH. Jika ada server lokal, lanjutkan ke langkah berikutnya dan buka terminal server Anda.
Instalasi dan konfigurasi Apache
Perbarui repositori distribusi Linux Ubuntu, untuk memastikan Anda mengunduh Apache versi terbaru:
$ sudo apt-get update
Kemudian, mulai instalasi:
$ sudo apt install apache2
Pada titik ini, instalasi Apache telah selesai dan dimungkinkan untuk melanjutkan konfigurasinya.
Ubah port yang digunakan secara default oleh Apache menjadi 8080. Untuk melakukannya, buka file konfigurasi seperti pada gambar:
$ sudo nano /etc/apache2/ports.conf
Temukan baris Listen 80 dan ubah menjadi Listen 8080, lalu simpan dan tutup file.
Mulai ulang layanan Apache:
$ sudo systemctl restart apache2
Untuk memeriksa perubahan port Apache kunjungi http://
Instalasi dan Konfigurasi NGINX
Lanjutkan dengan memulai instalasi NGINX:
$ sudo apt-get install nginx
Setelah instalasi selesai, buka file konfigurasi NGINX seperti pada gambar:
$ sudo nano /etc/nginx/nginx.conf
Kemudian, edit atau tambahkan blok server seperti yang ditunjukkan di sini untuk menggunakan NGINX sebagai server proxy Apache:
server {
listen 80;
root /var/www/html;
index index.php index.html index.htm;
server_name SERVER_IP;
location / {
proxy_pass http://localhost:8090;
proxy_set_header Host $http_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;
}
}
Simpan dan tutup file.
Kemudian, restart layanan NGINX:
$ sudo systemctl restart nginx
Konfigurasi firewall
Jika ada firewall di sistem Anda, setel untuk mengaktifkan lalu lintas HTTP dan lalu lintas HTTPS ke komputer Anda.
Saat menggunakan firewall UFW, Anda akan memiliki profil pra-instal untuk NGINX. Jadi mari kita lihat cara mengaktifkannya.
Untuk memeriksa profil yang tersedia yang terpasang di firewall UFW, jalankan perintah ini:
$ sudo ufw app list
Daftar yang mirip dengan ini akan ditampilkan di layar:
Available applications:
Dovecot IMAP
Dovecot POP3
Dovecot Secure IMAP
Dovecot Secure POP3
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Postfix
Postfix SMTPS
Postfix Submission
Untuk mengizinkan lalu lintas HTTP (Port 80) dan HTTPS (Port 443), gunakan profil "Nginx Full".
Anda dapat memeriksa informasi profil Anda seperti ini:
$ sudo ufw app info "Nginx Full"
Deskripsi profil akan muncul di layar:
Profile: Nginx Full
Title: Web Server (Nginx, HTTP + HTTPS)
Description: Small, but very powerful and efficient web server
Ports:
80,443/tcp
Setelah memeriksa profil, Anda dapat mengaktifkannya:
$ sudo ufw allow in "Nginx Full"
Terakhir, lanjutkan dengan menguji dua server web dengan mengunjungi alamat http://
Jika prosedur dilakukan dengan benar, situs web Anda akan ditampilkan dengan layar Apache default. Ini berarti proxy terbalik berfungsi dan telah dikonfigurasi dengan benar.