Kouman enstale yon sèvè entènèt ak Nginx + miskl + PHP5 + APC + Spawn_FastCGI [1st Pati: Prezantasyon]

Pa gen lontan nou mansyone ke kounye a DesdeLinux (tout sèvis li yo) ap kouri nan Serveurs GNUTransfer.com. Blog la amelyore anpil an tèm de vitès, likidite, menm lè nou ale nan gen (apre UsemosLinux rantre) plis pase 30.000 vizit chak jou (prèske 200 itilizatè ki konekte ansanm). Ki jan yo reyalize bon pèfòmans sèvè menm avèk volim trafik sa a?

Kounye a Jistis (VPS kote blog la ak kèk lòt sèvis yo) gen 3GB nan RAM, sepandan mwens pase 500MB se boule, sa a se posib ak chwa ki kòrèk la nan lojisyèl yo sèvi ak ak yon konfigirasyon adekwa nan yo. Pou egzanp, Apache se san dout yon gwo nan mond lan, No.1 a lè li rive hosting, men jisteman pou rezon sa Apache se pa toujou opsyon ki pi bon. Lè trafik la wo ak pyès ki nan konpitè sèvè a pa reyèlman gwo (Egz: 8 oswa 16GB nan RAM) Apache ka byen konsome twòp RAM fè sèvè a nan sèten fwa pran twò lontan pou reponn, oswa vin pi mal, ke sit nou an se offline pou resous ensifizan. Se poutèt sa anpil nan nou chwazi Nginx sou Apache.

Nginx:

Nou deja di ou sou Nginx pi bonè nan atik la Nginx: Yon altènativ enteresan nan Apache, la nou di ou ke li se yon sèvè entènèt tankou Apache, LightHttpd oswa Cherokee, men ki konpare ak Apache li vle di soti pou pèfòmans li yo ak konsomasyon pyès ki nan konpitè ki ba, jisteman pou rezon sa anpil sit gwo tankou Facebook, MyOpera.com, DropBox oswa menm WordPress .com itilize Nginx olye pou yo Apache. Nan mond lan nan Linux SinceLinux se pa youn nan sèlman ki itilize Nginx, osi lwen ke mwen konnen, emsLinux ak MuyLinux tou itilize li 🙂

Eksperyans pèsonèl mwen ak Nginx dat tounen plizyè ane, lè soti nan nesesite mwen te kòmanse kap chèche altènativ ki lejè nan Apache. Nan tan sa a Nginx te sou vèsyon 0.6 ak konpatibilite li yo ak sit demann segondè te fè nan PHP pa te pi optimal la, sepandan sèjousi soti nan vèsyon 0.9 ivè (v1.2.1 disponib sou Debian ki estab, v1.4.2 disponib sou ArchLinux) te amelyore anpil, nan pwen ke ak yon konfigirasyon apwopriye ak sendika nan Nginx + PHP tout bagay ap travay tankou yon cham.

Nan seri leson patikilye sa a Mwen pral sèvi ak Nginx vèsyon 1.2.1-2.2, ki disponib nan repo yo ki estab Debian (Wheezy).

PHP5:

PHP, langaj pwogramasyon ke anpil nan sit sa yo (ak CMS) travay avèk jodi a, se nan gade mwen, mouton nwa fanmi an. Sa vle di, nan eksperyans pèsonèl mwen, gwo sit, ak yon gwo volim vizit, ak anpil opsyon, fonksyon, elatriye, si se tankou yon sit te fè nan PHP li pral konsome plis resous pase yon sit ki sanble te fè, pou egzanp, nan RoR. Eksperyans mwen te ke jan, PHP se yon dragon resous gwo, PHP + Apache se ase vale dè santèn ak dè santèn de MB nan RAM san yo pa yon bezwen reyèl.

Rezon ki fè la pa sèvi ak RoR, Django oswa yon lòt moun se tou senpleman ke DesdeLinux (blog la, bato nou an) travay ak WordPress, yon CMS devlope ak PHP ki ofri nou anpil, anpil konfò, ke nou tou senpleman pa panse a chanje li nan kout la oswa mwayen tèm, onètman, WordPress menm lè li pa pafè sèvi nou pou sa nou bezwen e petèt plis.

Konsènan PHP, nan tutoryèl sa yo mwen pral sèvi ak PHP vèsyon 5.4.4-14 disponib sou Debian Wheezy (ki estab)

Spawn_FastCGI:

Sa a ka di yo dwe sa ki ini Nginx ak PHP, se sa ki, menm si yo gen pake a PHP5 enstale si yo pa gen Spawn_FastCGI enstale ak egzekite lè yo louvri yon sit nan PHP navigatè a pral telechaje dosye a, li pa pral montre yo anyen ki .php te pwograme paske sèvè a pa konnen ki jan yo travay dosye .php, ki se poukisa li esansyèl enstale ak configured Spawn_FastCGI.

Si nou itilize Apache li ta yon bagay ki senp tankou enstale pake libapache2-mod-php5, men depi nou itilize Nginx nou pral oblije enstale pake spawn-fcgi pito. Epitou, nan leson patikilye a mwen pral eksplike ki jan yo kreye yon script premye pou li nan /etc/init.d/ pou ke ou ka kontwole li pi alèz.

MySQL:

Sa a ta ka make kesyon an gwo oswa petèt, pou kèk, nòt la dezakò. Anpil mwen konnen ap poze m kesyon an: poukisa sèvi ak miskl epi yo pa MariaDB?

Bagay la se tou senpleman ke mwen pa gen ase tan dedye tèt mwen nan fè yon migrasyon nan moman sa a soti nan MySQL MariaDB, yon migrasyon ki nan teyori yo ta dwe transparan pou tout moun, 100% konpatib tout bagay, men sa a ... jan mwen te di, nan teyori. Nan moman sa a lè mwen te kòmanse pou avanse pou pi FromLinux sèvis soti nan yon VPS nan yon lòt mwen te kite Apache dèyè epi sèvi ak Nginx, sa a enplisit dosye konfigirasyon diferan, diferan fason yo deklare VHosts, enstalasyon ak konfigirasyon nan grate nan sèvè a ak sèvis li yo, Mwen pa t 'kapab nan tan sa a ajoute yon lòt travay nan lis la, tou epi yo te onèt, mwen chanje Apache pou Nginx paske Apache pa t' satisfè bezwen m 'yo, sepandan, MySQL byen lwen tèlman satisfè bezwen m' yo 100%, mwen pa wè rezon ki fè en moman sa a mwen ogmante kantite travay mwen pa chanje yon bagay ki deja te travay teknikman byen pou mwen.

Yon fwa eksplike poukisa mwen pa t 'enstale MariaDB, tou eksplike ke kòm a vas majorite de sit entènèt bezwen yon baz done pou operasyon yo, depi li se kote yon anpil nan enfòmasyon (oswa prèske tout) nan li yo pral estoke. Gen kèk ki renmen Postgre oswa yon lòt moun, nan seri sa a nan leson patikilye mwen pral eksplike ki jan enstale miskl ak configured itilizatè apa pou chak sit.

La MySQL vèsyon ke mwen pral itilize se v5.5.31

APC:

APC se yon optimiseur pou PHP (eksplike trè senpleman). Li pèmèt nou yon fwa byen configuré ke pwosesis la PHP travay pi byen, ki repons yo soti nan sèvè a yo pi vit.

Gen altènativ tankou memcache sepandan, mwen te toujou itilize APC e yo te gen rezilta trè favorab. Mwen rekòmande pou li atik sa a nan lang angle: Konpare APC ak Memcache kòm kachèt kontni lokal yo

Mwen pral itilize nan leson patikilye a vèsyon an php-apc v3.1.13-1 disponib tou nan depo Debian ki estab.

Rezime:

Fason sa a nan enstale yon konfigirasyon sèvè entènèt se pa pi optimal la, byen lwen soti nan li, pou egzanp anpil moun ap rekòmande vèni, ki soti nan sa mwen te li fè mirak vre paske tout bagay oswa prèske tout bagay se kach, men, nan ka nou an nou pa bezwen Se 100% nan sit la toujou kachèt jan nou pa vle oswa bezwen pou yo ale nan ki ekstrèm. Sepandan mwen klarifye, jan mwen te di pi wo a: "osi lwen ke mwen te li", mwen pèsonèlman pa te itilize vèni jouk jodi a, Se konsa, mwen pa ka ba ou yon 100% opinyon objektif.

Sa a pral yon seri de leson patikilye nan ki mwen pral montre w kouman enstale yon sèvè entènèt tankou youn nan kounye a akomode pa FromLinux (blog, fowòm, keratin, elatriye). Blog la gen 30.000 vizit chak jou, prèske 200 itilizatè aksè li ansanm, e menm si RAM a pa depase 500MB konsome, sa a pou kèk pouvwa ap twòp konsomasyon men ... hey, nou gen 3GB nan RAM, mwens pase 500MB (ki gen ladan ftp, SSH, elatriye) se reyèlman bon dwa? 🙂

Tout 'majik la' se pa sèlman fè pa Nginx + Spawn_FastCGI + APC, sistèm caching blog nou an se reyèlman byen configuré ak règleman yo pou Nginx yo egzak, sa fè blog la menm lè li resevwa yon anpil nan pwosesis trafik anpil mwens PHP pase sa abityèl, menm jan li gen yon anpil deja kachèt. Si ou gen yon sit nan gwo demann epi ou gen pwoblèm resous, mwen rekòmande san dout ke ou etidye yo wè ki sistèm kachèt ap travay pi byen pou ou, ki youn ap pi byen kostim bezwen ou yo.

Mwen espere ou jwenn tutoryèl sa yo enteresan, nan chak nan yo mwen pral eseye eksplike tout bagay nan yon fason konplè, detaye ak kòm senp ke posib.

Concerne


Kontni an nan atik la respekte prensip nou yo nan etik editoryal. Pou rapòte yon erè klike sou isit la.

27 kòmantè, kite ou

Kite kòmantè ou

Adrès imèl ou pa pral dwe pibliye. Jaden obligatwa yo make ak *

*

*

  1. Responsab pou done yo: Miguel Ángel Gatón
  2. Objektif done yo: Kontwòl SPAM, jesyon kòmantè.
  3. Lejitimasyon: konsantman ou
  4. Kominikasyon nan done yo: done yo pa pral kominike bay twazyèm pati eksepte pa obligasyon legal.
  5. Done depo: baz done anime pa rezo Occentus (Inyon Ewopeyen)
  6. Dwa: Nenpòt ki lè ou ka limite, refè ak efase enfòmasyon ou yo.

  1.   Bruno cascio diro

    Trè bon e klè! Mwen felisite ou!

    1.    KZKG ^ Gaara diro

      Mèsi

  2.   Christopher castro diro

    Trè bon leson patikilye.

    Ki sa ki ranpli m 'ak dout se ki jan yo configuré sèvè a imel.

    1.    KZKG ^ Gaara diro

      MailServer a se yon bagay apa, se sa ki, li pa gen anyen fè ak sèvè wèb la jan ou konnen 🙂

      Sepandan, yon bon bout tan de sa mwen deside pa konplike tèt mwen ak MailServer la, mwen te chwazi yo sèvi ak iRedMail (sipò pou miskl, LDAP ak Postgre) ak anviwònman yo apwopriye ak detay ke mwen ajoute nan dosye yo konfigirasyon, tout bagay ap travay amann.

  3.   Pouri87 diro

    Mwen renmen atik la, mwen ap tann pou seri a nan atik yo

    1.    KZKG ^ Gaara diro

      Mèsi, mwen espere pote pwochen an nan Lendi oswa Madi, li pral fè fas ak enstalasyon ak konfigirasyon nan Nginx.

  4.   Aka diro

    Trè bon, konfigirasyon an dwa, li difisil a jwenn li, konpwomi ki genyen ant faktè sa yo se pafwa prèske irézolibl, mwen menm mwen te ale nan nginx yon ti tan de sa epi pita mariadb (dènyèman, mwen panse ke yon ane de sa).

    // jan mwen mansyone li ta bon si ou leve soti vivan posibilite pou chroot, epi sèvi ak proxy_cache_path la ki se tou itil. Epitou konparezon a nan priz la (nan ka yo ke li posib) kont pò an. epi defini byen kantite timoun / belye mouton.

    Concerne

    1.    KZKG ^ Gaara diro

      Mèsi pou kòmantè ou 🙂
      Wi nan kou, li ta trè bèl kaj Nginx kenbe li separe tankou sa yo soti nan rès la nan sistèm lan, mwen pa te konsidere ke posibilite nan tutoryèl sa yo, mwen pral wè sa mwen kapab fè. Sou proxy_cache_path la, mwen pa janm te itilize li, mwen pral li yon ti jan sou li yo wè ki jan li ale.

      Konsènan kantite fil (min & max), nan konfigirasyon Nginx li evidamman defini, nan pòs Nginx mwen pral pale anpil sou dosye a .conf 😉

      Ankò, mèsi pou kòmantè ou.

  5.   msx diro

    Sa a ki kalite HowTos se sa ki fè entènèt la vrèman pwisan pou syantis òdinatè jan li sove nou tòn èdtan nan rechèch ak tès jiskaske nou finalman deside sou opsyon ki apwopriye a, mèsi anpil!

    Yon kesyon, èske sa a kouri sou Debian? Ki vèsyon OS ak pakè yo?

    Greetings!

    1.    KZKG ^ Gaara diro

      Mèsi poutèt ou.
      Vreman vre, sit ki rapòte, ki repete ak repete nouvèl la deja gen twòp ... sa ki nesesè yo se sit ki mete leson patikilye, se sa ki entènèt la bezwen!

      Wi, Debian Wheezy (aktyèl ki estab), vèsyon yo nan pakè yo gen dwa nan pòs la 😉

  6.   eliotime3000 diro

    Ekselan kòmantè. Ann wè si mwen fè yon kalite Errata ak ZPanel X, ak fortwit, fè enstalasyon an manyèlman nan Debian Wheezy.

  7.   Federico Antonio Valdes Toujague diro

    Kontinye KZKG ^ Gaara !!!, ki pi bon kritè verite a se pratik, epi ou gen eksperyans sou sa ou ekri. Yon sit entènèt pwofesyonèl ak k ap travay. Gwo Lig Baseball, Dude.

    1.    eliotime3000 diro

      Se vre. Epitou, lè mwen te kòmanse jwe ak serveurs entènèt yo ke mwen enstale nan Windows, verite a se ke Apache lans moute an tèm de konsomasyon resous si ou itilize WordPress (nan Drupal li boule mwatye resous yo).

  8.   cha diro

    Mwen panse ke pou pati Nginx leson patikilye sa a pral vini an sou la men. Mwen kounye a vle enstale yon sèvè ak Nginx, php, vèni ak MariaDB. Men, nan kou, ou dwe kòmanse, ak parès ka fè anpil lè li rive goumen ak serveurs ak pou kounye a mwen kontan ak lanp lan tipik ak memcache ke mwen gen xDD.

    Yon salitasyon.

  9.   auroszx diro

    Gran, jis youn nan sa yo ta vini an sou la men 🙂 Yon lòt kap pou pi devan pou li.

  10.   Ivan Gabriel Sosa diro

    Nou swiv ou. Nou aktyèlman ap kòmanse soti nan mond lan nan serveurs entènèt. Nou te achte de nan Hostinger, ak yon zanmi te ede nou configured li nan grate (PHP, miskl, Apache). Li se konbinezon an sèlman ki itilize nan Linux, yon platfòm ke mwen te sou depi janvye.
    Men, mwen te trè enterese nan sijè sa a. Cheers!

  11.   Jose Manuel diro

    Mwen pa janm enstale yon sèvè entènèt men si mwen vle fè l ', yon kesyon, yo pral nivo ki nesesè yo konprann tutoryèl yo, epi fè enstalasyon an dwe wo oswa ki gen konesans debaz mwen ta ka eseye li? Mèsi davans.

    1.    eliotime3000 diro

      Verite a se ke li pa mande pou anpil konesans pou kapab okipe yon sèvè baz done. Yon moun ki te deja eseye eksperyans sa a di ou.

  12.   Moris diro

    Bonjou, sa a se trè bon sa ou pral fè ak seri sa a nan posts.

    Mwen fèk enstale Nginx + Php Fastcgi + Mariadb. Nginx.

    Tout bagay sa yo, mwen te fè yo nan Archlinux, paske distribisyon sa a se youn nan sèlman nan pwen de vi mwen, ki pa pote kòm anpil goodi tankou lòt moun yo. Mwen mete l 'nan yon anviwònman kaj epi li ban m' yon anpil nan deranjman gen li ap travay parfe.

    Koulye a, li ap travay parfe. Malgre ke mwen enterese nan konnen opinyon ou, sou sa yo ki nan timoun yo ak pwosesis papa, konsèy yo plis yo ban m ', pi bon an.

    Tout bagay sa a se jis pou pratik.
    Ekipman an gen 4GB DDR2 belye mouton ak yon 2Ghz Nwayo 2.4duo processeur.

    Bonjou ak mwen gade pou pi devan pou posts kap vini yo nan seri sa a.

  13.   lakòz efè tèmik diro

    200 itilizatè ki konekte ansanm?
    Se sèlman nan sèten moman nan jounen an, dwa? Paske otreman li ta depase sa yo 30.000 vizit chak jou.

    1.    KZKG ^ Gaara diro

      Wi, nan kou, pa toujou gen 200 moun sou entènèt, nan moman sa a gen prèske 40 paske li toujou bonè, nan kèk èdtan yo pral depase 100.

  14.   dhunter diro

    Jis pou plezi mwen jis chanje soti nan alalejè nginx sou estasyon travay mwen an (Symfony2 kounye a), mwen te pran konf la soti isit la [1], trè senp.

    [1] http://ihaveabackup.net/2012/11/17/nginx-configuration-for-symfony2

  15.   Apr4xas diro

    Ap tann pou kontinyasyon sa a 😀

    1.    KZKG ^ Gaara diro

      Semèn sa a mwen dwe pibliye li, mèsi pou lekti nou 🙂

      1.    sante diro

        ak? anpil ki manke?

  16.   Dean diro

    Bon pòs ...

  17.   NOEL IVAN diro

    BONSWA.
    POU SPESIFIKASYON PWOJÈ LEK SCHOOLL, YO KITE MWEN ENSTALE NGINX NAN OPENBSD 5.4 NAN ORACLE MV VIRTUALBOX POU MWEN KA ITILIZE PHP, MYSQL, Pami LTHT MOUN, NADAMAS KE MWEN PAKA JWENN ENFATIONMASYON KONSÈNAN SOU KI SOT LA, KI KWÈ.