Memcached – ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Ρ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΡΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΡΠ»ΡΡΡΠ°ΡΡ ΠΈ ΡΡΠΊΠΎΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈΡ Π²Π΅Π±-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΡΡΠΈΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΡ Π² ΠΏΠ°ΠΌΡΡΠΈ.
Memcached ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΊΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅Π»ΡΡ ΡΠ°Π±Π»ΠΈΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .
ΠΡΠΎ Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΊΠ΅ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π΄ΠΎΡΡΡΠΏΠ½Π°Ρ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΠΎ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠ°Ρ ΠΌΠ½ΠΎΠ³ΠΈΠΌΠΈ ΠΊΡΡΠΏΠ½ΡΠΌΠΈ ΡΠ°ΠΉΡΠ°ΠΌΠΈ, ΡΠ°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ YouTube, Facebook, Twitter, Reddit, Drupal, Zynga ΠΈ Ρ. Π΄.
Memcached ΠΌΠΎΠΆΠ΅Ρ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π°ΡΠ°ΠΊΠΈ ΠΎΡΠΊΠ°Π·Π° Π² ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠΈ, Π΅ΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ Π½Π°ΡΡΡΠΎΠ΅Π½ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΊΠ°ΠΆΠ΅ΠΌ, ΠΊΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΈ Π·Π°ΡΠΈΡΠΈΡΡ Π²Π°Ρ ΡΠ΅ΡΠ²Π΅Ρ Memcached Π² Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π΅ CentOS 7 Linux.
ΠΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π° RHEL ΠΈ Fedora Linux.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Memcached Π² CentOS 7
Π‘Π½Π°ΡΠ°Π»Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ, Π° Π·Π°ΡΠ΅ΠΌ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Memcached ΠΈΠ· ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠ΅Π² CentOS, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ yum.
# yum update # yum install memcached
ΠΠ°Π»Π΅Π΅ ΠΌΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ libmemcached – ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π°ΡΠΈΠΌ ΡΠ΅ΡΠ²Π΅ΡΠΎΠΌ Memcached.
# yum install libmemcached
Memcached ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ CentOS ΠΊΠ°ΠΊ ΡΠ΅ΡΠ²ΠΈΡ Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ΅Π±ΡΡΡ ΠΎΡ Π²Π°Ρ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
ΠΠ°ΡΠΈΡΠ° Π½Π°ΡΡΡΠΎΠ΅ΠΊ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Memcached
Π§ΡΠΎΠ±Ρ ΡΠ±Π΅Π΄ΠΈΡΡΡΡ, ΡΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ ΡΠ»ΡΠΆΠ±Π° Memcached ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π΅Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ 127.0.0.1, ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ OPTIONS Π² ΡΠ°ΠΉΠ»Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ /etc/sysconfig/memcached.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ Π·Π°ΡΠΈΡΠΈΡΡ Π΅Π³ΠΎ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
# vi /etc/sysconfig/memcached
ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ OPTIONS ΠΈ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ -l 127.0.0.1 -U 0 ΠΊ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ OPTIONS.
ΠΡΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π·Π°ΡΠΈΡΡΡ Π½Π°Ρ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΡ Π°ΡΠ°ΠΊ ΡΠΈΠΏΠ° Β«ΠΎΡΠΊΠ°Π· Π² ΠΎΠ±ΡΠ»ΡΠΆΠΈΠ²Π°Π½ΠΈΠΈΒ».
PORT="11211" USER="memcached" MAXCONN="1024" CACHESIZE="64" OPTIONS="-l 127.0.0.1 -U 0"
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΎΠ±ΡΡΠ΄ΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· Π²ΡΡΠ΅ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π² Π΄Π΅ΡΠ°Π»ΡΡ .
- PORT: ΠΏΠΎΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Memcached Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ°.
- USER Π΄Π΅ΠΌΠΎΠ½ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ»ΡΠΆΠ±Ρ Memcached.
- MAXCONN: Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΠΎΠ΅ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ Π½Π° 1024. ΠΠ»Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π»ΡΠ±ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠΈΡ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ.
- CACHESIZE: ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅Ρ ΠΊΡΡ-ΠΏΠ°ΠΌΡΡΠΈ Π½Π° 2048. ΠΠ»Ρ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ Π΄ΠΎ 4 ΠΠ.
- OPTIONS: Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ IP-Π°Π΄ΡΠ΅Ρ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΡΡΠΎΠ±Ρ ΠΊ Π½Π΅ΠΌΡ ΠΌΠΎΠ³Π»ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅ΡΡ Apache ΠΈΠ»ΠΈ Nginx.
ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΠ»ΡΠΆΠ±Ρ Memcached, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ.
# systemctl restart memcached # systemctl enable memcached
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ, ΡΡΠΎ Π²Π°ΡΠ° ΡΠ»ΡΠΆΠ±Π° Memcached ΡΠ²ΡΠ·Π°Π½Π° Ρ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ ΠΈ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ TCP-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ netstat.
# netstat -plunt
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΡ ΡΠ΅ΡΠ²Π΅ΡΠ°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ memcached-tool, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅.
# memcached-tool 127.0.0.1 stats
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ ΡΠ°Π·ΡΠ΅ΡΠΈΠ»ΠΈ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠ΅ΡΠ²Π΅ΡΡ Memcached, ΠΎΡΠΊΡΡΠ² ΠΏΠΎΡΡ 11211 Π½Π° Π±ΡΠ°Π½Π΄ΠΌΠ°ΡΡΡΠ΅, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅.
# firewall-cmd --permanent --zone=public --add-port=11211/tcp
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Memcached PHP
Π’Π΅ΠΏΠ΅ΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ PHP Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π΄Π΅ΠΌΠΎΠ½ΠΎΠΌ Memcached.
# yum install php-pecl-memcache
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Memcached Perl Library
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Perl Π΄Π»Ρ Memcached.
# yum install perl-Cache-Memcached
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Memcached Python Library
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Python Π΄Π»Ρ Memcached
# yum install python-memcached
ΠΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΈΡΠ΅ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ
ΠΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡ Apache ΠΈΠ»ΠΈ Nginx, ΡΡΠΎΠ±Ρ ΠΎΡΡΠ°Π·ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.
# systemctl restart httpd # systemctl restart nginx
Π‘ΠΌ. ΡΠ°ΠΊΠΆΠ΅
- ΠΠ°ΠΊ Π½Π°ΡΡΡΠΎΠΈΡΡ Memcached Ρ PHP 7 Π² Linux
- Memcrashed β ΡΡΠΈΠ»ΠΈΡΠ° ΡΠΊΡΠΏΠ»ΠΎΠΉΡ DDoS memcached