Установка и настройка memcached
Сервис memcache
На машине, где будет стоять сервис memcache
sudo apt install memcached
Если memcached установлен на том же сервере, что и php fpm, настраивать ничего не надо.
Если на другом, редактируем файл /etc/memcached.conf
-l ip_addr_memcashed_service
ip_addr_memcashed_service — это ip адрес сервера, на котором установлен memcached.
memcached висит на 11211 порту по умолчанию. Так как в memcached нет встроенных механизмов аутентификации, то выходит, что любой может подсоединиться извне и использовать его в своих целях. Чтобы избежать этого, сконфигурировать memcached-сервер, чтобы он мог использоваться только с локального хоста.
- Открываем конфигурационный файл1
vi
/etc/memcached.conf
- Добавляем строку1
-l 127.0.0.1
- Или ставим локальный IP
- Перезагружаем memcached1
service memcached restart
Перезапускаем сервис memcached
sudo service memcached restart
php fpm
Пакет, входящий в дистрибутив не работает с php 7.X, поэтому устанавливаем через pecl На машине, где установлен PHP fpm
P.S Без этих расширений не будет работать кеширование !
sudo apt-get install php7.2-dev php-pear zlib1g-dev libmemcached-dev php7.2-memcached -y
Создаем файл /etc/php/7.2/mods-available/memcached.ini
; priority=25
extension=memcached.so
И десаем ссылку на этот файл
sudo ln -s /etc/php/7.2/mods-available/memcached.ini /etc/php/7.2/fpm/conf.d/20-memcached.ini
Редактируем файл /etc/php/7.2/fpm/php.ini
было
[Session]
; Handler used to store/retrieve data.
; http://php.net/session.save-handler
session.save_handler = files
Стало
[Session]
; Handler used to store/retrieve data.
; http://php.net/session.save-handler
;session.save_handler = files
session.save_handler = memcached
session.save_path = "ip_addr_memcashed_service:11211"
Где session.save_path — это адрес и порт сервера, где установлен сам сервис memcache.(без кавычек)
Перезапускаем сервис php fpm
sudo systemctl reload php7.2-fpm
Для nginx есть такая возможность использовать memcache
location /page {
set $memcached_key "$uri?$args";
memcached_pass IP address:11211;
error_page 404 502 504 = @fallback;
error_page 404 = @dynamic_request;
}
Вставить его в основной конфиг nginx между location
Уведомление: Проксирование запросов в nginx с помощью proxy_pass | | Чип и Дел