GNU/Linux >> Belajar Linux >  >> Linux

Cara Setup Nginx Cache di Server LAMP

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!


Linux
  1. Cara Mengatur Blok Server Nginx Di Ubuntu 18.04 LTS

  2. Cara Setup WordPress di Server Ubuntu dengan Apache

  3. Cara Memasang Server LAMP di Debian 11

  1. Cara Mengatur Apache Sebagai Proxy Frontend untuk Node.js

  2. Cara Menginstal Server LAMP di CentOS 8

  3. Cara Menginstal Nginx di Ubuntu 14.04

  1. Cara Menginstal Apache di FreeBSD

  2. Cara Menginstal Nginx di Debian 7

  3. Cara Menginstal Apache Di Fedora 20