Heim > Artikel > Backend-Entwicklung > 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)
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
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
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
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
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
Die Kompilierungszeit kann etwas lang sein , führen Sie die Installation durch:
make install
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
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
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
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-fpmNach 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
接下来编辑一个测试的php程序,在nginx下的html目录下创建test.php文件,打印一下php配置:
<?php phpinfo(); ?>
然后打开浏览器输入对应的地址进行访问,看到输出页面,说明nginx和php都配置成功了:
相关文章:
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!