Heim  >  Artikel  >  Backend-Entwicklung  >  Detailliertes Konfigurationsdiagramm für CentOS Nginx PHP MySQL

Detailliertes Konfigurationsdiagramm für CentOS Nginx PHP MySQL

WBOY
WBOYOriginal
2016-08-08 09:22:40907Durchsuche

1. Installieren Sie MySQL

Wenn Sie eine dynamische Website betreiben möchten, können Sie auf eine Datenbank natürlich nicht verzichten In einigen früheren Artikeln schreibe ich, wie man MySQL installiert, aber ich habe das Gefühl, dass ich MySQL schon lange nicht mehr installiert habe. Ich werde jetzt nur die Schritte veröffentlichen und nicht zu viel erklären

# useradd mysql

#tar zxvf mysql-5.0 .40.tar.gz

#cd mysql-5.0.40

#./configure --prefix=/usr/ local/mysql

#make && make install

#/usr/local/mysql/bin/mysql_install_db --user=mysql                                                                                                                                                           //Initialisieren Sie die MySQL-Datenbank

#chown -R mysql /usr/local/mysql/var

#/usr/local/mysql/bin/mysqld_safe & //MySQL starten

#/usr/local/mysql/bin/mysqladmin -u Root-Passwort 123456 //MySQL-Passwort festlegen

#cp support-files/my-medium.cnf /etc/my.cnf

#echo "/usr/local/mysql/bin /mysqld_safe &" >>/etc/rc.local

2. PCRE installieren

PCRE ist ein regulärer Ausdruck, der von Perl verwendet wird. Der Zweck besteht darin, zu erstellen Die installierte Software unterstützt reguläre Ausdrücke. Standardmäßig verarbeitet Nginx nur statische Webseitenanfragen, also HTML. Wenn diese von einer dynamischen Webseitenanfrage wie *.php stammen, fragt Nginx den Pfad basierend auf dem regulären Ausdruck ab und übergibt dann *. PHP zu PHP zur Verarbeitung

#rpm -qa |. Überprüfen Sie, ob PCRE im System installiert ist. Daher müssen wir das mit dem System gelieferte Programm löschen .

#cp /lib /libpcre.so.0 / //Bevor Sie das mit dem System gelieferte PCRE löschen, müssen Sie zunächst die Datei libpcre.so.0 sichern, da das RPM-Paket zu eng ist Im Zusammenhang damit gibt es nach dem Löschen keine libpcre.so.0-Datei. Als wir PCRE installiert haben, konnten wir es nicht installieren mit dem System

# tar zxvf pcre-8.00.tar gz

#cd pcre-8.00

#cp /libpcre.so.0 /lib/ //Kopieren libpcre.so.0, die wir vor dem Löschen des mit dem System gelieferten PCRE in /

#./configure im lib-Verzeichnis gesichert haben. Um unnötige Probleme bei der späteren Installation anderer Dinge zu vermeiden, wird das folgende Bild angezeigt Nachdem Sie dies ausgeführt haben, wird unsere Konfiguration von PCRE angezeigt.

#make && make install

Detailliertes Konfigurationsdiagramm für CentOS Nginx PHP MySQL

3. Installieren Sie Nginx

Im Internet habe ich gesehen, dass viele Leute Probleme bei der Installation von Nginx haben. Sie nutzen viele Optionen bei der Konfiguration. Es machte mich immer deprimierter. Wenn Sie diesmal die Schritte des Autors oben befolgen, um Nginx zu installieren, müssen Sie bei der Installation von Nginx nur den Installationspfad von Nginx angeben

#tar zxvf nginx-0.8.24.tar.gz

#cd nginx-0.8.24

#./configure --prefix=/usr/local/nginx //Sie müssen hier in diesem Link nur einen Pfad angeben

#make && make install

#/usr/local/nginx/sbin/nginx //Starte Nginx

#echo "/usr/local/nginx/sbin/nginx" >>/etc /rc.local

Nachdem Nginx gestartet wurde, gibt es zwei Prozesse, Master ist der Hauptprozess und Worker ist der Arbeitsprozess, wie unten gezeigt

Detailliertes Konfigurationsdiagramm für CentOS Nginx PHP MySQL Nach dem Start von NGINX können wir http://localhost in den Browser eingeben, um es anzuzeigen, wie unten gezeigt

Detailliertes Konfigurationsdiagramm für CentOS Nginx PHP MySQL

4. Installieren Sie PHP

Nachdem PHP installiert ist, wird die Installation von GD hier nicht beschrieben.

1. Installieren Sie libpng

#tar xvf libpng-1.2.10.tar. tar

#cd libpng-1.2.10

#./configure --prefix=/usr/local/png

#make;make install

#ln - s /usr/local/png/lib/* /usr/lib/

2. JPEG installieren

#mkdir /usr/local/jpeg

#mkdir /usr /local/jpeg/bin

#mkdir /usr/local/jpeg/lib

#mkdir /usr/local/jpeg/include

#mkdir /usr/local /jpeg/man

#mkdir /usr/local/jpeg/man/man1

#tar xvf jpegsrc.v7.tar.tar

#cd jpeg-7

#./configure --prefix=/usr/local/jpeg --enable-shared --enable-static

#make;make install

#ln -s /usr/local/jpeg/lib/* /usr/lib/

3. Freetype installieren

#tar xvf freetype-2.3.9.tar.tar

# cd freetype-2.3.9

#./configure --prefix=/usr/local/freetype

#make;make install

4 fontconfig

#tar zxvf fontconfig-2.4.2.tar.gz

#cd fontconfig-2.4.2

#./configure --prefix=/usr/local/fontconfig --with-freetype-c/local/freetype/bin/freetype-config

#make;make install

5. GD installieren

#tar zxvf gd-2.0.32.tar.gz

#cd gd-2.0.32

#./configure --prefix= /usr/local/gd --with-png=/usr/local/png --with-jpeg=/usr/local/jpeg --with- freetype=/usr/local/freetype --with-fontc/local/ Fontconfig

#cp /usr/local/png/include/png.h ./

#cp /usr/local/png/include/pngconf.h ./

#make;make install

6. PHP installieren

Dieser Ort ist der wichtigste Ort, da standardmäßig keine Verbindung zwischen Nginx und PHP besteht. In der Vergangenheit haben viele Freunde Apache+PHP erstellt, um Moduldateien nach der Kompilierung zu generieren, während Nginx+PHP PHP zum Generieren ausführbarer Dateien benötigt. Daher muss die Fastcgi-Technologie verwendet werden, um die Integration von Nginx und PHP zu realisieren uns, FastCGI zu installieren und zu aktivieren. Dieses Mal haben wir PHP nicht nur mit FastCGI installiert, sondern auch mit etwas wie PHP-FPM. Um es ganz klar auszudrücken: PHP-FPM ist ein reines Plug-in für PHP bei der Installation von PHP Wenn Sie PHP-FPM verwenden, müssen Sie PHP-FPM in Form eines Patches in PHP installieren und PHP muss mit der PHP-FPM-Version konsistent sein. Denken Sie daran!

Zuerst laden wir PHP und PHP-FPM in dasselbe Verzeichnis herunter. Diesmal haben wir php-5.3.0.tar.bz2 und php-5.3.0-fpm-0.5.12 verwendet. gz, heruntergeladen in dasselbe Verzeichnis

#tar xvf php-5.3.0.tar.bz2

#gzip -cd php-5.3.0-fpm-0.5.12.diff .gz |. patch -d php-5.3.0 -p1 //Füge php-5.3.0-fpm-0.5.12.diff.gz zu php-5.3.0 in Form eines Patches hinzu

#cd php -5.3.0

#./configure --prefix=/usr/local/php --with-gd=/usr/local/gd --with-jpeg-dir=/usr/local/ jpeg --with-png-dir=/usr/local/png --with-freetype-dir=/usr/local/freetype --with-mysql=/usr/local/mysql --enable-fastcgi --enable-fpm

Hinweis: Für die Nginx+PHP-Integration müssen --enable-fastcgi und --enable-fpm während der Installation aktiviert werden. Was diese beiden Optionen bewirken, ist oben beschrieben. Nach der Ausführung meldet das System, dass --enable-fastcgi eine unbekannte Option ist. >#cp php.ini-dist /usr/local/php/etc/php.ini

Jetzt starten wir PHP-FPM

Detailliertes Konfigurationsdiagramm für CentOS Nginx PHP MySQL#/usr/local/php/sbin/ php-fpm start

meldet den oben genannten Fehler Der Grund dafür ist, dass PHP-FPM selbst nicht weiß, welcher Benutzer und welche Gruppe PHP ausführen soll. Um eine Datei zu ändern, entfernen Sie einfach die Kommentare in der Datei (öffnen Sie die Datei und löschen Sie den roten Teil). ), und dann führt PHP-FPM PHP als Benutzer und Gruppe „nobody“ aus.

#vi /usr/local/php/etc/php-fpm.conf

#/usr/local/php/sbin/php-fpm startDetailliertes Konfigurationsdiagramm für CentOS Nginx PHP MySQL

#ps -aux grep php

#echo "/usr/local/php/sbin/php-fpm start" >> /etc/rc.localDetailliertes Konfigurationsdiagramm für CentOS Nginx PHP MySQL

5. Nginx und PHP integrieren

Wie oben erwähnt, verarbeitet Nginx selbst keine Anfragen für dynamische Webseiten und Nginx erhält die Die dynamische Anfrage wird an PHP übertragen. Öffnen wir die Nginx-Konfigurationsdatei und werfen Sie einen Blick darauf 🎜>

Detailliertes Konfigurationsdiagramm für CentOS Nginx PHP MySQL

Auf dem Bild oben weiß Nginx bereits, wie die Anfrage an PHP übermittelt wird. Wenn Nginx die *.php-Anfrage erhält, leitet es die Anfrage über Port 9000 an PHP weiter . Jetzt können wir diese Kommentare entfernen, wie unten gezeigt

Hinweis: Das obige /usr/local/nginx/html ist der Pfad, in dem unsere PHP-Website platziert ist

Es reicht nicht, dass nur Nginx selbst weiß, wie man PHP findet. PS: Haben Sie JJMM schon einmal auf der Straße gesehen, als Sie sich kennengelernt haben, oder nicht? Sie wissen nicht, wie man es benutzt? Wie stellen Sie eine Verbindung zur anderen Partei her? Wir müssen uns darüber keine Sorgen machen. PHP-FPM hat bereits in der Konfigurationsdatei definiert, wo PHP-Anfragen akzeptiert werden sollen. Wir können die Konfigurationsdatei öffnen und einen Blick darauf werfen

Detailliertes Konfigurationsdiagramm für CentOS Nginx PHP MySQL#vi /usr/local/php /etc/php-fpm .conf

Detailliertes Konfigurationsdiagramm für CentOS Nginx PHP MySQLWie im obigen Bild gezeigt, haben wir zuvor gesehen, dass Nginx PHP-Anfragen über den lokalen Port 9000 an PHP weiterleitet Im obigen Bild können wir sehen, dass PHP selbst auf Daten vom 9000-Port des lokalen Computers wartet und Nginx und PHP die Datenanforderung über den 9000-Port des lokalen Computers abschließen.

6. Test

Wir haben den Speicherpfad der PHP-Website in der Nginx-Konfigurationsdatei definiert. Der Pfad ist /usr/local/nginx/html

Als nächstes erstellen wir in diesem Verzeichnis eine neue PHP-Seitentestseite. Der Dateiname lautet test.php und der Inhalt lautet wie folgt:

Detailliertes Konfigurationsdiagramm für CentOS Nginx PHP MySQL

Nach dem Neustart von PHP und Nginx (Sie können es mit beenden. Der Prozess wird geschlossen und dann gestartet.) Wir geben http://localhost/test.php in den Browser ein und die folgende Schnittstelle wird angezeigt, die als erfolgreich angesehen wird

Detailliertes Konfigurationsdiagramm für CentOS Nginx PHP MySQL

Das Obige stellt das detaillierte Konfigurationsdiagramm von CentOS Nginx PHP MySQL vor, einschließlich der relevanten Inhalte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn