Jinsi ya kusakinisha Memcached (Caching Server) kwenye CentOS 7


Memcached ni programu huria ya kuhifadhi kumbukumbu ya kifaa kilichosambazwa kwa njia huria ambayo huturuhusu kuboresha na kuharakisha utendakazi wa programu wasilianifu za wavuti kwa kuakibisha data na vipengee kwenye Kumbukumbu.

Memcached pia hutumika kuweka akiba majedwali yote ya hifadhidata na hoja ili kuboresha utendakazi wa hifadhidata. Ndio mfumo pekee wa kuhifadhi unaopatikana kwa uhuru na unaotumiwa na tovuti nyingi kubwa kama YouTube, Facebook, Twitter, Reddit, Drupal, Zynga, n.k.

Memcached inaweza kujitolea kukataa mashambulizi ya huduma ikiwa haijasanidiwa ipasavyo. Katika makala haya, tutaelezea jinsi ya kusakinisha na kulinda seva yako ya Memcached kwenye usambazaji wa CentOS 7 Linux. Maagizo haya yaliyotolewa pia hufanya kazi kwenye RHEL na Fedora Linux.

Kufunga Memcached katika CentOS 7

Kwanza, sasisha faharasa yako ya kifurushi cha programu ya ndani kisha usakinishe Memcached kutoka hazina rasmi ya CentOS kwa kutumia amri zifuatazo za yum.

# yum update
# yum install memcached

Kisha, tutasakinisha libmemcached - maktaba ya mteja ambayo hutoa zana kadhaa za kudhibiti seva yako ya Memcached.

# yum install libmemcached

Memcached sasa inapaswa kusakinishwa kwenye mfumo wako wa CentOS kama huduma, pamoja na zana ambazo zilikuhitaji kujaribu muunganisho wake. Sasa tunaweza kuendelea zaidi ili kupata mipangilio yake ya usanidi.

Inalinda Mipangilio ya Usanidi Iliyohifadhiwa kwenye Memcached

Ili kuhakikisha kuwa huduma iliyosakinishwa ya Memcached inasikiza kwenye 127.0.0.1 kiolesura cha ndani, tutabadilisha CHAGUO tofauti katika /etc/sysconfig/memcached faili ya usanidi.

# vi /etc/sysconfig/memcached

Tafuta CHAGUO tofauti, na uongeze -l 127.0.0.1 -U 0 kwa CHAGUO tofauti. Mipangilio hii ya usanidi italinda seva yetu dhidi ya kunyimwa mashambulizi ya huduma.

PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1 -U 0" 

Hebu tujadili kwa undani kila moja ya vigezo hapo juu.

  1. PORT : Lango linalotumiwa na Memcached kuendeshwa.
  2. USER : Daemoni ya kuanzisha kwa huduma ya Memcached.
  3. MAXCONN : Thamani inayotumika kuweka upeo wa miunganisho kwa wakati mmoja hadi 1024. Kwa seva za wavuti zenye shughuli nyingi, unaweza kuongezeka hadi nambari yoyote kulingana na mahitaji yako.
  4. CACHESIZE : Weka kumbukumbu ya ukubwa wa akiba hadi 2048. Kwa seva zenye shughuli nyingi, unaweza kuongeza hadi 4GB.
  5. MACHAGUO : Weka anwani ya IP ya seva, ili seva za wavuti za Apache au Nginx ziweze kuunganishwa nayo.

Anzisha upya na uwashe huduma yako ya Memcached ili kutumia mabadiliko yako ya usanidi.

# systemctl restart memcached
# systemctl enable memcached

Baada ya kuanza, unaweza kuthibitisha kuwa huduma yako ya Memcached inafungamana na kiolesura cha ndani na kusikiliza tu kwenye miunganisho ya TCP kwa kutumia amri ifuatayo ya netstat.

# netstat -plunt

Unaweza pia kuangalia takwimu za seva kwa kutumia chombo cha memcached kama inavyoonyeshwa.

# memcached-tool 127.0.0.1 stats

Sasa hakikisha kuwa umeruhusu ufikiaji wa seva ya Memcached kwa kufungua mlango 11211 kwenye ngome yako kama inavyoonyeshwa.

# firewall-cmd --permanent --zone=public --add-port=11211/tcp

Sakinisha kiendelezi cha Memcached PHP

Sasa, sakinisha kiendelezi cha PHP ili kufanya kazi na daemon ya Memcached.

# yum install php-pecl-memcache

Sakinisha Maktaba ya Memcached Perl

Sakinisha maktaba ya Perl kwa Memcached.

# yum install perl-Cache-Memcached

Sakinisha Maktaba ya Memcached Python

Sakinisha maktaba ya python kwa Memcached.

# yum install python-memcached

Anzisha tena Seva ya Wavuti

Anzisha tena huduma ya Apache au Nginx ili kuonyesha mabadiliko.

# systemctl restart httpd
# systemctl restart nginx

Cache Maswali ya MySQL na Memcached

Sio kazi rahisi kwa wote, unahitaji kutumia API kurekebisha misimbo yako ya PHP ili kuwezesha uhifadhi wa MySQL. Unaweza kupata misimbo ya mifano kwenye Memcache na MySQL na PHP.

Hiyo ndiyo! Katika makala haya, tumepanua jinsi ya kusakinisha na kulinda seva yako ya Memcached kwenye kiolesura cha mtandao wa ndani. Ikiwa umekumbana na maswala yoyote wakati wa usakinishaji, omba usaidizi katika sehemu yetu ya maoni hapa chini.