Jinsi ya Kufunga na Kusanidi LEMP kwenye Debian 8 (Jessie)


Moja ya sababu za kawaida za kusanidi mfumo wa Linux ni kwa madhumuni ya kukaribisha tovuti. Kulingana na uchunguzi wa NetCraft.com wa Februari 2016 wa tovuti milioni 1 zenye shughuli nyingi zaidi duniani, takriban 15.60% kati yazo zinatumia Nginx.

Ikioanishwa na uwezekano wa juu wa kofia kwamba kuna aina fulani ya maudhui yanayotumika pamoja na aina fulani ya mwisho wa hifadhidata ya tovuti, uwezo wa msimamizi kuweza kusanidi seva za LEMP ni wa manufaa sana kwa wanaotafuta kazi na waajiri kama!

Mafunzo haya yatapitia misingi ya kusakinisha na kusanidi seva ya Linux (haswa Debian 8 Jessie) ili kufanya kazi kama seva ya LEMP.

Swali kubwa! Kama ilivyo kwa mambo mengi katika ulimwengu wa kompyuta LEMP ni kifupi cha Linux, Nginx, MySQL na PHP.

Kifupi hiki hutumiwa kwa kawaida kurejelea makusanyo ya programu kwenye seva ya wavuti. Mafunzo haya yatapitia kwanza kusanidi LEMP, haswa MySQL na PHP.

Kabla ya kujitenga katika vipengele vya usanidi wa mifumo, ni muhimu kujua kuhusu Nginx.

Nginx ilianza maisha yake mwaka wa 2002 wakati ulimwengu wa kompyuta ulipoanza kutambua kwamba tovuti zilizo na miunganisho elfu kumi au zaidi ilikuwa uwezekano wa kweli na matokeo yake Nginx iliundwa kutoka mwanzo kushughulikia suala hili.

Kufunga na kusanidi MySQL na PHP

1. Sehemu hii ya kwanza itashughulikia Debian kama seva ya MySQL, na PHP. Sehemu ya Linux ya seva ya LEMP inapaswa tayari kufanywa kwa kusakinisha Debian! Walakini, ikiwa kutakuwa na hitaji la mwongozo wa jinsi ya kusakinisha Debian, tafadhali soma nakala ifuatayo kwenye TecMint:

  1. Usakinishaji wa Debian 8 Jessie

Mara tu Debian ikiwa tayari kufanya mchakato wa kusakinisha programu nyingine muhimu inaweza kukamilishwa kwa amri moja ya haraka kwa kutumia kifurushi cha 'apt' meta.

# apt-get install mysql-server-5.5 php5-mysql php5

Kulingana na maunzi ya mfumo na muunganisho wa Mtandao, mchakato huu unaweza kuchukua muda. Kufikia uandishi huu, usakinishaji mpya wa Debian Jessie na visasisho vyote vilivyotumika vinavyohitajika kuhusu 70MB ya kumbukumbu kutoka kwa hazina (sio mbaya sana ukizingatia kile seva itakuwa ikifanya mambo yanapofanywa)! Wakati wa mchakato wa usakinishaji, mfumo unaweza kuuliza mtumiaji kuweka nenosiri la mtumiaji wa mizizi ya SQL. Hii ni tofauti na nenosiri halisi la mtumiaji wa mizizi na kwa ajili ya usalama, labda inapaswa kubaki tofauti.

2. Mara tu apt inapomaliza kusakinisha programu zote, huduma za kimsingi zitakuwa zikitumika. Walakini, kuacha hapa kunaweza kufanya mafunzo mafupi sana! Kwa hivyo, hebu tuzame zaidi katika usanidi wa kila kipande cha programu iliyosakinishwa kuanzia na MySQL.

3. Baada ya usakinishaji wa MySQL, mara nyingi hupendekezwa kuwa seva ya SQL iwe na uhifadhi wa msingi wa nyumba kwenye usakinishaji wa chaguo-msingi. Hili linakamilishwa kwa urahisi kwa kutumia mysql_secure_installation.

Amri hii inaendeshwa kwa urahisi kutoka kwa safu ya amri na itamhimiza mtumiaji kuondoa vitu kama vile watumiaji wasiojulikana, hifadhidata za majaribio, na kuondoa uwezo wa kuingia kwa mtumiaji wa mbali kwenye hifadhidata ya SQL.

# mysql_secure_installation

Amri hii itaanza kidokezo shirikishi ambacho kitauliza maswali kuhusu mada zilizo hapo juu. Kwa kuwa apt tayari imehamasishwa kwa nywila ya mizizi ya MySQL, nenosiri hilo litahitaji kuingizwa ili kufanya mabadiliko yoyote. Kwa kuwa nenosiri la msingi lilikuwa tayari limewekwa, Hapana inaweza kuwa jibu la haraka kuhusu kubadilisha nenosiri la msingi kwenye seva ya MySQL.

4. Seti inayofuata ya maswali itakuwa kuhusu watumiaji wasiojulikana, hifadhidata ya 'test', na ufikiaji wa mizizi kwa hifadhidata kwa mbali. Kwa kawaida ni salama kujibu Ndiyo kwa vidokezo hivi vyote isipokuwa kuna sababu mahususi kwa nini usanidi utahitaji mojawapo ya chaguo hizi kuachwa.

KUMBUKA: Kunaweza kuwa na hitilafu kuhusu kushindwa kufuta hifadhidata iitwayo 'test', usijali kuhusu hili kwani hifadhidata inaweza kuwepo au isiwepo na bila kujali hati itaendelea kufanya kile kinachohitajika.

Kwa wakati huu MySQL iko tayari kwenda. Bila kujua ni hifadhidata gani au watumiaji gani watahitajika, ni ngumu kufanya usanidi zaidi. Hata hivyo, tovuti nyingi mara nyingi zitaunda hifadhidata na watumiaji kiotomatiki programu inaposakinishwa. Hii inategemea sana programu ingawa ingehitaji mtazamo wa haraka wa faili za README za programu au maagizo ya usakinishaji.

5. Sasa kwa kuwa MySQL imesanidiwa, twende mbele na tuweke mipangilio ya msingi ya PHP kwa seva hii mahususi. Ingawa kuna tani za mipangilio ambayo inaweza kubadilishwa kwa PHP kuna chache tu za kimsingi ambazo karibu kila wakati zinapaswa kurekebishwa. Faili ya usanidi wa php iko katika /etc/php5/fpm/php.ini. Fungua faili hii na kihariri chochote cha maandishi.

# nano /etc/php5/fpm/php.ini

Kwa kutumia uwezo wa kutafuta wa nano ctrl+w tafuta kamba \memory_limit (ukiacha manukuu). Kwa chaguo-msingi, laini hii itawekwa kuwa 128M lakini ikiwa programu itahitaji zaidi, laini hii inaweza. kubadilishwa ili kukidhi mahitaji.

Chaguo jingine muhimu la kuangalia ni \max_execution_time na tena kwa chaguo-msingi itawekwa hadi 30. Ikiwa programu itahitaji zaidi chaguo hili linaweza kubadilishwa. Baadhi ya watu wanapendelea pia kusanidi uwekaji kumbukumbu wa php kwenye faili/saraka maalum pia. Hili likihitajika, tafuta mfuatano \error_log = na kisha uondoe maoni kwenye mstari kwa kuondoa nusu-koloni ambayo kwa ujumla iko hapo kwa chaguomsingi.

Katika hatua hii thamani ya faili ya logi inaweza kuongezwa hadi mwisho wa mstari. Hakikisha kuwa njia iko kwenye mfumo. Mara baada ya kumaliza kufanya mabadiliko yoyote muhimu kwenye faili ya php.ini, hifadhi mabadiliko na uondoke kwenye mhariri wa maandishi. Kwa wakati huu, MySQL na PHP5 ziko tayari kuanza kukaribisha tovuti. Sasa ni wakati wa kusanidi Nginx.

Kufunga na kusanidi Nginx

6. Nginx (injini X) ni seva mbadala na yenye nguvu sana ya wavuti. Sehemu hii ya mafunzo haya itapitia kusanidi ukurasa wa wavuti kwa Nginx kupangisha. Hatua ya kwanza ya kusanidi Nginx ni kusanikisha vifurushi muhimu kwa kutumia 'apt' matumizi.

# apt-get install nginx

Kwa kudhani kuwa utegemezi wote umeridhika, kuelekea kwa anwani ya IP ya seva kwenye kivinjari cha wavuti inapaswa kutoa wavuti chaguo-msingi ya Nginx.

KUMBUKA: Kuna matukio ambapo baada ya kusakinisha Nginx, seva haijaanzishwa kiotomatiki. Ikiwa kuelekea kwenye anwani ya IP ya seva kwenye kivinjari haitoi ukurasa ulio hapa chini, toa amri ifuatayo ili kuhakikisha kwamba Nginx imeanzishwa.

# service nginx start

Nginx sasa inakaribisha ukurasa chaguo-msingi kwa mafanikio. Ingawa ukurasa wa chaguo-msingi wa Debian ni tovuti ya kuvutia, watumiaji wengi watataka kukaribisha kitu maalum.

7. Hatua zinazofuata zitapitia kusanidi Nginx ili kupangisha tovuti tofauti. Nginx, kama Apache 2, ina saraka yake ya usanidi iliyo katika /etc/nginx. Badilisha kwenye saraka hii ukitumia matumizi ya cd.

# cd /etc/nginx

Kwa somo hili kuna faili na saraka kadhaa muhimu za kusanidi tovuti kwa kutumia Nginx. Saraka mbili za kwanza ambazo ni muhimu ni saraka za 'tovuti zinazopatikana' na saraka za 'tovuti zinazowezeshwa'. Kama vile Apache 2, Nginx hutumia faili za usanidi kwa kila tovuti kwenye saraka inayopatikana ya tovuti ambayo inapotumika huunganishwa kiishara kwenye saraka inayowashwa na tovuti.

Jambo la kwanza linalohitajika ili kuondoa tovuti chaguo-msingi ni kuondoa kiungo cha mfano katika tovuti zilizowezeshwa.

# rm sites-enabled/default

8. Sasa faili mpya ya usanidi wa tovuti inahitaji kuundwa na kuunganishwa ili Nginx kutumikia ukurasa. Kuunda faili ya usanidi wa tovuti kunaweza kurahisishwa kwa kunakili na kurekebisha usanidi wa tovuti chaguo-msingi.

# cp sites-available/default sites-available/tecmint-test

Hii itaunda faili mpya ya usanidi wa tovuti kufanya kazi nayo. Fungua faili hii katika kihariri cha maandishi ili kubadilisha njia ambayo Nginx itatumikia faili.

# nano sites-available tecmint-test

Ndani ya faili hii kuna chaguo kadhaa muhimu za kubadilisha ili Nginx kutumikia tovuti. Ya kwanza ni laini inayoanza na 'mizizi' kwani mstari huu unafafanua ambapo Nginx inapaswa kutumikia faili za tovuti hii.

Mafunzo haya yataiacha kama chaguomsingi ya ‘/var/www/html’ na kuweka tu faili za html zitakazotolewa katika saraka hii. Hata hivyo, hakikisha umerekebisha njia hii ikiwa kutakuwa na tovuti nyingi au usanidi maalum kwenye seva hii.

Mstari unaofuata wa umuhimu ni mstari wa 'index'. Kwa kuwa nakala hii inahusu usakinishaji wa LEMP na tovuti inaweza kuwa inahudumia kurasa za php, Nginx inahitaji kufahamishwa kuwa ukurasa chaguo-msingi unaweza kuwa ukurasa wa php. Ili kufanya hivyo, ongeza tu ‘index.php’ hadi mwisho wa orodha ya faili.

Kabla ya kuwezesha tovuti mpya, kuna haja ya kuwa na kitu hapo kwa Nginx kutumikia. Ukurasa wa faharasa chaguo-msingi tayari upo lakini ili kuthibitisha kuwa tovuti nyingine inafanya kazi, hebu tubadilishe yaliyomo kwenye ukurasa chaguo-msingi na kitu kingine.

# echo “It's ALIVE!” > /var/www/html/index.html

9. Hatua inayofuata ni kuwezesha tovuti mpya kwa kuunganisha faili ya usanidi iliyoundwa hivi punde kwenye saraka iliyowezeshwa na tovuti. Hii inakamilishwa kwa urahisi na matumizi ya ln amri na kisha kupakia tena usanidi wa Nginx na matumizi ya huduma.

# ln -s /etc/nginx/sites-available/tecmint-test sites-enabled/tecmint-test
# service nginx reload

Kwa wakati huu Nginx inapaswa kuwa inatumikia ukurasa mpya wa wavuti rahisi. Hii inaweza kuthibitishwa kwa kuelekeza kwenye anwani ya IP ya seva kupitia kivinjari cha wavuti!

Tena, kifungu hiki kilimaanisha kuwa usanidi rahisi sana wa LEMP. Tovuti nyingi zingehitaji usanidi zaidi kwa sehemu zote zinazohusika lakini chaguzi za usanidi zinaweza kuwa maelfu! Kila la kheri ambapo usanidi utachaguliwa kupangisha tovuti.