Kā instalēt tīmekļa serveri ar Nginx + MySQL + PHP5 + APC + Spawn_FastCGI [4. daļa: Nginx + PHP ar SpawnFastCGI]

Pirms kāda laika Es jums pastāstīju par šo apmācību sēriju, par to, kā instalēt un konfigurēt serveri augsta pieprasījuma mitināšanai. Šis raksts būs par instalēšanu un konfigurēšanu Nginx + PHP ar SpawnFastCGI:

Spawn_FastCGI:

Var teikt, ka tieši tas savieno Nginx ar PHP, tas ir, pat ja viņiem ir instalēta PHP5 pakete, ja viņiem nav instalēta un izpildīta Spawn_FastCGI, kad viņi atver vietni PHP, pārlūks lejupielādēs failu, tas viņiem neko neparādīs, ka .php ir ieprogrammēts, jo serveris nezina, kā apstrādāt .php failus, tāpēc ir svarīgi instalēt un konfigurēt Spawn_FastCGI.

Ja mēs izmantotu Apache, tas būtu kaut kas tik vienkārši, kā instalēt paketi libapache2-mod-php5, bet, tā kā mēs izmantojam Nginx, tā vietā būs jāinstalē spawn-fcgi pakete. Arī apmācībā es paskaidrošu, kā izveidot sākotnējo skriptu mapē /etc/init.d/, lai jūs to varētu ērtāk kontrolēt.

1. Uzstādīšana:

Mēs sāksim ar pirmo lietu, no mūsu krātuvēm instalējiet Spawn-FastCGI un PHP.

Visas komandas, kas tiks izpildītas, tiek izpildītas ar root tiesībām, vai nu ieliekot sudo katras rindas sākumā, vai arī piesakoties kā root

Ja savā serverī jūs izmantojat tādu izplatīšanu kā Debian, Ubuntu vai kādu atvasinājumu terminālā, jums jāievieto sekojošais un jānospiež ienākt :

aptitude install spawn-fcgi php5-cgi php5-curl

Ubuntu pēc noklusējuma nav instalēts, bet es iesaku to instalēt un izmantot nevis apt-get, jo noteiktos gadījumos piemērotība labāk pārvalda atkarības

Personīgi es neiesaku nevienu Debian atvasinājumu, pat ne Ubuntu serveriem, gadu gaitā mana pieredze nav bijusi pilnīgi apmierinoša. Mana pirmā izvēle servera operētājsistēmai ir Debian, tad es domāju par CentOS, visbeidzot kādu BSD

2. Konfigurācija:

Iepriekšējā solī (kad mēs instalējām Nginx) mēs lejupielādējām failu ar nosaukumu nginx-spawn-fastcgi.tar.gz, ka, atvienojot, tas mūsu mājās izveidoja mapi nginx-spawn-fastcgi, mēs no tā kopēsim failu spawn-fastcgi uz /etc/init.d/:

cp ~/nginx-spawn-fastcgi/spawn-fastcgi /etc/init.d/

Mums ir nepieciešams arī izpildāmais php-fastcgi failā / usr / bin /

cp ~/nginx-spawn-fastcgi/php-fastcgi /usr/bin/

Lieliski, mums ir gatavs fails, kas ļaus mums kontrolēt spawn-fastcgi un arī php-fastcgi izpildāmo failu, tagad mēs sāksim spawn-fastcgi:

/etc/init.d/spawn-fastcgi start

Tas mums parādīs kaut ko līdzīgu: spawn-fcgi: bērns veiksmīgi nārstojis: PID: 3739

Tagad mēs aizstāsim savu /etc/nginx/sites-available/mywebsite.net failu ar ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net

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

Kāpēc? Vienkārši, jo mūsu iepriekšējā mywebsite.net failā nav PHP atbalsta, tas ir, tas ir tikai Nginx, savukārt failam mywebsite_plus_php.net ir atbalsts PHP, tas ir, Nginx + PHP, izmantojot SpawnFastCGI.

Atšķirības starp šiem failiem ir vairākas, piemēram:

  • 3. rindā fails, kas atbalsta PHP, tiek pievienots index.php
  • Jauna rindiņa zem Nr.3, kas satur: fastcgi_index index.php;
  • Vairākas citas jaunas līnijas, kas Nginx stāsta, kā apstrādāt PHP.
  • ... .. Īsāk sakot, šeit ir fotoattēls, kas palīdzēs jums uzzināt atšķirības starp abiem failiem:

nginx_mysql_spawn-fastcgi_comparing_mywebsite_confs

Fails mywebsite_plus_php.net ir vhost, kas kalpo kā piemērs, tas ir, citiem vārdiem sakot, mums tas ir jāpārveido un jāizveido konfigurācijas.

Mums jāmaina:

  • access_log (3. rindiņa): Šis būs piekļuves žurnāla faila ceļš uz šo vietni
  • error_log (4. rindiņa): Šis būs kļūdu žurnāla faila ceļš uz šo vietni
  • servera_nosaukums (5. rindiņa): URL, domēns, kas tiek mitināts šajā mapē, piemēram, ja tas būtu forums. DesdeLinux tas būtu: foruma servera_nosaukums.desdelinux. Neto
  • sakne (6. rinda): ceļš uz mapi, kur atrodas html faili, atstāsim to mapē / var / www /, jo tas būs tikai tests
Acīmredzot viņu mitināšanas pakalpojumu sniedzēja DNS ierakstos (izmantojot CPanel vai citu rīku) ir jānorāda, ka domēns vai apakšdomēns, kas deklarēts server_name, atrodas šī konfigurētā servera IP. Tas ir, DNS, kurā viņi izveido apakšdomēnus savam domēnam, viņiem jāpaziņo, ka domēns vai apakšdomēns, ko viņi ievietojuši 5. rindā, atrodas šajā serverī (šis serveris = attiecīgā servera IP adrese)

Gatavs, tagad mēs restartēsim Nginx:

/etc/init.d/nginx restart

Lai pārbaudītu, vai mūsu Nginx pareizi apstrādā PHP, nokopēsim failu phptest.php hostētajā mapē, tas ir, failā mywebsite_plus_php.net (piemēram, root / var / www /) norādītajā rindiņā Nr. 6, pieņemot, ka vietne ir mitināta tieši mapē / var / www /:

cp ~/nginx-spawn-fastcgi/phptest.php /var/www/

Pieņemot, ka mūsu mywebsite_plus_php.net 5. rindā (tas ir, servera_nosaukums) mēs esam teikuši, ka mūsu vietne ir www.mysite.net, tad mums ir jāpiekļūst www.mysite.net/phptest.php. Citiem vārdiem sakot, ideja ir piekļūt failam phptest.php no mūsu pārlūkprogrammas, un, ja parādās šāda informācija, mūsu Nginx ir ideāli saistīts ar PHP:

nginx_mysql_spawn-fastcgi_tersting_nginx_php

Gadījumā, ja tas neparādās, tas ir, pārlūkprogramma mēģina lejupielādēt .php failu ... tas nozīmē, ka viņi izdarīja kaut ko nepareizi, ka viņi neaizstāja /etc/nginx/sites-available/mywebsite.net ar ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net ... ka esat aizmirsis restartēt Nginx ar /etc/init.d/nginx restart vai ka esat aizmirsis sākt Spawn-FastCGI ar /etc/init.d/spawn-fastcgi start

Līdz šim apmācība, lai saistītu Nginx ar PHP, izmantojot SpawnFastCGI, mums ir nepieciešama tikai MySQL un APC 🙂

Es ceru, ka jums tas šķiet interesanti.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   f3niX teica

    Ja tas ir ceturtdaļa, kāpēc attēlā teikts 3? sākās 0 es domāju? lielisks amats.

    Sveicieni

    1.    KZKG ^ Gaara teica

      1.: Prezentācija
      2 .: Nginx
      3. vieta: Nginx + PHP (Spawn_FastCGI)

      ????

      Paldies, ka izlasījāt ^ _ ^

      1.    Rodrigo teica

        kas notika ar 4. daļu ???
        un ar sekojošo ?????

  2.   rpyanm teica

    Sveiki

    Labāka izvēle būtu, ja mysql vietā jūs izmantotu MariaDB, jo jums jāzina, ka pēdējais ir pirmā dakša, un jau tiek runāts, ka tas būs nākotnes MySQL (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro), jo MySql ir brīva līdz punktam.

    SkySQL, uzņēmums, kas sniedz pakalpojumus no bezmaksas datu bāzēm, finansiāli atbalstīja projektu MariaDB (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) un Google, kas vēlas pārtraukt darbību atkarībā no MySQL, kā to darīja arī Wikipedia, un veiks pāreju no MySQL 5.1 uz MariaDB 10.0, izmantojot tieši SkySQL, kas jau ir eksperti šajā jomā.

    sveiks2.

    1.    KZKG ^ Gaara teica

      Hello,

      Jā, protams, es pazīstu MariaDB, un patiesībā mēs par to jau runājām: https://blog.desdelinux.net/tag/mariadb/

      Tomēr šobrīd es izmantoju MySQL, jo es veicu šīs apmācības, ņemot vērā pieredzi, kāda man bija migrējot. DesdeLinux (ar visiem tā pakalpojumiem) uz citiem serveriem, tajā laikā mēs pilnībā mainījām tehnoloģiju un uzdevumu vai izmaiņas, ar kurām man bija jāsaskaras, nebija maz.
      No šī brīža izlasiet šo manu komentāru: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291

      Galīgā ideja ir patiešām jā, pārejiet uz MariaDB, bet man nav bijis laika veikt attiecīgos testus 🙂

      Paldies, ka lasījāt

  3.   3000 teica

    Šī apmācība man palīdzēs instalēt zPanel X ar NGINX, lai nepārsātinātu manu vietni, pārejot uz GNUPanel VPS.

  4.   Dranjels teica

    Ziemassvētku dāvana? Ar nepacietību gaidīju apsveikumus visiem.

    1.    KZKG ^ Gaara teica

      Paldies partnerim 😀

  5.   st0rmt4il teica

    Pievienots izlasei!

    Starp citu, man ir šīs šaubas un jautājums, vai tiešām Nginx ir lielāks sniegums nekā Apache?

    Sveicieni!

    1.    KZKG ^ Gaara teica

      Nu, Apache var daudz optimizēt, taču ... līdz šim Google to un gandrīz visi no mums ir vienisprātis, ka Nginx patērē daudz mazāk RAM, tā veiktspēja nav nenozīmīga, kaut arī konfigurējot tas nav tik vienkārši.

  6.   Luiss Morales teica

    Laba KZKG ^ Gaara lieliska informācija tiem no mums, kurus interesē šī pasaule, jautājums, kad 4. ieraksts 😀