Cách cài đặt Memcached trên Ubuntu 20.04 LTS

Tối ưu hóa hiệu suất cơ sở dữ liệu của bạn bằng cách sử dụng máy chủ Memcached với các ứng dụng PHP và Python của bạn

Nếu bạn đã từng cảm thấy nỗi đau của việc tải Cơ sở dữ liệu cao gây ra sự chậm lại trong các ứng dụng web của mình và tự hỏi "Có cách nào để giảm độ trễ do các truy vấn DB gây ra không?", Thì câu trả lời cho câu hỏi đó là có. Memcached một daemon bộ nhớ đệm bộ nhớ lân cận thân thiện ở đây để giải quyết tất cả các tai ương của bạn! Lưu trữ DB là một trong những phương pháp đơn giản nhất để giảm tải DB và tăng tốc các ứng dụng web động.

Memcached tự định nghĩa là hệ thống bộ nhớ đệm đối tượng bộ nhớ phân tán, hiệu suất cao, về bản chất chung, nhưng ban đầu được thiết kế để sử dụng trong việc tăng tốc các ứng dụng web động bằng cách giảm tải cơ sở dữ liệu. Được phát triển bởi Brad Fitzpatrick cho trang web LiveJournal của anh ấy vào năm 2003.

Trong bài viết này, chúng ta sẽ xem xét cách cài đặt và cấu hình Memcached trong Ubuntu 20.04 và xem xét các ứng dụng khách dành riêng cho ngôn ngữ của nó.

Điều kiện tiên quyết

Hệ thống được cài đặt với Ubuntu 20.04 với người dùng có quyền quản trị, đó là sudo người dùng.

Cài đặt

Memcached có sẵn trên kho lưu trữ Ubuntu 20.04 chính thức, ngoài Memcached, chúng tôi cũng sẽ cài đặt một công cụ CLI được gọi là libmemcached-tools để quản lý Memcached. Chỉ cần chạy lệnh sau để cài đặt cả hai

sudo apt install memcached libmemcached-tools

Xác minh cài đặt

Sau khi cài đặt xong, trình nền Memcached sẽ tự khởi động ở chế độ nền. Để xác minh cài đặt, chúng tôi có thể sử dụng lệnh từ libmemcached-tools gói để nhận số liệu thống kê máy chủ Memcached. Hoặc chạy

memcstat - máy chủ localhost

hoặc là

memcstat - máy chủ 127.0.0.1

Các memcstat lệnh hiển thị số liệu thống kê của máy chủ đang chạy. Lệnh trên sẽ cho kết quả hiển thị bên dưới.

Các số liệu thống kê khác nhau như thời gian hoạt động trong vài giây, phiên bảnpid sẽ được hiển thị dưới dạng đầu ra. Tuy nhiên, nếu không có đầu ra nào được hiển thị thì có thể Memcached không chạy. Do đó, bạn phải chạy lệnh sau để khởi động máy chủ Memcached.

sudo systemctl start memcached

Để chạy máy chủ Memcached khi khởi động hệ thống, hãy sử dụng lệnh sau.

sudo systemctl kích hoạt memcached

Định cấu hình Memcached

Nếu bạn đã cài đặt memcached trên chính máy chủ trang web, không cần thay đổi tệp cấu hình vì memcached đã được cấu hình sẵn để hoạt động với localhost.

Mặt khác, nếu bạn đã cài đặt Memcached trên một hệ thống riêng biệt, bạn sẽ cần thay đổi cấu hình để cho phép máy chủ từ xa truy cập vào máy chủ Memcached.

Thiết lập quyền truy cập từ xa cho máy chủ Memcached

Memcached dễ bị tấn công DDoS (Từ chối dịch vụ phân tán). Quy tắc tường lửa không chính xác và các cổng UDP đang mở sẽ khiến máy chủ của bạn mở và dễ bị tấn công DDoS.

Để giảm thiểu rủi ro, chúng tôi có thể tắt giao thức UDP cho Memcached trong cấu hình hoặc chỉ thiết lập tường lửa để cho phép các máy chủ đáng tin cậy.

Ngoài ra, Ubuntu xuất xưởng mà không có cổng TCP hoặc UDP nào mở. Hơn nữa, trình nền tường lửa ufw (Tường lửa không phức tạp) không được bật theo mặc định.

Chúng tôi sẽ kích hoạt tường lửa và thiết lập cấu hình Memcached để có thể giảm thiểu lỗ hổng DDoS.

Đầu tiên, hãy bật ufw bằng cách chạy lệnh sau:

sudo systemctl cho phép ufw

Sau đó, bắt đầu ufw dịch vụ bằng cách chạy lệnh dưới đây:

sudo systemctl start ufw

Với Tường lửa đang chạy, cuối cùng chúng ta cũng có thể thiết lập các quy tắc của tường lửa. Đầu tiên, bật cổng 22 để cho phép kết nối SSH. SSH là cần thiết để truy cập từ xa vào máy chủ mong muốn.

sudo ufw allow 22

Thứ hai, bạn cần biết địa chỉ IP của máy khách, đó là máy chủ lưu trữ ứng dụng web và địa chỉ IP của máy chủ, đó là máy chủ Memcached.

Đối với trường hợp này, chúng ta hãy giả sử IP của Máy khách là 192.168.0.4 và IP máy chủ Memcached sẽ được 192.168.0.5 trên mạng cục bộ.

Vì vậy, để cho phép truy cập từ xa máy chủ memcached tới máy chủ khách, hãy chạy:

sudo ufw cho phép từ 192.168.0.4 đến bất kỳ cổng nào 11211

Thay thế cái 192.168.0.4 với địa chỉ IP ứng dụng khách mong muốn của bạn.

Tiếp theo, chỉnh sửa tệp cấu hình Memcached có tại /etc/memcached.conf bằng cách chạy nano yêu cầu.

sudo nano /etc/memcached.conf

Các memcached.conf tệp cấu hình sẽ mở bằng trình chỉnh sửa nano, hãy tìm -l 127.0.0.1 dòng trong cấu hình và thay thế 127.0.0.1 với IP Máy chủ Memcached của bạn hoặc trong trường hợp này 192.168.0.5.

Sau khi thay thế báo chí ctrl + o để ghi vào tệp cấu hình và nhấn enter, nhấn ctrl + x để thoát khỏi nano.

Khởi động lại máy chủ Memcached và ufw tường lửa bằng cách chạy lệnh dưới đây.

sudo systemctl khởi động lại memcached ufw

Bây giờ chúng ta đã hoàn tất việc cài đặt và cấu hình máy chủ Memcached trên Ubuntu 20.04.

Kết nối với Máy chủ Memcached

Để sử dụng máy chủ Memcached, bạn sẽ cần cài đặt một ứng dụng khách dành riêng cho ngôn ngữ. May mắn thay, Memcached có hỗ trợ cho nhiều ngôn ngữ phổ biến.

Vì vậy, chúng ta hãy xem cách cài đặt phpcon trăn ứng dụng khách cho Memcached.

PHP là ngôn ngữ kịch bản phía máy chủ phổ biến nhất và Memcached hầu hết được các nhà phát triển web sử dụng để cải thiện hiệu suất máy chủ của các ứng dụng web được cung cấp bởi PHP.

Để cài đặt hỗ trợ memcached trong php, chạy:

sudo apt install php-memcached

Python cũng có một số thư viện có thể hoạt động và tương tác với máy chủ Memcached, chẳng hạn như pymemcached hoặc là python-memcached.

Bạn có thể cài đặt memcached cho python bằng cách chạy các lệnh pip sau:

pip cài đặt pymemcache
pip cài đặt python-memcached

Kết luận, chúng tôi đã xem xét cài đặt, cấu hình và một số ứng dụng khách dành riêng cho ngôn ngữ của Memcached trong Ubuntu 20.04.

Để biết thêm thực tế và cách sử dụng nâng cao của Memcached, hãy xem qua Memcached Wiki.