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

Yon ti tan de sa Mwen te di ou sou seri sa a tutoryèl, sou kòman yo enstale ak configured yon sèvè pou demann segondè hosting. Atik sa a pral sou enstale ak konfigirasyon Nginx:

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).

Tutorial sa a kontra sèlman ak sèlman sou Nginx, pa sou Nginx + PHP, sendika a nan Nginx + PHP kòm byen ke optimize li yo oswa konfigirasyon ki nesesè yo pral adrese nan la pwochen leson patikilye

1. Enstalasyon:

Nou pral kòmanse ak premye bagay la, enstale Nginx soti nan repozitwa nou yo.

Tout kòmandman yo ki pral egzekite yo egzekite ak otorizasyon rasin, swa pa mete sudo nan kòmansman chak liy oswa lè yo te louvri sesyon an kòm rasin

Si sou sèvè ou ou itilize yon distribisyon tankou Debian, Ubuntu oswa kèk derive nan tèminal la ou dwe mete sa ki annapre yo ak laprès Antre nan :

aptitude install nginx

aptitude pa enstale pa default nan Ubuntu, sepandan mwen rekòmande ke ou enstale li epi sèvi ak li olye pou yo apt-jwenn, paske aptitude fè pi bon jesyon nan depandans nan okazyon sèten

Nan ka ou itilize yon lòt distribisyon sou sèvè ou tankou CentOS, Red Hat, Fedora, tou senpleman enstale pake a: nginx soti nan depo ofisyèl la

Pèsonèlman, mwen pa rekòmande okenn derive nan Debian, pa menm Ubuntu pou serveurs, sou ane eksperyans mwen yo pa te antyèman satisfezan. Premye chwa mwen pou sistèm opere sèvè se Debian, lè sa a mwen ta panse a CentOS, finalman kèk BSD

2. konte genyen:

Nou deja gen Nginx enstale, men nou evidamman bezwen configured li. Mwen te prepare yon dosye konprese sou ftp la ki gen tout konfigirasyon yo itilize nan serveurs DesdeLinux yo, tou de pou PHP, Nginx, elatriye. Se pou yo telechaje ak ouvriers ki dosye:

cd ~ && wget http://ftp.desdelinux.net/nginx-spawn-fastcgi.tar.gz && tar xf nginx-spawn-fastcgi.tar.gz

Sa a pral kreye yon katab ki rele nginx-spawn-fastcgi, soti nan li nou pral bezwen de dosye pou pi bon kalite Nginx (ki se, san yo pa konekte li nan PHP):

  • nginx.conf - »Main dosye konfigirasyon Nginx (nou pral pale sou kontni li pita)
  • index.html - »Yon senp dosye html ke nou pral itilize pou wè si Nginx reyèlman travay pou nou nan fòm ki pi fondamantal li yo
  • mywebsite.net - »Dosye konte genyen pou yon sit entènèt senp, yon VHost (Virtual Host) ki pral configured aksè a html anvan an

Se pou yo premye deplase nan folder nan anviwònman Nginx:

cd /etc/nginx/

Lè sa a, kite a retire konfigirasyon default li yo, li mete nou an:

mv nginx.conf nginx.conf_BK && cp ~/nginx-spawn-fastcgi/nginx.conf ./

Sa a, jan mwen te di, se dosye prensipal konfigirasyon Nginx, nan li mwen te deja defini bagay sa yo:

itilizatè www-done; travayè_processes 4; pid /var/run/nginx.pid;

Aksè itilizatè nan sistèm dosye a (ak ki nginx ap gen aksè toupatou), kantite pwosesis pou travay avèk epi tou PID la (id pwosesis nginx).

Nou genyen tou yon ti blòk ki rele evènman (anviwònman pou evènman) ki gen yon liy ki endike kantite maksimòm koneksyon ki pèmèt pou chak evènman. Anba la a se blòk la ki rele http.

Blòk http sa a se youn ki gen prèske tout bagay ki gen rapò ak hosting, omwen anpil bagay ki pral enterese ou. Pou egzanp, tan an maksimòm yo viv oswa rete tann (poz), kote yo pral mòso bwa jeneral nou an (access.log ak error.log) dwe, done konpresyon lè l sèvi avèk gzip, osi byen ke lòt règ ki ta ka itil nan tan kap vini an.

Yon fwa dosye a konfigirasyon prensipal la an plas, kite a kopye dosye a soti nan VHost nou an nan katab la sit-disponib

cp ~/nginx-spawn-fastcgi/mywebsite.net sites-available/

Anplis de sa, nou dwe fè yon lyen senbolik nan dosye sa a nan katab ki pèmèt sit la.

ln -s /etc/nginx/sites-available/mywebsite.net /etc/nginx/sites-enabled/

Mwen eksplike itilite pou gen sit ki pèmèt ak sit ki disponib.

Li pral fè fwa yo dwe gen plizyè dosye vhost pare ak configuré, paske sou sèvè sa a yo pral mete sou entènèt, di 5 sit. Sepandan, li rive ke li se pa ankò tan nan yo ki ap pèmèt 2 nan sa yo 5 vhosts, men yo dwe gen dosye yo pare pou ke lè sa nesesè yo sou entènèt nan tan ki pi kout posib. Yo ka mete anpil vhosts jan yo vle nan sit ki disponib, depi sa yo ki Nginx li yo mete sou entènèt yo, se sèlman sa yo ki nan sit ki pèmèt, li ta tou travay nan direksyon opoze a, nan ka yo vle mete offline (pou yon ti tan pou egzanp) yon sit, pa gen okenn bezwen efase dosye soti nan sèvè ou (dosye ke nou pral bezwen pita), nou tou senpleman retire lyen senbolik la nan sit ki pèmèt e ke li nan li. Itilite a ki gen lyen senbolik epi yo pa tou senpleman kopye dosye a soti nan yon katab nan yon lòt, se ke lè nou vle modifye yon vhost, li pa gen pwoblèm si nou modifye yon sèl la ki chita nan pèmèt oswa ki disponib, nan fen a li se menm bagay la
achiv.

Fichye a mywebsite.net jan mwen te di anvan, yon vhost ki sèvi kòm yon egzanp, se sa ki, ak nan lòt mo, nou dwe modifye mywebsite.net ak etabli konfigirasyon nou an.

Nou dwe chanje bagay sa yo:

  • access_log (liy 3): Sa a pral chemen an nan dosye a boutèy demi lit aksè nan sit sa a
  • error_log (liy 4): Sa a pral chemen an nan dosye a boutèy demi lit erè nan sit sa a
  • server_name (liy 5): URL la, domèn ki anime nan katab sa, pa egzanp, si se te fowòm FromLinux li ta: server_name forum.fromlinux.net
  • rasin (liy 6): chemen nan katab la kote dosye yo html yo, kite a kite sa a nan / var / www / kòm li pral sèlman yon tès
Li evidan yo dwe gen montre nan dosye dns yo nan founisè hosting yo (lè l sèvi avèk CPanel oswa yon lòt zouti) ke domèn nan oswa subdomain te deklare nan server_name sitiye sou IP a nan sèvè sa a ke yo ap konfigirasyon. Sa se, nan dns la kote yo kreye subdomains pou domèn yo, yo dwe deklare ke domèn nan oswa subdomain yo ke yo te mete nan liy 5 sitiye sou sèvè sa a (sèvè sa a = adrès la IP nan sèvè a nan kesyon)

Koulye a, nou jis bezwen kopye dosye a html nan katab la ke nou defini nan dosye VHost nou an, / var / www /:

mkdir /var/www/ && cp ~/nginx-spawn-fastcgi/index.html /var/www/

Lè sa a, nou rekòmanse Nginx e ke se li:

service nginx restart

Ak vwala, yon bagay tankou sa a ap parèt:

nginx-pi-tès-sit-html

 

Mwen fè ou sonje ke nou ap travay an premye ak Nginx pou HTML, san yo pa gen sipò PHP, sa a enstale PHP ak lyen li nan Nginx pral kontni an nan leson patikilye kap vini an (nan kèk jou, mwen pwomèt).

De tout fason, sa a se enstalasyon an Nginx ak leson patikilye konfigirasyon pou ke li travay pi, se sa ki, yon sit HTML, mwen espere ke li se nan enterè ou.

Mwen pral klarifye ke wi, gen toujou pi bon pratik ki ka mete yo itilize, sepandan kite a fini seri sa a nan tutoryèl ak Lè sa a, nou pral evalye rezilta final la nan travay la 😉

Concerne


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

26 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.   Nelson diro

    Mèsi, trè itil!

    1.    KZKG ^ Gaara diro

      Mèsi pou kòmantè

  2.   dhunter diro

    Nan backports gen nginx 1.4 ..

    1.    KZKG ^ Gaara diro

      Wi, men sou yon sèvè pwodiksyon mwen pa itilize okenn nan sa 😀

      1.    dhunter diro

        Pa "ki" ou vle di dènye vèsyon an ki estab ak teste pibliye pa nginx, ou fè li son tankou li nan apt-pinning soti nan sid. ~ _ ~

        1.    KZKG ^ Gaara diro

          Ah vini, se ke ... sou serveurs yo mwen pa janm te renmen lè l sèvi avèk lòt repo, oswa backports oswa nenpòt bagay tankou sa 🙂

      2.    Raphael Castro diro

        Toujou ki estab sou serveurs, mwen te aprann ke ane de sa.

        1.    dhunter diro

          Nginx 1.4 se ki estab depi avril dènye, nan backports li se 1.4.1-3.

          2013-04-24

          nginx-1.4.0 ki estab vèsyon te lage, enkòpore anpil karakteristik nouvo devlope nan branch lan 1.3.x - sipò pou proxy nan koneksyon WebSocket, OCSP agrafaj, SPDY modil, gunzip filtre ak plis ankò.

          http://nginx.org/en/CHANGES-1.4

          1.    Raphael Castro diro

            Ou gen rezon nan sa ou di, chapo mwen an koupe.

  3.   chinoloco diro

    Mèsi pou pataje, mwen kounye a mete pi ansyen pòs ou an pratik.
    Mwen pral ranpli ou ak kesyon XD

    1.    KZKG ^ Gaara diro

      Mèsi pou lekti 🙂
      Nenpòt dout oswa kesyon ou konnen, nou isit la ede, gen ou forum.desdelinux.net a kote ansanm nou pral eseye ba ou pi bon solisyon an

      Concerne

      1.    Gibran barrera diro

        Mwen gen yon kesyon mwen gen LAMP [Linux (Debian Wheezy), Apache, PHP ak MySQL] kouri sou sèvè mwen an pou WordPress ak Owncloud, ki jan pou mwen emigre nan Ngnix, yon lòt kesyon se ki diferans ki genyen ant Ngnix ak Lighttpd.

        1.    KZKG ^ Gaara diro

          Konplikasyon nan pi gwo oswa difikilte pou emigre soti nan Apache Nginx yo se konfigirasyon yo nan chak sit, se sa ki, espesyalman takses la ou itilize.

          Takses la se pi konplèks la lè oblije chanje nan Nginx, depi yo diferan konfigirasyon ke ou dwe mete nan Nginx VHost la.

          About LightHTTPd ak Nginx ... Mwen pa konnen, mwen te itilize LightHTTPd yon sèl fwa anpil ane de sa, kounye a mwen pa gen okenn lide ki jan devlopman li yo pral, espesyalman lè l sèvi avèk PHP.

  4.   eliotime3000 diro

    NGINX sanble trè dwat konpare ak Apache. Ap tann pou Episode nan pwochen pou kapab konplete li ak PHP

  5.   Moris diro

    Mwen ap tann pou konsèy yo optimize plis nan nginx 😀

    By wout la Gaara, ou ka enkli nan pwochen leson patikilye ou, ki jan yo aplike SSL sipò.

    Bonjou.

    1.    KZKG ^ Gaara diro

      Konsèy yo ki vini yo aktyèlman optimize PHP pwosesis, kachèt nan sit, mwen ka mete egzanp lan nan konfigirasyon ke nou itilize nan FromLinux pou Nginx + Wordpress + W3_Total_Cache 🙂

  6.   KAISER diro

    Mèsi bon kontribisyon.

  7.   Apr4xas diro

    Ak gid la pou archlinux lè? xD

    1.    KZKG ^ Gaara diro

      Nan Arch li te trè menm jan an, se sèlman non yo nan pakè yo chanje men ... conf a se prèske ki idantik

      Men, ki moun ki gen yon sèvè pwodiksyon ak Arch? 😀

  8.   Apr4xas diro

    Hi there,

    Se mwen ankò xD ...

    Mwen te swiv etap ou aplike yo sou yon machin ak archlinux e mwen gen pwoblèm sa a:

    [abr4xas@Genius www]$ systemctl status nginx.service
    nginx.service - A high performance web server and a reverse proxy server
    Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled)
    Active: failed (Result: exit-code) since vie 2013-11-15 20:11:35 VET; 1min 13s ago
    Process: 1258 ExecStartPre=/usr/bin/nginx -t -q -g pid /run/nginx.pid; daemon on; master_process on; (code=exited, status=1/FAILURE)

    Nenpòt sijesyon 😀

  9.   riz diro

    Jo ... xox, mwen sèlman vle yon sèvè entèn, se sa ki, mwen sèlman vle ranplase xampp, mwen ta dwe fè tout bagay sa a?

    1.    KZKG ^ Gaara diro

      Si ou vle, ou ka aplike sa a (ki mwen repete, li se sa ki DL travay ak), an reyalite sèvè vityèl mwen an (ki mwen itilize pou devlopman ak tès) mwen genyen li fè ak menm bagay la ke mwen eksplike.

      Sa se, ou ka swa retire XAMPP epi mete Variant sa a epi li pral travay amann, oswa si ou vle kite XAMPP ... li ap toujou travay pou ou.

      Pwen pozitif nan lè l sèvi avèk sa a ke mwen montre se konsomasyon ki ba anpil nan pyès ki nan konpitè konpare ak Apache, men, sou òdinatè pèsonèl ou, ki se pa yon gwo-demann hosting, byen lwen soti nan li ... si XAMPP travay byen pou ou, mwen pa wè poukisa retire li 🙂

  10.   Izarak diro

    Mwen deja gen sèvè Linux mwen an kouri (Debian, Nginx, miskl ak PHP) Mwen te gen yon tan difisil ap resevwa PHP nan travay ak Nginx paske mwen te itilize nan senp sèvè entènèt la Apache.

    Oke kesyon mwen an se: nenpòt moun ki konnen ki jan mwen ka montre yon domèn tès ke mwen te achte nan sèvè mwen an? Mwen ta renmen eseye domèn .com mwen yo wè ki jan li fonksyone, men mwen pa gen lide a mwendr ki jan fè li, paske mwen te toujou itilize yon adrès NOIP jwenn aksè nan li ak noip DUC la.

    Mwen espere ke yon moun ka ede mwen, Mèsi!

  11.   Abraram diro

    Mwen jwenn sa a lè mwen ap eseye konekte ak ftp ou:

    CD ~ && wget http://ftp.desdelinux.net/nginx-spawn-fastcgi.tar.gz && tar xf nginx-spawn-fastcgi.tar.gz

    HTTP mande voye, ap tann repons ... 404 pa jwenn
    2015-11-23 17:46:30 ERÈ 404: pa jwenn.

  12.   Ryan diro

    Mwen gen sèvè mwen an kouri sou CentOS (Gunicorn, Nginx, PHP) li koute m 'yon anpil nan travay fè yo travay men pwen kote mwen te kole se ke Paj wèb la mwen vle lanse bezwen konfigirasyon nan founisè a domèn nan sa a ka Go Daddy, Se konsa, nan pwen sa a mwen pa konnen ki jan yo kontinye.

  13.   Ricardo diro

    Èske ou ta ka pataje dosye yo konfigirasyon avè m 'depi mwen pa ka telechaje yo tanpri