Apache adalah salah satu server web paling andal dan kuat yang tersedia. Apache adalah open-source, sangat dapat disesuaikan, dan dilengkapi dengan banyak modul yang memungkinkan Anda menambahkan fungsionalitas tambahan. Ini dikenal karena kekuatannya dan dirancang khusus untuk situs web berukuran kecil hingga menengah.
Menggunakan Apache secara paralel dengan Nginx dan FastCGI Cache memungkinkan Anda mendapatkan yang terbaik dari kedua dunia. Pengaturan ini akan meningkatkan kinerja server web Anda menggunakan kekuatan kedua aplikasi server web. Cache Nginx FastCGI bekerja dengan menyimpan salinan file dalam cache sehingga dapat diakses lebih cepat.
Dalam tutorial ini, kami akan menunjukkan cara mengatur cache Nginx FastCGI dengan LAMP Server di Ubuntu 18.04. Kami akan mengkonfigurasi Apache sebagai server backend dan Nginx sebagai server frontend dengan FastCGI Cache.
Prasyarat
- VPS Ubuntu 18.04 baru di Platform Cloud Atlantic.Net
- Kata sandi root yang dikonfigurasi di server Anda
Langkah 1 – Buat Server Cloud Atlantic.Net
Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih Ubuntu 18.04 sebagai sistem operasi dengan setidaknya 1GB RAM. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.
Setelah Anda masuk ke server Ubuntu 18.04 Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.
apt-get update -y
Langkah 2 – Instal Server LAMP
First, install the Apache web server, PHP, PHP-FPM and other modules with the following command: apt-get install apache2 php php-fpm libapache2-mod-php7.2 libapache2-mod-fcgid -y
Setelah semua paket terinstal, Anda perlu mengaktifkan beberapa modul Apache yang diperlukan agar Apache dapat bekerja dengan PHP-FPM.
Anda dapat mengaktifkannya dengan perintah berikut:
a2enmod actions fcgid alias proxy_fcgi
Selanjutnya, restart layanan Apache untuk menerapkan perubahan.
systemctl restart apache2
Langkah 3 – Buat Situs Web Contoh
Pertama, buat direktori untuk situs web Anda dengan perintah berikut:
mkdir /var/www/html/example.com
Selanjutnya, buat contoh file info.php di dalam direktori situs web Anda:
nano /var/www/html/example.com/info.php
Tambahkan baris berikut:
<?php phpinfo(); ?>
Simpan dan tutup file tersebut, lalu ubah kepemilikan website Anda menjadi www-data user:
chown -R www-data:www-data /var/www/html/example.com chmod -R 755 /var/www/html/example.com
Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.
Langkah 4 – Konfigurasi Apache Web Server
nano /etc/apache2/ports.conf
Ubah baris dari “Listen 80” menjadi “Listen 8088”:
Listen 8088
Simpan dan tutup file setelah selesai, lalu nonaktifkan file virtual host default Apache dengan perintah berikut:
a2dissite 000-default.conf
Selanjutnya, restart server web Apache untuk menerapkan perubahan.
systemctl restart apache2
Selanjutnya, buat file konfigurasi host virtual baru untuk melayani situs web Anda:
nano /etc/apache2/sites-available/example.com.conf
Tambahkan konten berikut:
<VirtualHost 127.0.0.1:8088> ServerName 127.0.0.1 ServerAdmin [email protected] DocumentRoot /var/www/html/example.com DirectoryIndex info.php <FilesMatch \.php$> # 2.4.10+ can proxy to unix socket SetHandler "proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost" </FilesMatch> <Directory /var/www/html/> Options FollowSymLinks Includes ExecCGI AllowOverride All Require all granted </Directory> CustomLog /var/log/apache2/access.log combined ErrorLog /var/log/apache2/error.log </VirtualHost>
Simpan dan tutup file setelah selesai, lalu aktifkan file konfigurasi virtual host Apache dengan perintah berikut:
a2ensite example.com.conf
Selanjutnya, restart layanan Apache untuk menerapkan perubahan:
systemctl restart apache2
Pada titik ini, server web Apache dikonfigurasi dan mendengarkan di localhost pada port 8088.
Langkah 5 – Konfigurasi Nginx sebagai Proxy Terbalik dengan FastCGI Cache
Di bagian ini, kita akan mengonfigurasi Nginx sebagai proxy terbalik untuk server web Apache dan mengaktifkan FastCGI Cache.
Pertama, instal server web Nginx dengan perintah berikut:
apt-get install nginx -y
Setelah terinstal, buat file konfigurasi virtual host Nginx baru:
nano /etc/nginx/sites-available/example.com.conf
Tambahkan konten berikut:
# Enable FastCGI Support proxy_cache_path /etc/nginx/cache levels=1:2 keys_zone=nginxcache:100m max_size=1g inactive=60m use_temp_path=off; fastcgi_cache_key "$scheme$request_method$host$request_uri"; add_header X-Cache $upstream_cache_status; server { listen 80; server_name example.com; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; location = /favicon.ico { access_log off; log_not_found off; } set $skip_cache 0; #Disable caching for login session, user cookie, POST request, query string, site map and feeds if ($request_method = POST) { set $skip_cache 1; } if ($query_string != "") { set $skip_cache 1; } # Enable caching for your website. location / { proxy_pass http://127.0.0.1:8088; proxy_set_header Host $host; proxy_buffering on; proxy_cache nginxcache; proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504; proxy_cache_valid 200 301 302 60m; proxy_cache_min_uses 1; proxy_cache_lock on; } }
Simpan dan tutup file setelah selesai, lalu aktifkan file virtual host Nginx dengan perintah berikut:
ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
Selanjutnya, restart layanan Nginx untuk menerapkan perubahan:
systemctl restart nginx
Langkah 6 – Uji Nginx FastCGI Cache
Pada titik ini, Nginx diinstal dan dikonfigurasi sebagai proxy terbalik untuk Apache dengan dukungan FastCGI Cache. Saatnya memverifikasi apakah caching berfungsi atau tidak.
Buka browser web Anda dan akses server web Nginx Anda menggunakan URL http://example.com dan muat ulang halaman beberapa kali.
Selanjutnya, buka terminal Anda dan jalankan perintah berikut untuk mengambil header respons http.
curl -I http://example.com
Anda akan mendapatkan output berikut:
HTTP/1.1 200 OK Server: nginx/1.14.0 (Ubuntu) Date: Fri, 24 Apr 2020 17:01:42 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive Vary: Accept-Encoding X-Cache: HIT
Dari output di atas, X-Cache:HIT menunjukkan bahwa respons disajikan dari cache.
Kesimpulan
Dalam panduan di atas, kami telah menginstal dan mengkonfigurasi server web Apache sebagai server backend dan Nginx sebagai server frontend dengan caching FastCGI. Mudah-mudahan, pengaturan ini akan secara dramatis meningkatkan kinerja server web Anda. Mulai caching FastCGI di server LAMP Anda dengan hosting VPS dari Atlantic.Net hari ini!