Heim > Backend-Entwicklung > PHP-Tutorial > Detaillierte Einführung in die Installation der PHP-Umgebung unter Linux und die Konfiguration von Nginx zur Unterstützung des PHP-FPM-Moduls (Bild und Text)

Detaillierte Einführung in die Installation der PHP-Umgebung unter Linux und die Konfiguration von Nginx zur Unterstützung des PHP-FPM-Moduls (Bild und Text)

黄舟
Freigeben: 2023-03-06 21:36:01
Original
2290 Leute haben es durchsucht

In diesem Artikel wird hauptsächlich eine ausführliche Erklärung vorgestelltLinuxInstallation PHP Umgebung und konfigurieren Sie Nginx für die Unterstützung des PHP-FPM-Moduls, das einen bestimmten Referenzwert hat.

Im Folgenden wird CentOS 7.2 als Beispiel für die Installation der PHP-Betriebsumgebung verwendet Offizielle Website. Klicken Sie in der Navigationsleiste auf „Downloads“, um die neueste Version des PHP 7.0.5-Quellcodepakets hier herunterzuladen:

 

Nach dem Herunterladen Hochladenauf den Server

Da die PHP-Installation eine Kompilierung erfordert, sollte der Server die Installation von gcc- und g++-Umgebungen sicherstellen

Geben Sie zuerst das Installationspaket frei:

tar -xvzf php-7.0.5.tar.gz
cd php-7.0.5
Nach dem Login kopieren

Als nächstes konfigurieren Sie die Parameter. Libxml2 und libxml2-devel melden Fehler, daher sollten Sie libxml2 aktualisieren und libxml2-devel installieren:

yum -y install libxml2
yum -y install libxml2-devel
Nach dem Login kopieren

Zusätzlich, wegen der Unterschiede In Betriebssystemumgebungen variiert die Vollständigkeit der Systeminstallations- und Entwicklungsumgebungspakete. Daher wird empfohlen, bei der Installation des Betriebssystems alle Befehle einheitlich auszuführen, um die deinstallierten Komponenten zu installieren Wenn die Versionen vollständig konsistent sind, wird kein Vorgang ausgeführt. Zusätzlich zu den oben genannten 2 lautet die Zusammenfassung wie folgt:

yum -y install openssl
yum -y install openssl-devel
yum -y install curl
yum -y install curl-devel
yum -y install libjpeg
yum -y install libjpeg-devel
yum -y install libpng
yum -y install libpng-devel
yum -y install freetype
yum -y install freetype-devel
yum -y install pcre
yum -y install pcre-devel
yum -y install libxslt
yum -y install libxslt-devel
yum -y install bzip2
yum -y install bzip2-devel
Nach dem Login kopieren

Die oben genannten Pakete reichen grundsätzlich aus. Wenn Sie Probleme finden, fügen Sie diese bitte hinzu. Führen Sie nach Abschluss der Installation die Konfiguration aus:

Der Code lautet wie folgt:

./configure --prefix=/usr/local/php --with-curl --with-freetype-
dir
 --with-gd --with-gettext --with-iconv-dir --with-kerberos --with-libdir=lib64 --with-libxml-dir --with-
mysql
i --with-openssl --with-pcre-regex --with-
pdo
-mysql --with-pdo-
sqlite
 --with-pear --with-png-dir --with-jpeg-dir --with-xmlrpc --with-xsl --with-zlib --with-bz2 --with-m
hash
 --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mb
string
 --enable-
opcache
 --enable-pcntl --enable-shmop --enable-
soap
 --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip
Nach dem Login kopieren

Tatsächlich gibt es hier mehr Konfigurationselemente als Oben können Sie den Befehl ./configure --help verwenden. Beachten Sie, dass die native Unterstützung von --with-mysql im Normalfall nicht mehr vorhanden ist PHP-Entwicklung. Bei Bedarf können Sie später das entsprechende Modul manuell öffnen

und dann die Kompilierung durchführen:

make
Nach dem Login kopieren

Die Kompilierungszeit kann etwas lang sein , führen Sie die Installation durch:

make install
Nach dem Login kopieren

Der Standardinstallationsort von PHP wurde oben als /usr/local/php angegeben. Als nächstes konfigurieren Sie die entsprechenden Dateien:

cp php.ini-development /usr/local/php/lib/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp sapi/fpm/php-fpm /usr/local/bin
Nach dem Login kopieren

Dann festlegen php.ini, verwenden Sie: vim /usr/local/php/lib/php.ini Öffnen Sie die phpconfig-Datei und suchen Sie das Konfigurationselement cgi.fix_pathinfo, das die Standardeinstellung ist. Es wird mit kommentiert und hat einen Wert von 1. Laut offizieller Dokumentation soll dies verhindern, dass Nginx Anforderungen an das Back-End-PHP-FPM-Modul sendet, wenn die Datei nicht vorhanden ist, und so böswillige Skriptinjektionsangriffe vermeiden Das Element sollte unkommentiert und auf 0 gesetzt sein

 

Nach dem Festlegen speichern und beenden

Ein weiterer Ort, auf den man achten sollte, ist PHP .ini-Konfigurationsdatei Der Speicherort kann in den Konfigurationsparametern vor der Kompilierung festgelegt werden: --with-config-file-path=/usr/local/php in das angegebene Verzeichnis, um die php.ini-Konfigurationsdatei zu lesen. Wenn dieser Parameter nicht hinzugefügt wird, ist der Standardspeicherort das lib-Verzeichnis unter dem PHP-Installationsverzeichnis. Sie können die Details auch in der php.ini-Ausgabeschnittstelle anzeigen an anderen Orten abgelegt wird und nicht von PHP gelesen werden kann, sind alle Konfigurationsänderungen ungültig. Bitte beachten Sie diesen Punkt

Zu diesem Zeitpunkt sollten Sie zunächst einen Webbenutzer erstellen:

groupadd www-data
useradd -g www-data www-data
Nach dem Login kopieren

Dann wird in einigen Online-Tutorials empfohlen, php-fpm.conf zu ändern, um den oben erstellten Benutzer und die oben erstellte Gruppe hinzuzufügen. Verwenden Sie zu diesem Zeitpunkt vim /usr/local/etc/php-fpm.conf, um die Datei zu öffnen Datei, Sie können den offiziellen Speicherort nicht finden:

 

Wenn Sie sich zu diesem Zeitpunkt an einem beliebigen Ort befinden, fügen Sie hinzu, und wenn Sie als nächstes php-fpm starten, wird die Fehlermeldung „Verzeichnis nicht gefunden“ angezeigt gemeldet werden, also keine Benutzer und Gruppen in php-fpm.conf hinzufügen. Wechseln Sie zu diesem Zeitpunkt zu php-fpm.conf. Der folgende Inhalt wird in der letzten Zeile gefunden (wenn das --Präfix Wenn beim Kompilieren die Option hinzugefügt wird, werden die folgenden Positionen automatisch ausgefüllt. Bitte beachten Sie, dass die folgenden Positionen leer sind:

 

Hier vorgestellt Alle conf-Konfigurationsdateien in PHP-FPM .d-Verzeichnis, aber KEINE muss in unser tatsächliches Verzeichnis geändert werden: /usr/local

 

Standardmäßig etc/php- Es gibt eine Datei mit dem Namen www.conf.defalut unter fpm.d/ zum Konfigurieren von Benutzern. Führen Sie den folgenden Befehl aus, um eine neue Datei zu kopieren und zu öffnen:

cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf
vim /usr/local/etc/php-fpm.d/www.conf
Nach dem Login kopieren

Die Standardbenutzer- und Gruppeneinstellungen sind „Niemand“ und setzen Sie sie auf „www-data“. >

 

Nach Abschluss der Änderung speichern und beenden Sie den Vorgang und führen Sie dann den folgenden Befehl aus, um den PHP-FPM-Dienst zu starten:

/usr/local/bin/php-fpm
Nach dem Login kopieren
Nach Abschluss des Startvorgangs , der php-fpm-Dienst verwendet standardmäßig Port 9000. Verwenden Sie netstat -tln |, um die Portnutzung anzuzeigen:

  

9000端口正常使用,说明php-fpm服务启动成功

然后执行 vim /usr/local/nginx/nginx.conf 编辑nginx配置文件,具体路径根据实际的nginx.conf配置文件位置编辑,下面主要修改nginx的server {}配置块中的内容,修改location块,追加index.php让nginx服务器默认支持index.php为首页:

  

然后配置.php请求被传送到后端的php-fpm模块,默认情况下php配置块是被注释的,此时去掉注释并修改为以下内容:

  

这里面很多都是默认的,root是配置php程序放置的根目录,主要修改的就是fastcgi_param中的/scripts为$document_root

修改完上面的,回到nginx.conf第一行,默认是#user nobody; 这里要去掉注释改为user www-data;或者user www-data www-data;表示nginx服务器的权限为www-data

修改完这些保存并退出,然后重启nginx:

/usr/local/nginx/nginx -s stop
/usr/local/nginx/nginx
Nach dem Login kopieren

接下来编辑一个测试的php程序,在nginx下的html目录下创建test.php文件,打印一下php配置:

<?php
  phpinfo();
?>
Nach dem Login kopieren

然后打开浏览器输入对应的地址进行访问,看到输出页面,说明nginx和php都配置成功了:

相关文章:

Mac默认使用自己安装的php

centos6.7安装php7的详细介绍

详细介绍CentOS7编译安装PHP7的示例代码(图)

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die Installation der PHP-Umgebung unter Linux und die Konfiguration von Nginx zur Unterstützung des PHP-FPM-Moduls (Bild und Text). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage