Heim > Backend-Entwicklung > PHP-Problem > So installieren Sie Nginx PHP-FPM

So installieren Sie Nginx PHP-FPM

藏色散人
Freigeben: 2023-03-09 20:56:02
Original
2228 Leute haben es durchsucht

nginx PHP-FPM-Installationsmethode: Laden Sie zuerst das PHP-Quellcodepaket herunter und laden Sie es auf den Server hoch. Geben Sie dann das Installationspaket frei und konfigurieren Sie die Parameter. Führen Sie dann die Kompilierung durch.

So installieren Sie Nginx PHP-FPM

Die Betriebsumgebung dieses Artikels: CentOS 7.2-System, PHP-Version 7.0.5, DELL G3-Computer

Installieren Sie die PHP-Umgebung unter Linux und konfigurieren Sie Nginx für die Unterstützung des PHP-FPM-Moduls

Das Folgende dauert CentOS 7.2 als Beispiel für die Installation einer PHP-Umgebung. Öffnen Sie zunächst die offizielle PHP-Website http://php.net/ und klicken Sie in der Navigationsleiste auf Downloads, um die Download-Seite aufzurufen: http://php.net/downloads.php

 Laden Sie hier den Quellcode der neuesten Version von PHP 7.0.5 herunter Paket:

 

Laden Sie es herunter und laden Sie es auf den Server hoch

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

Veröffentlichen Sie zuerst das Installationspaket:

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 vor der Konfiguration, es wird ein Fehler gemeldet, Sie sollten also aktualisieren libxml2 und installieren Sie libxml2-devel. Verwenden Sie die Online-Installation:

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

Zusätzlich ist die Systeminstallation aufgrund unterschiedlicher Betriebssystemumgebungen unterschiedlich. Daher wird empfohlen, bei der Installation die erforderlichen Auswahlen zu treffen Sie können auch alle Befehle einheitlich ausführen, um die nicht installierten Komponenten zu installieren. Darüber hinaus werden die Versionen nicht mehr ausgeführt Zwei Befehle, die Befehle sind wie folgt zusammengefasst:

yum -y install opensslyum -y install openssl-develyum -y install curlyum -y install curl-develyum -y install libjpegyum -y install libjpeg-develyum -y install libpngyum -y install libpng-develyum -y install freetypeyum -y install freetype-develyum -y install pcreyum -y install pcre-develyum -y install libxsltyum -y install libxslt-develyum -y install bzip2yum -y install bzip2-devel
Nach dem Login kopieren

Die oben genannten Pakete reichen grundsätzlich aus. Wenn Sie Probleme finden, führen Sie sie nach Abschluss der Installation aus:

./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-mysqli --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-mhash --enable-fpm --enable-bcmath --enable-libxml --enable-inline-optimization --enable-gd-native-ttf --enable-mbregex --enable-mbstring --enable-opcache --enable-pcntl --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-xml --enable-zip
Nach dem Login kopieren

 In der Tat Hier gibt es mehr Konfigurationselemente als oben. Sie können den Befehl ./configure --help verwenden, um alle Optionen anzuzeigen. Beachten Sie, dass in php7 keine native Unterstützung mehr vorhanden ist und die Vorgänge zu mysqli oder pdo werden ; Die oben genannten Optionen sind in der normalen PHP-Entwicklung völlig ausreichend. Bei Bedarf können Sie das entsprechende Modul später manuell aktivieren Führen Sie nach Abschluss die Installation aus:

make
Nach dem Login kopieren

 Der Standardinstallationsort von PHP wurde als /usr/local/php angegeben. Konfigurieren Sie dann die entsprechenden Dateien:

make install
Nach dem Login kopieren
Stellen Sie dann php.ini ein und verwenden Sie:
vim /usr/local/php/lib/php.ini Öffnen Sie die PHP-Konfigurationsdatei und suchen Sie das Konfigurationselement cgi.fix_pathinfo. Dieses Element ist standardmäßig auskommentiert und hat den Wert 1. Laut der offiziellen Dokumentation ist dies der Fall Wenn die Datei nicht vorhanden ist, wird verhindert, dass Nginx Anforderungen an das Back-End-PHP-FPM-Modul sendet, um böswillige Skriptinjektionsangriffe zu vermeiden. Daher sollte dieses Element nicht auskommentiert und auf 0 gesetzt werden. Außerdem ist zu beachten, dass der Speicherort der Datei nicht vorhanden ist Die Konfigurationsdatei php.ini kann in den Konfigurationsparametern vor der Kompilierung festgelegt werden: --with-config-file-path=/usr/local/php Das angegebene Verzeichnis. Wenn Sie diesen Parameter nicht hinzufügen, ist der Standardspeicherort das lib-Verzeichnis unter dem PHP-Installationsverzeichnis. Wenn php.ini vorhanden ist An anderen Orten platziert, kann PHP es nicht lesen, dann werden alle Konfigurationsänderungen nicht wirksam, bitte beachten Sie dies

  此时首先应该创建web用户:

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

  然后网上一些教程说让修改php-fpm.conf添加以上创建的用户和组,这时候使用 vim /usr/local/php/etc/php-fpm.conf 打开文件后找不到官方所提示的位置:

  

  如果此时随便在一个位置添加,那么接下来启动php-fpm的时候,会报目录找不到的错误,所以不要在php-fpm.conf中添加用户和组,这个时候翻到php-fpm.conf最后一行会发现如下内容(如果编译时添加--prefix选项以下位置会自动补全,默认是下面是空的,要注意):

  

  这里引入了php-fpm.d目录下所有的conf配置文件,但是NONE需要修改为我们的实际目录:/usr/local

  

  默认情况下etc/php-fpm.d/下有一个名为www.conf.defalut的配置用户的文件,执行下面命令复制一个新文件并且打开:

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

  默认user和group的设置为nobody,将其改为www-data

  

  修改完成之后,保存并退出,然后执行以下命令启动php-fpm服务:

/usr/local/bin/php-fpm
Nach dem Login kopieren

  启动完毕之后,php-fpm服务默认使用9000端口,使用 netstat -tln | grep 9000 可以查看端口使用情况:

  

  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都配置成功了:

  推荐学习:《PHP视频教程

Das obige ist der detaillierte Inhalt vonSo installieren Sie Nginx PHP-FPM. 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