Добавления модуля memcache: различия между версиями

Материал из Wiki МИАЦ ВО
Перейти к навигации Перейти к поиску
(Новая страница: «Данные сессии, особенно, если у нас два сервера nginx, нужно хранить в одном месте. И для эт…»)
 
(php fpm)
 
(не показано 6 промежуточных версий этого же участника)
Строка 8: Строка 8:
 
<pre>-l ip_addr_memcashed_service</pre>
 
<pre>-l ip_addr_memcashed_service</pre>
 
ip_addr_memcashed_service - это ip адрес сервера, на котором установлен memcached.
 
ip_addr_memcashed_service - это ip адрес сервера, на котором установлен memcached.
 +
 +
Перезапускаем сервис memcached
 +
<pre>$ sudo service memcached restart</pre>
 +
 +
===php fpm===
 +
Пакет, входящий в дистрибутив не работает с php 7.X, поэтому устанавливаем через pecl
 
На машине, где установлен PHP fpm
 
На машине, где установлен PHP fpm
<pre>$ sudo apt install php-memcache</pre>
+
<pre>sudo apt-get -y install pkg-config php7.2-dev php-pear zlib1g-dev libmemcached-dev
===Настройка php fpm===
+
sudo pecl install memcached
 +
</pre>
 +
Создаем файл /etc/php/7.2/mods-available/memcached.ini
 +
<pre>
 +
; priority=25
 +
extension=memcached.so</pre>
 +
И десаем ссылку на этот файл
 +
<pre>
 +
sudo ln -s /etc/php/7.2/mods-available/memcached.ini /etc/php/7.2/fpm/conf.d/20-memcached.ini
 +
</pre>
 
Редактируем файл /etc/php/7.2/fpm/php.ini<br>
 
Редактируем файл /etc/php/7.2/fpm/php.ini<br>
 
было
 
было
Строка 27: Строка 42:
 
session.save_path = "ip_addr_memcashed_service:11211"
 
session.save_path = "ip_addr_memcashed_service:11211"
 
</pre>
 
</pre>
Где session.save_path - это адрес и порт сервера, где установлен сам сервис memcache.
+
Где session.save_path - это адрес и порт сервера, где установлен сам сервис memcache.<br>
 +
Перезапускаем сервис php fpm
 +
<pre>$ sudo systemctl reload php7.2-fpm</pre>
 +
 
 
==Настройка фаервола==
 
==Настройка фаервола==
 
Не забудьте, если у Вас есть фаервол, настроить его для принятия пакетов с сервера  memcached.
 
Не забудьте, если у Вас есть фаервол, настроить его для принятия пакетов с сервера  memcached.

Текущая версия на 09:09, 29 июня 2018

Данные сессии, особенно, если у нас два сервера nginx, нужно хранить в одном месте. И для этого можно использовать memcache.

Установка и настройка пакетов

Сервис memcache

На машине, где будет стоять сервис memcache

$ sudo apt install memcached

Если memcached установлен на том же сервере, что и php fpm, настраивать ничего не надо.
Если на другом, редактируем файл /etc/memcached.conf

-l ip_addr_memcashed_service

ip_addr_memcashed_service - это ip адрес сервера, на котором установлен memcached.

Перезапускаем сервис memcached

$ sudo service memcached restart

php fpm

Пакет, входящий в дистрибутив не работает с php 7.X, поэтому устанавливаем через pecl На машине, где установлен PHP fpm

sudo apt-get -y install pkg-config php7.2-dev php-pear zlib1g-dev libmemcached-dev 
sudo pecl install memcached

Создаем файл /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

Настройка фаервола

Не забудьте, если у Вас есть фаервол, настроить его для принятия пакетов с сервера memcached.