Cara Memasang Memcached pada Ubuntu 20.04 LTS

Optimumkan prestasi pangkalan data anda dengan menggunakan pelayan Memcached dengan aplikasi PHP dan Python anda

Jika anda pernah merasakan kesakitan beban Pangkalan Data yang tinggi menyebabkan kelembapan dalam apl web anda dan tertanya-tanya "Adakah terdapat cara untuk mengurangkan kependaman yang disebabkan oleh pertanyaan DB?", maka jawapan kepada soalan itu ialah ya yang besar. Memcached daemon cache memori kejiranan yang mesra ada di sini untuk menyelesaikan semua masalah anda! Caching DB ialah salah satu kaedah paling mudah untuk mengurangkan beban DB dan mempercepatkan aplikasi web dinamik.

Memcached mentakrifkan dirinya sebagai sistem caching objek memori teragih berprestasi tinggi, bersifat generik, tetapi pada asalnya bertujuan untuk digunakan dalam mempercepatkan aplikasi web dinamik dengan mengurangkan beban pangkalan data. Dibangunkan oleh Brad Fitzpatrick untuk laman webnya LiveJournal pada tahun 2003.

Dalam artikel ini, kita akan melihat cara memasang dan mengkonfigurasi Memcached dalam Ubuntu 20.04 dan melihat klien khusus bahasanya.

Prasyarat

Sistem yang dipasang dengan Ubuntu 20.04 dengan pengguna dengan hak pentadbiran, iaitu a sudo pengguna.

Pemasangan

Memcached tersedia pada repositori rasmi Ubuntu 20.04, sebagai tambahan kepada Memcached kami juga akan memasang alat CLI yang dikenali sebagai libmemcached-tools untuk menguruskan Memcached. Jalankan sahaja arahan berikut untuk memasang kedua-duanya

sudo apt install memcached libmemcached-tools

Sahkan Pemasangan

Selepas pemasangan selesai, daemon Memcached bermula di latar belakang dengan sendirinya. Untuk mengesahkan pemasangan, kita boleh menggunakan arahan daripada libmemcached-tools pakej untuk mendapatkan statistik pelayan Memcached. Sama ada lari

memcstat --servers localhost

atau

memcstat --servers 127.0.0.1

The memcstat arahan menunjukkan statistik pelayan yang sedang berjalan. Perintah di atas akan menghasilkan output dipaparkan di bawah.

Pelbagai statistik seperti masa beroperasi dalam beberapa saat, versi dan pid akan dipaparkan sebagai output. Walau bagaimanapun, jika tiada output dipaparkan, ada kemungkinan Memcached tidak berjalan. Oleh itu, anda mesti menjalankan arahan berikut untuk memulakan pelayan Memcached.

sudo systemctl mula memcached

Untuk menjalankan pelayan Memcached pada permulaan sistem gunakan arahan berikut.

sudo systemctl membolehkan memcached

Mengkonfigurasi Memcached

Jika anda telah memasang memcached anda pada pelayan laman web itu sendiri, tidak perlu menukar fail konfigurasi kerana memcached diprakonfigurasikan untuk berfungsi dengan localhost.

Sebaliknya, jika anda telah memasang Memcached pada sistem yang berasingan, anda perlu menukar konfigurasi untuk membenarkan akses pelayan jauh ke pelayan Memcached.

Menyediakan Akses Jauh untuk Pelayan Memcached

Memcached terdedah kepada serangan DDoS (Distributed Denial of Service). Peraturan tembok api yang salah dan port UDP terbuka akan menyebabkan pelayan anda terbuka dan terdedah kepada serangan DDoS.

Untuk mengurangkan risiko, kami boleh sama ada melumpuhkan protokol UDP untuk Memcached dalam konfigurasi atau menyediakan tembok api hanya untuk membenarkan pelayan yang dipercayai.

Di luar kotak, Ubuntu dihantar tanpa port TCP atau UDP terbuka. Tambahan pula, daemon firewall ufw (Tembok Api tidak rumit) tidak didayakan secara lalai.

Kami akan mendayakan tembok api dan menyediakan konfigurasi Memcached supaya kami boleh mengurangkan kerentanan DDoS.

Pertama, dayakan ufw dengan menjalankan arahan berikut:

sudo systemctl membolehkan ufw

Kemudian mulakan ufw perkhidmatan dengan menjalankan arahan di bawah:

sudo systemctl mulakan ufw

Dengan Firewall berjalan, akhirnya kita boleh menyediakan peraturan firewall. Pertama, dayakan port 22 untuk membenarkan sambungan SSH. SSH diperlukan untuk mengakses pelayan yang dikehendaki dari jauh.

sudo ufw benarkan 22

Kedua, anda perlu mengetahui alamat IP klien, iaitu hos aplikasi web dan alamat IP pelayan, iaitu pelayan Memcached.

Untuk contoh ini, mari kita anggap IP Pelanggan adalah 192.168.0.4 dan IP pelayan Memcached menjadi 192.168.0.5 pada rangkaian tempatan.

Jadi untuk membenarkan akses jauh pelayan memcached ke pelayan pelanggan, jalankan:

sudo ufw membenarkan dari 192.168.0.4 ke mana-mana port 11211

Gantikan 192.168.0.4 dengan alamat IP Pelanggan yang anda inginkan.

Seterusnya, edit fail konfigurasi Memcached yang terletak di /etc/memcached.conf dengan berlari nano perintah.

sudo nano /etc/memcached.conf

The memcached.conf fail konfigurasi akan dibuka dengan editor nano, cari fail -l 127.0.0.1 baris dalam konfigurasi dan ganti 127.0.0.1 dengan IP Pelayan Memcached anda atau dalam hal ini 192.168.0.5.

Selepas menggantikan akhbar ctrl+o untuk menulis ke fail konfigurasi dan tekan enter, tekan ctrl+x untuk keluar dari nano.

Mulakan semula pelayan Memcached dan ufw firewall dengan menjalankan arahan di bawah.

sudo systemctl mulakan semula memcached ufw

Sekarang kita telah selesai dengan pemasangan dan konfigurasi pelayan Memcached pada Ubuntu 20.04.

Menyambung ke Pelayan Memcached

Untuk menggunakan pelayan Memcached, anda perlu memasang klien khusus bahasa. Nasib baik, Memcached mempunyai sokongan untuk banyak bahasa popular.

Oleh itu mari kita lihat cara memasang php dan ular sawa pelanggan untuk Memcached.

PHP ialah bahasa skrip sebelah pelayan yang paling popular dan Memcached kebanyakannya digunakan oleh pembangun web untuk meningkatkan prestasi pelayan aplikasi web yang dikuasakan oleh PHP.

Untuk memasang sokongan memcached dalam php, lari:

sudo apt install php-memcached

Python juga mempunyai beberapa perpustakaan yang boleh berfungsi dan berinteraksi dengan pelayan Memcached seperti pymemcached atau python-memcached.

Anda boleh memasang memcached untuk python dengan menjalankan arahan pip berikut:

pip pasang pymemcache
pip pasang python-memcached

Kesimpulannya, kami telah melihat pemasangan, konfigurasi dan beberapa pelanggan khusus bahasa Memcached dalam Ubuntu 20.04.

Untuk mengetahui lebih lanjut penggunaan Memcached secara terperinci dan lanjutan, sila lihat Memcached Wiki.