워드프레스에서 Memcached 이용해보기 – Ubuntu 16.04 + Nginx + PHP 7 + WordPress Cachify

By | 2016-12-13

이 글은 2017-09-15에 최종 수정하였습니다.

여기에서는 UBUNTU 16.04 + Nginx + PHP7상태에서 Memcached를 설치하는 법입니다.

예전에 정리했던 것인데 방치해 놓다가 이번에 가상서버호스팅을테스트 삼아 리노드로 옮기면서 서버를 세팅하면서 조금 보완해 공유합니다.

이 설치 방법은 HOW TO INSTALL AND USE MEMCACHED WITH NGINX, PHP 7 ON UBUNTU 16.04 라는 글을 토대로 실험되고 작성되었다. 더 자세한 설명이 필요하면 원문을 참조하면 좋을 것 같네요.

1. 요구 사항

  • Putty와 같은 SSH 터미널 프로그램 (당연하게도) 저는 Xshell을 사용합니다.
  • 몇가지 기본적인 유닉스 명령어, 뭐 기본적인 용어이고 대분분 따라하는거라
  • 당연하지만 Memcached를 설치할 서버 또는 VPS가 필요하죠(RAM은 512이상이 권장된다고 하네요)
  • Ubuntu 16.04 (이도 당연하지요)
  • Nginx, PHP7, Mysql 등이 설치(이도 당연하지요)

그러고보면 특출난 요구 사항은 없습니다. 그만큼 난이도가 높지는 않다는 이야기겠지요.

2. Memcached 설치하기

Memcached를 설치하는 법을 순서대로 정리해 봅니다.

2.1. (당연하지만) 서버에 로그인하기
2.2. 기 설치된 프로그램 업데이트

항상 프로그램들이 문제가 발생되면 패치를 해 놓기때문에 새로운 프로그램을 설치 시 기존 프로그램들을 업데이트해서 최신 상태로 유지하는게 좋다고 합니다.

그래서 서버에 설치된 프로그램들을 일괄 업데이트 명령을 줍니다.

apt-get update -y
2.3. Memcached 설치

Nginx, PHP7, Mysql 등이 설치되었다는 전제하에 Memcached를 설치합니다.

apt install memcached

 Memcached 설치하기 01

2.4. Memcached를 위한 PHP 확장 프로그램 설치

마찬가지로 Memcached를 위한 PHP 확장 프로그램 설치가 필요합니다.

apt install php-memcached

 Memcached 설치하기 02

2.5. Memcached가 작동하는지 확인

아래와 같은 명령어를 통해서 Memcached가 제대로 작동하는 지 확인해 봅니다.

ps aux | grep memcached

아마 아래와 같은 화면을 볼 수 있을 겁니다.

 Memcached 설치하기 03

2.6. PHP info 확인하기

이는 통상적으로 하는 방법으로 php-info.php파일을 만들어 서버에 올리고 이를 웹 주소에서 입력해 php 정보를 확인하는 방법입니다.

이 작업 후 다른 사람들이 서버의 php 정보를 볼 수 없도록 이 파일은 지우는게 좋습니다.

아래 이미지를 보시면 memcached가 리스트에 나와 있는 것을 볼 수 있습니다.

 PHP7+Memcached 정보 확인 캡춰

3. Memcached 설정하기

아래에서는 Memcached 설정하는 법을 알아봅니다.
많이 변동되는 요소는 없지만..

3.1. memcached.conf 설정 수정

마지막으로 memcached.conf 운용에 필요한 옵션을 수정합니다.

예를 들어 메모리 사용량을 기본 64에서 512로 변경하는 것 등등

 memcached.conf 설정 수정

3.2. php.ini 수정하기

먼저 session.save_handler = files 부분을 주석처리하고 memcached를 추가합니다.

;session.save_handler = files
session.save_handler = memcached

다음으로는 ;session.save_path = "N;/path" 밑에 memcached를 위한 path를 추가합니다.

;session.save_path = "N;/path"
session.save_path = "127.0.0.1:11211"
3.3. PHP5-fpm 및 Memcached 재시작

위와 같은 설정 사항이 완료된 후 PHP5-fpm 및 Memcached 재시작합니다.

service memcached restart
service php7.0-fpm restart

4. 마치며

이러한 Memcached는 개인 사이트 운영 시에는 커다란 효과를 보여주지는 않은다는 것이 일반적인 평이네요.
이러한 설정들은 많은 사용자가 몰리는 커뮤니티나 대규모 사이트에서 효과가 있다고 합니다.

워드프레스에서는 cachify나 W3 Tota Cache같은 cache 에서 memcached를 지원하고 있습니다.

제가 Cachify를 적용하고 있는데 나름 속도 증가는 있었습니다.
개인 사이트라고 할지라도 아주 무용지물은 아닌 듯 싶습니다.

748 times, 1 times today