Како да инсталирате веб-сервер со Nginx + MySQL + PHP5 + APC + Spawn_FastCGI [4-ти дел: Nginx + PHP со SpawnFastCGI]

Пред некое време Јас ти кажав за оваа серија на упатства, за тоа како да инсталирате и конфигурирате сервер за хостинг со голема побарувачка. Оваа статија ќе биде за инсталирање и конфигурирање Nginx + PHP со SpawnFastCGI:

Расте_Брзо CGI:

Ова може да се каже дека тоа е она што го поврзува Nginx со PHP, т.е. дури и ако го имаат инсталирано пакетот PHP5 ако немаат инсталирано и извршено Spawn_FastCGI кога отвораат страница во PHP, прелистувачот ќе ја преземе датотеката, нема да им покаже ништо што .php е програмиран бидејќи серверот не знае како да обработува датотеки .php, затоа е од суштинско значење да се инсталираат и конфигурираат Spawn_FastCGI.

Ако користевме Apache, тоа ќе беше нешто едноставно како инсталирање на пакетот libapache2-mod-php5, но бидејќи го користиме Nginx, ќе треба да го инсталираме пакетот spawn-fcgi. Исто така, во упатството ќе објаснам како да креирате почетна скрипта за тоа во /etc/init.d/ за да можете да го контролирате поудобно.

1. Инсталација:

Willе започнеме со првиот, инсталирајте Spawn-FastCGI и PHP од нашите складишта.

Сите команди што треба да се извршат се извршуваат со root-дозволи, или со ставање sudo на почетокот на секоја линија или со најавување како root

Ако на вашиот сервер користите дистрибуција како што се Debian, Ubuntu или некој дериват во терминалот, мора да го ставите следново и да притиснете Внесете :

aptitude install spawn-fcgi php5-cgi php5-curl

способноста не е инсталирана стандардно во Ubuntu, сепак препорачувам да ја инсталирате и да ја користите наместо apt-get, бидејќи способноста прави подобро управување со зависностите во одредени прилики

Лично, не препорачувам ниту еден дериват на Debian, дури ни Ubuntu за сервери, со текот на годините моите искуства не беа целосно задоволителни. Мојот прв избор за оперативни системи на сервер е Debian, тогаш би помислив на CentOS, конечно и на некои BSD

2. Конфигурација:

Во претходниот чекор (кога инсталиравме Nginx) преземавме датотека наречена nginx-spawn-fastcgi.tar.gz дека кога ќе ја отпакувате, ја создаде папката nginx-spawn-fastcgi во нашиот дом, ќе ја копираме датотеката од неа мрест-fastcgi до /etc/init.d/:

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

Исто така, ни треба php-fastcgi што може да се изврши во / usr / bin /

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

Совршено, ја имаме датотеката подготвена што ќе ни овозможи да ги контролираме мрестите-fastcgi, а исто така и php-fastcgi извршните, сега ќе започнеме мрести fastcgi:

/etc/init.d/spawn-fastcgi start

Usе ни покаже нешто како: мрест-fcgi: детето успешно се мрестеше: PID: 3739

Сега ќе ја замениме нашата /etc/nginx/sites-available/mywebsite.net датотека со ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net

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

Зошто? Едноставно, бидејќи нашата стара датотека mywebsite.net нема поддршка за PHP, односно е само Nginx, додека датотеката mywebsite_plus_php.net има поддршка за PHP, односно Nginx + PHP со SpawnFastCGI.

Разликите помеѓу овие датотеки се неколку, на пример:

  • Во линијата 3, датотеката што поддржува PHP се додава index.php
  • Нова линија под бр.3 што содржи: fastcgi_index index.php;
  • Неколку други нови линии што му кажуваат на Nginx како да процесира PHP.
  • Како и да е, еве една фотографија што ќе ви помогне да ги знаете разликите помеѓу двете датотеки:

nginx_mysql_spawn-fastcgi_comaching_mywebsite_confs

 

Датотеката mywebsite_plus_php.net е vhost што служи како пример, односно со други зборови, ние мора да ја измениме и да ги утврдиме нашите конфигурации.

Ние мора да го смениме следново:

  • пристап_лог (линија 3): Ова е патот на датотеката за пристап до дневникот до оваа страница
  • error_log (линија 4): Ова е патот на датотеката за евиденција на грешки до оваа страница
  • име на сервер (линија 5): URL-то, доменот што е хостиран во таа папка, на пример, да беше форумот FromLinux ќе беше: име на server_fromlinux.net
  • root (линија 6): Патеката до папката каде што се датотеките html, ајде да го оставиме ова во / var / www / бидејќи тоа ќе биде само тест
Очигледно, тие мора да имаат наведено во нивните DNS записи на нивниот хостинг провајдер (користејќи CPanel или друга алатка) дека доменот или поддоменот деклариран во името на серверот се наоѓа на IP на овој сервер што го конфигурираат. Тоа е, во DNS каде што создаваат поддомени за нивниот домен, тие мора да изјават дека доменот или поддоменот што го ставија во линија 5 се наоѓа на овој сервер (овој сервер = IP адреса на серверот за кој станува збор)

Подготвени, сега ќе го рестартираме Nginx:

/etc/init.d/nginx restart

За да провериме дали нашиот Nginx правилно го процесира PHP, ајде да ја копираме датотеката phptest.php во папката што е домаќин, односно онаа наведена во редот бр. 6 на датотеката mywebsite_plus_php.net (на пример, root / var / www /), под претпоставка дека веб-страницата да биде хостирана директно во / var / www / би била:

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

Претпоставувајќи дека во редот 5 од нашата mywebsite_plus_php.net (т.е. линијата на името на серверот) рековме дека нашата страница е www.mysite.net, тогаш мора да пристапиме до www.mysite.net/phptest.php. Со други зборови, идејата е да пристапите до датотеката phptest.php од нашиот прелистувач и ако се појави следново, тогаш нашиот Nginx совршено се поврза со PHP:

nginx_mysql_spawn-fastcgi_tersting_nginx_php

 

Во случај ова да не се појави, односно прелистувачот да се обиде да ја преземе датотеката .php ... тоа значи дека направиле нешто погрешно, дека не го замениле /etc/nginx/sites-available/mywebsite.net со ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net… дека заборавиле да го рестартираат Nginx со /etc/init.d/nginx рестартирање или дека заборавиле да започнат Spawn-FastCGI со /etc/init.d/spawn-fastcgi start

Досега упатството за поврзување на Nginx со PHP користејќи SpawnFastCGI, потребни ни се само MySQL и APC

Се надевам дека ова ви е интересно.


Содржината на статијата се придржува до нашите принципи на уредничка етика. За да пријавите грешка, кликнете овде.

11 коментари, оставете ги вашите

Оставете го вашиот коментар

Вашата е-маил адреса нема да бидат објавени. Задолжителни полиња се означени со *

*

*

  1. Одговорен за податоците: Мигел Анхел Гатон
  2. Цел на податоците: Контролирајте СПАМ, управување со коментари.
  3. Легитимација: Ваша согласност
  4. Комуникација на податоците: Податоците нема да бидат соопштени на трети лица освен со законска обврска.
  5. Складирање на податоци: База на податоци хостирани од Occentus Networks (ЕУ)
  6. Права: Во секое време можете да ги ограничите, вратите и избришете вашите информации.

  1.   f3niX dijo

    Ако е четвртина, зошто на сликата пишува 3? започна на 0 претпоставувам? одличен пост.

    Со почит

    1.    КЗКГ ^ Гаара dijo

      1-ви: Презентација
      2-ри: Nginx
      3-ти: Nginx + PHP (Spawn_FastCGI)

      🙂

      Ви благодариме за читањето ^ _ ^

      1.    Родриго dijo

        што се случи со дел 4 ???
        и со последователните ?????

  2.   рпајанм dijo

    Hi

    Би бил подобар избор ако наместо mysql, користете MariaDB, како што треба да знаете, вториот е вилушка на првиот, и веќе се зборува дека тоа ќе биде MySQL на иднината (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro) бидејќи Mysql е бесплатен, до одредена точка.

    SkySQL, компанија која обезбедува услуги од бесплатни бази на податоци, финансиски го поддржа проектот MariaDB (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) и Google што сака да запре во зависност од Mysql, како што направи Википедија, и ќе премине од MySQL 5.1 во MariaDB 10.0 со помош, поточно, на SkySQL, кои веќе се експерти во оваа област.

    Салу2.

    1.    КЗКГ ^ Гаара dijo

      Здраво,

      Да, се разбира, ја познавам MariaDB и, всушност, веќе разговаравме за тоа: https://blog.desdelinux.net/tag/mariadb/

      Како и да е, сега користам MySQL затоа што ги правам овие упатства од конкретното искуство што го имав при мигрирање од Linux (со сите свои услуги) на други сервери, во тоа време ние целосно ја сменивме технологијата и задачите или промените со кои требаше да се соочам не беа малкумина
      Прочитајте го овој мој коментар од тој момент: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291

      Конечната идеја е да, навистина, мигрирај во MariaDB, но немав време да ги направам релевантните тестови

      Ви благодариме за читањето

  3.   елиотим3000 dijo

    Ова упатство ќе ми помогне да инсталирам zPanel X со NGINX за да не ја заситувам мојата страница кога мигрирам на GNUPanel VPS.

  4.   Драгнел dijo

    Божиќниот подарок? Со нетрпение чекав да им честитам на сите.

    1.    КЗКГ ^ Гаара dijo

      Благодарам партнер

  5.   st0rmt4il dijo

    Додадено во омилени!

    Патем, го имам ова сомневање и прашање, дали навистина Nginx има повеќе перформанси од Apache?

    Честитки!

    1.    КЗКГ ^ Гаара dijo

      Па, Apache може многу да се оптимизира, но… до сега, Google и скоро сите се согласуваме дека Nginx троши многу помалку RAM меморија, има незначителни перформанси, иако не е толку едноставно при конфигурирање.

  6.   Луис Моралес dijo

    Добри KZKG ^ Gaara одлични информации за оние кои сме заинтересирани за овој свет, прашање, за кога 4-ти пост