서버 설치 · 4 min read · Nov 07, 2025

우분투 22.04에 Memcached 설치하는 방법

Memcached는 데이터베이스 데이터를 캐시하는 데 사용되는 무료, 오픈 소스, 일반 목적의 분산 메모리 캐싱 시스템입니다. 이는 데이터베이스 부하를 줄여 동적 웹 애플리케이션의 속도를 높이는 데 사용되는 고성능 메모리 캐싱 시스템입니다. Memcached는 클라이언트와 서버가 함께 작업하여 캐시된 데이터를 가능한 한 효율적으로 제공할 수 있도록 하는 네 가지 구성 요소로 구성되어 있습니다. PHP, Java, C/C++, Python, Ruby, Perl 등과 같은 주요 언어에 대한 API 통합을 제공합니다.

이 튜토리얼에서는 우분투 22.04 서버에 Memcached 서버를 설치하고 PHP와 함께 사용하는 방법을 보여줍니다.

요구 사항

  • 우분투 22.04를 실행하는 서버.
  • 서버에 루트 비밀번호가 설정되어 있어야 합니다.

우분투 22.04에 Memcached 설치하기

기본적으로 Memcached 패키지는 우분투 기본 저장소에 포함되어 있습니다. 다음 명령어를 사용하여 쉽게 설치할 수 있습니다:

apt install memcached libmemcached-tools -y

Memcached가 설치되면 다음 명령어를 사용하여 Memcached 서비스를 시작합니다:

systemctl start memcached

다음 명령어를 사용하여 Memcached의 상태를 확인할 수 있습니다:

systemctl status memcached

다음과 같은 출력을 얻어야 합니다:

? memcached.service - memcached daemon
     Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2022-10-18 13:09:47 UTC; 29s ago
       Docs: man:memcached(1)
   Main PID: 5525 (memcached)
      Tasks: 10 (limit: 2242)
     Memory: 1.7M
        CPU: 71ms
     CGroup: /system.slice/memcached.service
             ??5525 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid

Oct 18 13:09:47 ubuntu2204 systemd[1]: Started memcached daemon.

Memcached 버전을 확인하려면 다음 명령어를 실행합니다:

memcached -V

다음과 같은 출력을 얻어야 합니다:

memcached 1.6.14

기본적으로 Memcached는 포트 11211에서 수신 대기합니다. 다음 명령어로 확인할 수 있습니다:

ss -plunt | grep memcache

다음과 같은 출력을 볼 수 있어야 합니다:

tcp   LISTEN 0      1024                        127.0.0.1:11211      0.0.0.0:*    users:(("memcached",pid=5525,fd=22)) 

PHP Memcached 확장 설치하기

PHP 기반 애플리케이션에서 Memcached를 사용하려면 서버에 PHP Memcached 확장을 설치해야 합니다. 다음 명령어를 사용하여 Apache와 함께 설치할 수 있습니다:

apt install apache2 php libapache2-mod-php php-memcached php-cli -y

다음으로, Memcached를 확인하기 위해 샘플 PHP 테스트 페이지를 생성합니다:

nano /var/www/html/info.php

다음 코드를 추가합니다:

파일을 저장하고 닫은 후, 변경 사항을 적용하기 위해 Apache 서비스를 재시작합니다:

systemctl restart apache2

다음으로, 웹 브라우저를 열고 URL http://your-server-ip/info.php를 사용하여 PHP 페이지에 접근합니다. 다음 화면에서 Memcached를 확인할 수 있어야 합니다:

PHP Memcached

다음으로, Memcached가 작동하는지 확인하기 위해 또 다른 PHP 테스트 페이지를 생성합니다.

nano /var/www/html/test.php

다음 코드를 추가합니다:

addServer("127.0.0.1", 11211); 
$response = $memcached->get("key_cache");

if($response==true) 
{
echo "캐시에서 가져온 결과";
echo $response;
}
else
{
echo "캐시가 아직 생성되지 않았습니다. 변경 사항을 보려면 다시 로드하세요";
$memcached->set("key_cache", "우와! Memcache가 이제 작동합니다 ...") ;
}
}
catch (exception $e)
{
echo $e->getMessage();
}
?>

파일을 저장하고 닫은 후, 웹 브라우저를 열고 URL http://your-server-ip/test.php를 사용하여 PHP 테스트 페이지에 접근합니다. 다음 화면을 볼 수 있어야 합니다:

Test PHP memcached

다음으로, 페이지를 다시 로드합니다. 이번에는 페이지가 캐시 메모리에서 로드됩니다:

PHP result from memcahed

인증으로 Memcached 보안 강화하기

사용자 기반 인증으로 Memcached를 보호하기 위해 간단한 인증 및 보안 계층(SASL)을 사용하는 것이 좋습니다. 이를 위해 서버에 sasl2-bin 패키지를 설치해야 합니다.

apt install sasl2-bin

다음으로, SASL 인증을 위한 디렉토리 및 구성 파일을 생성합니다:

mkdir -p /etc/sasl2  
nano /etc/sasl2/memcached.conf

다음 줄을 추가합니다:

log_level: 5
mech_list: plain
sasldb_path: /etc/sasl2/memcached-sasldb2

파일을 저장하고 닫은 후, 사용자 자격 증명을 사용하여 SASL 데이터베이스를 생성합니다:

saslpasswd2 -a memcached -c -f /etc/sasl2/memcached-sasldb2 user1

다음과 같이 비밀번호를 설정합니다:

Password: 
Again (for verification): 

다음으로, Memcached 데이터베이스의 소유권을 변경합니다:

chown memcache:memcache /etc/sasl2/memcached-sasldb2

다음으로, 다음 명령어를 사용하여 Memcached를 확인합니다:

memcstat --servers="127.0.0.1"

다음과 같은 출력을 얻어야 합니다:

Server: 127.0.0.1 (11211)
     pid: 5525
     uptime: 462
     time: 1666099048
     version: 1.6.14
     libevent: 2.1.12-stable
     pointer_size: 64
     rusage_user: 0.110123
     rusage_system: 0.093906
     max_connections: 1024
     curr_connections: 1
     total_connections: 4
     rejected_connections: 0
     connection_structures: 2
     response_obj_oom: 0
     response_obj_count: 1
     response_obj_bytes: 49152
     read_buf_count: 6
     read_buf_bytes: 98304
     read_buf_bytes_free: 32768
     read_buf_oom: 0
     reserved_fds: 20
     cmd_get: 2
     cmd_set: 1
     cmd_flush: 0
     cmd_touch: 0
     cmd_meta: 0
     get_hits: 1
     get_misses: 1
     get_expired: 0
     get_flushed: 0
     delete_misses: 0

다음으로, Memcached 구성 파일을 편집합니다:

nano /etc/memcached.conf

다음 줄을 추가합니다:

-S
-vv

파일을 저장하고 닫은 후, 변경 사항을 적용하기 위해 Memcached 서비스를 재시작합니다:

systemctl restart memcached

다음으로, 다음 명령어를 사용하여 SASL 지원을 확인합니다:

journalctl -u memcached |grep SASL

모든 것이 정상이라면 다음과 같은 출력을 얻을 수 있습니다:

Journal file /var/log/journal/d97e195db6584d63aeedfdc35dc83c7f/user-1000.journal is truncated, ignoring file.
Oct 18 13:18:19 ubuntu2204 systemd-memcached-wrapper[14980]: Initialized SASL.

Memcached 인증 확인하기

먼저, 인증 없이 Memcached에 대한 연결을 다시 확인해 보십시오:

memcstat --servers="127.0.0.1"

명령어는 출력을 생성하지 않아야 합니다. 상태를 확인하기 위해 다음 셸 명령어를 입력합니다:

echo $?

다음과 같은 상태 코드를 수신해야 하며, 이는 memcstat 명령이 실패했음을 의미합니다:

1

다음으로, 사용자 이름과 비밀번호를 지정하여 Memcached 명령을 다시 실행합니다:

memcstat --servers="127.0.0.1" --username=user1 --password=password

다음과 같은 출력을 얻을 수 있습니다:

Server: 127.0.0.1 (11211)
     pid: 14980
     uptime: 46
     time: 1666099143
     version: 1.6.14
     libevent: 2.1.12-stable
     pointer_size: 64
     rusage_user: 0.077843
     rusage_system: 0.049072
     max_connections: 1024
     curr_connections: 1
     total_connections: 3
     rejected_connections: 0
     connection_structures: 2
     response_obj_oom: 0
     response_obj_count: 1
     response_obj_bytes: 16384
     read_buf_count: 3
     read_buf_bytes: 49152
     read_buf_bytes_free: 16384
     read_buf_oom: 0

Python용 Memcached 설치하기

Python 기반 웹 애플리케이션과 Memcached를 통합하려면 Python용 Memcached 확장을 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다:

apt install python3-pip  
pip install pymemcache  
pip install python-memcached

결론

이 게시물에서는 우분투 22.04에 Memcached 서버를 설치하는 방법을 설명했습니다. 또한 SASL 기반 인증으로 Memcached를 보호하는 방법도 설명했습니다. 이제 Memcached를 애플리케이션과 통합하여 애플리케이션 성능을 향상시킬 수 있기를 바랍니다. 질문이 있으면 언제든지 문의해 주세요.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.