Ubuntu 20.04 LTS에 Memcached를 설치하는 방법

PHP 및 Python 앱과 함께 Memcached 서버를 사용하여 데이터베이스 성능 최적화

높은 데이터베이스 로드로 인해 웹 앱의 속도가 느려지는 고통을 느끼고 "DB 쿼리로 인한 대기 시간을 줄이는 방법이 있습니까?"라고 생각한 적이 있다면 그 질문에 대한 대답은 크게 예입니다. Memcached 친숙한 이웃 메모리 캐시 데몬이 모든 고민을 해결해 드립니다! DB 캐싱은 DB 부하를 줄이고 동적 웹 애플리케이션의 속도를 높이는 가장 간단한 방법 중 하나입니다.

Memcached는 자체를 고성능 분산 메모리 개체 캐싱 시스템으로 정의하며, 본질적으로 일반적이지만 원래 데이터베이스 부하를 완화하여 동적 웹 응용 프로그램의 속도를 높이는 데 사용하도록 의도되었습니다. Brad Fitzpatrick이 2003년 웹사이트 LiveJournal을 위해 개발했습니다.

이 기사에서는 Ubuntu 20.04에서 Memcached를 설치 및 구성하는 방법과 해당 언어별 클라이언트를 살펴보겠습니다.

전제 조건

관리자 권한이 있는 사용자로 Ubuntu 20.04가 설치된 시스템, 즉 수도 사용자.

설치

Memcached는 공식 Ubuntu 20.04 리포지토리에서 사용할 수 있으며 Memcached 외에도 다음으로 알려진 CLI 도구도 설치할 예정입니다. libmemcached-도구 Memcached를 관리합니다. 다음 명령을 실행하여 둘 다 설치하십시오

sudo apt 설치 memcached libmemcached-tools

설치 확인

설치가 완료되면 Memcached 데몬이 백그라운드에서 자체적으로 시작됩니다. 설치를 확인하기 위해 다음 명령을 사용할 수 있습니다. libmemcached-도구 Memcached 서버 통계를 가져오는 패키지입니다. 실행하거나

memcstat --서버 로컬 호스트

또는

memcstat --서버 127.0.0.1

그만큼 memcstat 명령은 실행 중인 서버의 통계를 보여줍니다. 위의 명령을 실행하면 아래와 같이 출력됩니다.

등의 다양한 통계 가동 시간 몇 초 안에, 버전 그리고 PID 출력으로 표시됩니다. 그러나 출력이 표시되지 않으면 Memcached가 실행되고 있지 않을 수 있습니다. 따라서 Memcached 서버를 시작하려면 다음 명령을 실행해야 합니다.

sudo systemctl 시작 memcached

시스템 시작 시 Memcached 서버를 실행하려면 다음 명령을 사용하십시오.

sudo systemctl은 memcached를 활성화합니다.

Memcached 구성

웹 사이트 서버 자체에 memcached가 설치되어 있는 경우 memcached가 localhost와 함께 작동하도록 미리 구성되어 있으므로 구성 파일을 변경할 필요가 없습니다.

반면에 별도의 시스템에 Memcached를 설치한 경우 원격 서버에서 Memcached 서버에 액세스할 수 있도록 구성을 변경해야 합니다.

Memcached 서버에 대한 원격 액세스 설정

Memcached는 DDoS(분산 서비스 거부) 공격에 취약합니다. 잘못된 방화벽 규칙과 UDP 포트를 열면 서버가 열려 있고 DDoS 공격에 취약합니다.

위험을 완화하기 위해 구성에서 Memcached에 대한 UDP 프로토콜을 비활성화하거나 신뢰할 수 있는 서버만 허용하도록 방화벽을 설정할 수 있습니다.

기본적으로 Ubuntu는 TCP 또는 UDP 포트가 열려 있지 않은 상태로 배송됩니다. 또한 방화벽 데몬 ufw (복잡하지 않은 방화벽)은 기본적으로 활성화되어 있지 않습니다.

DDoS 취약점을 완화할 수 있도록 방화벽을 활성화하고 Memcached 구성을 설정할 것입니다.

먼저 ufw 다음 명령을 실행하여:

sudo systemctl enable ufw

그런 다음 시작 ufw 아래 명령을 실행하여 서비스를

sudo systemctl 시작 ufw

방화벽이 실행되면 마침내 방화벽 규칙을 설정할 수 있습니다. 먼저 SSH 연결을 허용하려면 포트 22를 활성화하십시오. SSH는 원하는 서버에 원격으로 액세스하기 위해 필요합니다.

sudo ufw 허용 22

둘째, 웹 애플리케이션 호스트인 클라이언트의 IP 주소와 Memcached 서버인 서버의 IP 주소를 알아야 합니다.

이 경우 클라이언트 IP가 다음과 같다고 가정해 보겠습니다. 192.168.0.4 그리고 Memcached 서버 IP는 192.168.0.5 로컬 네트워크에서.

따라서 클라이언트 서버에 대한 memcached 서버의 원격 액세스를 허용하려면 다음을 실행하십시오.

sudo ufw 192.168.0.4에서 모든 포트 11211로 허용

교체 192.168.0.4 원하는 클라이언트 IP 주소로

그런 다음 다음 위치에 있는 Memcached 구성 파일을 편집합니다. /etc/memcached.conf 실행하여 나노 명령.

sudo nano /etc/memcached.conf

그만큼 memcached.conf 구성 파일이 nano 편집기로 열리면 -l 127.0.0.1 구성에 줄을 서서 교체하십시오. 127.0.0.1 Memcached 서버 IP 또는 이 경우 192.168.0.5.

프레스 교체 후 Ctrl+O 구성 파일에 쓰고 Enter 키를 누르려면 Ctrl+X 나노를 종료합니다.

Memcached 서버를 다시 시작하고 ufw 아래 명령을 실행하여 방화벽.

sudo systemctl 다시 시작 memcached ufw

이제 Ubuntu 20.04에서 Memcached 서버의 설치 ​​및 구성이 완료되었습니다.

Memcached 서버에 연결

Memcached 서버를 사용하려면 언어별 클라이언트를 설치해야 합니다. 다행히 Memcached는 많은 인기 있는 언어를 지원합니다.

그럼 설치 방법을 알아보도록 하겠습니다 PHP 그리고 파이썬 Memcached용 클라이언트.

PHP는 가장 널리 사용되는 서버 측 스크립팅 언어이며 Memcached는 주로 웹 개발자가 PHP로 구동되는 웹 앱의 서버 성능을 개선하는 데 사용합니다.

PHP에서 memcached 지원을 설치하려면, 운영:

sudo apt 설치 php-memcached

Python에도 다음과 같은 Memcached 서버와 작동하고 상호 작용할 수 있는 여러 라이브러리가 있습니다. pymemcached 또는 파이썬 memcached.

다음 pip 명령을 실행하여 Python용 memcached를 설치할 수 있습니다.

핍 설치 pymemcache
pip 설치 python-memcached

결론적으로 Ubuntu 20.04에서 Memcached의 설치, 구성 및 소수의 언어별 클라이언트를 살펴보았습니다.

Memcached의 더 핵심적이고 고급 사용법을 알고 싶다면 Memcached Wiki를 살펴보십시오.