So installieren Sie einen Webserver mit Nginx + MySQL + PHP5 + APC + Spawn_FastCGI [4. Teil: Nginx + PHP mit SpawnFastCGI]

Vor einiger Zeit Ich habe Ihnen von dieser Reihe von Tutorials erzรคhlt, zum Installieren und Konfigurieren eines Servers fรผr Hosting mit hoher Nachfrage. In diesem Artikel geht es um die Installation und Konfiguration Nginx + PHP mit SpawnFastCGI:

Spawn_FastCGI:

Dies kann gesagt werden, dass es das ist, was Nginx mit PHP verbindet, das heiรŸt, selbst wenn sie das PHP5-Paket installiert haben, wenn sie Spawn_FastCGI nicht installiert und ausgefรผhrt haben, wenn sie eine Site in PHP รถffnen, wird der Browser die Datei herunterladen, es wird ihnen nichts angezeigt, was der .php wurde programmiert, da der Server nicht weiรŸ, wie .php-Dateien verarbeitet werden sollen. Daher ist es wichtig, Spawn_FastCGI zu installieren und zu konfigurieren.

Wenn wir Apache verwenden wรผrden, wรคre dies so einfach wie die Installation des libapache2-mod-php5-Pakets. Da wir jedoch Nginx verwenden, mรผssen wir stattdessen das spawn-fcgi-Paket installieren. AuรŸerdem werde ich im Tutorial erklรคren, wie Sie in /etc/init.d/ ein erstes Skript dafรผr erstellen, damit Sie es bequemer steuern kรถnnen.

1. Installation:

Wir beginnen mit der ersten Installation von Spawn-FastCGI und PHP aus unseren Repositories.

Alle Befehle, die ausgefรผhrt werden, werden mit Root-Berechtigungen ausgefรผhrt, indem entweder sudo am Anfang jeder Zeile eingefรผgt oder als root angemeldet wird

Wenn Sie auf Ihrem Server eine Distribution wie Debian, Ubuntu oder ein Derivat im Terminal verwenden, mรผssen Sie Folgendes eingeben und drรผcken Enter :

aptitude install spawn-fcgi php5-cgi php5-curl

aptitude wird in Ubuntu nicht standardmรครŸig installiert. Ich empfehle jedoch, es zu installieren und anstelle von apt-get zu verwenden, da aptitude in bestimmten Fรคllen die Abhรคngigkeiten besser verwaltet

Persรถnlich empfehle ich kein Derivat von Debian, nicht einmal Ubuntu fรผr Server. Im Laufe der Jahre waren meine Erfahrungen nicht ganz zufriedenstellend. Meine erste Wahl fรผr das Server-Betriebssystem ist Debian, dann wรผrde ich an CentOS denken, schlieรŸlich an etwas BSD

2. Konfiguration:

Im vorherigen Schritt (als wir Nginx installiert haben) haben wir eine Datei mit dem Namen nginx-spawn-fastcgi.tar.gz heruntergeladen. Beim Entpacken wurde der Ordner nginx-spawn-fastcgi in unserem Haus erstellt, und wir werden die Datei daraus kopieren spawn-fastcgi to /etc/init.d/:

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

AuรŸerdem benรถtigen wir die ausfรผhrbare Datei php-fastcgi in / usr / bin /

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

Perfekt, wir haben die Datei fertig, mit der wir spawn-fastcgi und auch die ausfรผhrbare Datei php-fastcgi steuern kรถnnen. Jetzt starten wir spawn-fastcgi:

/etc/init.d/spawn-fastcgi start

Es wird uns so etwas zeigen wie: spawn-fcgi: Kind erfolgreich erzeugt: PID: 3739

Jetzt werden wir unsere Datei /etc/nginx/sites-available/mywebsite.net durch ~ / nginx-spawn-fastcgi / mywebsite_plus_php.net ersetzen

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

Warum? Einfach, da unsere vorherige mywebsite.net-Datei PHP nicht unterstรผtzt, dh nur Nginx, wรคhrend die Datei mywebsite_plus_php.net PHP unterstรผtzt, dh Nginx + PHP mit SpawnFastCGI.

Die Unterschiede zwischen diesen Dateien sind vielfรคltig, zum Beispiel:

  • In Zeile 3 wird die Datei, die PHP unterstรผtzt, index.php hinzugefรผgt
  • Eine neue Zeile unter Nr. 3, die Folgendes enthรคlt: fastcgi_index index.php;
  • Einige andere neue Zeilen, die Nginx mitteilen, wie PHP verarbeitet wird.
  • Kurz gesagt, hier ist ein Foto, das Ihnen hilft, die Unterschiede zwischen den beiden Dateien zu erkennen:

nginx_mysql_spawn-fastcgi_comparing_mywebsite_confs

Die Datei mywebsite_plus_php.net ist ein vhost, der als Beispiel dient. Das heiรŸt, wir mรผssen sie รคndern und unsere Konfigurationen festlegen.

Wir mรผssen Folgendes รคndern:

  • access_log (Zeile 3): Dies ist der Pfad der Zugriffsprotokolldatei zu dieser Site
  • error_log (Zeile 4): Dies ist der Pfad der Fehlerprotokolldatei zu dieser Site
  • Servername (Zeile 5): Die URL und Domรคne, die in diesem Ordner gehostet wird. Wenn es sich beispielsweise um das DesdeLinux-Forum handeln wรผrde, wรคre es: Servername Forum.desdelinux. Net
  • root (Zeile 6): Der Pfad zu dem Ordner, in dem sich die HTML-Dateien befinden, belassen wir diesen in / var / www /, da es sich nur um einen Test handelt
Offensichtlich mรผssen sie in ihren DNS-Eintrรคgen ihres Hosting-Anbieters (mit CPanel oder einem anderen Tool) darauf hinweisen, dass sich die in Servername deklarierte Domรคne oder Subdomรคne auf der IP-Adresse dieses Servers befindet, den sie konfigurieren. Das heiรŸt, im DNS, in dem sie Subdomains fรผr ihre Domain erstellen, mรผssen sie deklarieren, dass sich die Domain oder Subdomain, die sie in Zeile 5 eingegeben haben, auf diesem Server befindet (dieser Server = die IP-Adresse des betreffenden Servers).

Fertig, jetzt werden wir Nginx neu starten:

/etc/init.d/nginx restart

Um zu รผberprรผfen, ob unser Nginx PHP ordnungsgemรครŸ verarbeitet, kopieren wir die Datei phptest.php in den gehosteten Ordner, dh den in Zeile 6 der Datei mywebsite_plus_php.net angegebenen (z. B. root / var / www /) Habe die Seite direkt in / var / www / gehostet wรคre:

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

Angenommen, wir haben in Zeile 5 unseres mywebsite_plus_php.net (dh der Zeile server_name) angegeben, dass unsere Site www.mysite.net lautet, dann mรผssen wir auf www.mysite.net/phptest.php zugreifen. Mit anderen Worten, die Idee ist, รผber unseren Browser auf die Datei phptest.php zuzugreifen. Wenn Folgendes angezeigt wird, ist unser Nginx perfekt mit PHP verknรผpft:

nginx_mysql_spawn-fastcgi_terting_nginx_php

Falls dies nicht angezeigt wird, dh der Browser versucht, die .php-Datei herunterzuladen, bedeutet dies, dass etwas falsch gemacht wurde und /etc/nginx/sites-available/mywebsite.net nicht durch ~ / ersetzt wurde. nginx-spawn-fastcgi / mywebsite_plus_php.netโ€ฆ dass sie vergessen haben, Nginx mit /etc/init.d/nginx neu zu starten, oder dass sie vergessen haben, Spawn-FastCGI mit /etc/init.d/spawn-fastcgi start zu starten

Bisher benรถtigen wir fรผr das Tutorial zum Verknรผpfen von Nginx mit PHP mithilfe von SpawnFastCGI nur MySQL und APC ๏™‚

Ich hoffe, Sie finden das interessant.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht verรถffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich fรผr die Daten: Miguel รngel Gatรณn
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. รœbermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie kรถnnen Ihre Informationen jederzeit einschrรคnken, wiederherstellen und lรถschen.

     f3niX sagte

    Wenn es ein Viertel ist, warum steht auf dem Bild 3? begann bei 0, denke ich? ausgezeichneter Beitrag.

    GrรผรŸe

        KZKG ^ Gaara sagte

      1. Prรคsentation
      2. Nginx
      3. Nginx + PHP (Spawn_FastCGI)

      ๐Ÿ™‚

      Danke fรผrs Lesen ^ _ ^

          Rodrigo sagte

        Was ist mit Teil 4 passiert?
        und mit dem folgenden ?????

     rpyanm sagte

    Hola:

    Es wรคre eine bessere Wahl, wenn Sie anstelle von MySQL MariaDB verwenden wรผrden, wie Sie wissen sollten, letzteres ist eine Gabelung der ersten, und es ist bereits die Rede davon, dass es die MySQL der Zukunft sein wird (http://www.genbetadev.com/bases-de-datos/mariadb-sera-el-mysql-del-futuro), da MySQL bis zu einem gewissen Punkt frei ist.

    SkySQL, ein Unternehmen, das Dienste aus kostenlosen Datenbanken anbietet, unterstรผtzte das MariaDB-Projekt finanziell (http://www.genbetadev.com/bases-de-datos/mariadb-y-skysql-unen-fuerzas-para-llevar-a-mariadb-a-lo-mas-alto) und Google, die wie Wikipedia aufhรถren wollen, abhรคngig von MySQL zu sein, und den รœbergang von MySQL 5.1 zu MariaDB 10.0 mit Hilfe von SkySQL vornehmen werden, die bereits Experten auf diesem Gebiet sind.

    Salu2.

        KZKG ^ Gaara sagte

      Hallo,

      Ja natรผrlich, ich kenne MariaDB und tatsรคchlich haben wir bereits darรผber gesprochen: https://blog.desdelinux.net/tag/mariadb/

      Im Moment verwende ich jedoch MySQL, weil ich diese Tutorials aufgrund der besonderen Erfahrung mache, die ich bei der Migration von Linux (mit all seinen Diensten) auf andere Server gemacht habe. Damals haben wir die Technologie und die Aufgaben oder ร„nderungen, die ich hatte, komplett geรคndert denen man sich stellen musste, waren nicht wenige.
      Lesen Sie meinen Kommentar von diesem Moment an: https://blog.desdelinux.net/el-blog-desdelinux-abandona-hostgator-y-pasa-a-gnutransfer/comment-page-1/#comment-81291

      Die letzte Idee ist ja, auf MariaDB zu migrieren, aber ich hatte keine Zeit, die relevanten Tests durchzufรผhren ๐Ÿ™‚

      Danke fรผrs Lesen

     eliotime3000 sagte

    Dieses Tutorial hilft mir, zPanel X mit NGINX zu installieren, um meine Site bei der Migration auf GNUPanel VPS nicht zu รผberlasten.

     Dragnell sagte

    Das Weihnachtsgeschenk? Ich freute mich auf Glรผckwรผnsche an alle.

        KZKG ^ Gaara sagte

      Danke Partner ๐Ÿ˜€

     Sturmt0il sagte

    Zu den Favoriten hinzugefรผgt!

    Ich habe รผbrigens diesen Zweifel und diese Frage: Hat Nginx wirklich mehr Leistung als Apache?

    Viele GrรผรŸe!

        KZKG ^ Gaara sagte

      Nun, Apache kann viel optimiert werden, aberโ€ฆ bis jetzt sind Google und fast alle von uns der Meinung, dass Nginx viel weniger RAM verbraucht und eine nicht unerhebliche Leistung aufweist, obwohl es bei der Konfiguration nicht ganz so einfach ist.

     Luis Morales sagte

    Gute KZKG ^ Gaara ausgezeichnete Informationen fรผr diejenigen von uns, die sich fรผr diese Welt interessieren, eine Frage, fรผr wann der 4. Beitrag ๐Ÿ˜€