Maison  >  Article  >  développement back-end  >  Introduction détaillée à l'installation de l'environnement php sous Linux et à la configuration de Nginx pour supporter le module php-fpm (image et texte)

Introduction détaillée à l'installation de l'environnement php sous Linux et à la configuration de Nginx pour supporter le module php-fpm (image et texte)

黄舟
黄舟original
2017-03-28 16:16:402236parcourir

Cet article présente principalement l'explication détailléeLinuxInstallation PHP et configurez Nginx pour prendre en charge le module php-fpm, qui a une certaine valeur de référence. Les amis intéressés peuvent s'y référer

Ce qui suit prend CentOS 7.2 comme exemple pour installer l'environnement d'exploitation PHP. site officiel. Cliquez sur Téléchargements dans la barre de navigation pour accéder à la page de téléchargement. Téléchargez la dernière version du package de code source php 7.0.5 ici :

 

Après le téléchargement, télécharger sur le serveur

Comme l'installation de PHP nécessite une compilation, le serveur doit assurer l'installation des environnements gcc et g++

Commencez par publier le package d'installation :

tar -xvzf php-7.0.5.tar.gz
cd php-7.0.5

Ensuite, configurez les paramètres. Si ce n'est pas le cas avant la configuration, libxml2 et libxml2-devel signaleront des erreurs, vous devez donc mettre à jour libxml2 et installer libxml2-devel :

yum -y install libxml2
yum -y install libxml2-devel

De plus, en raison de différences. Dans les environnements du système d'exploitation, l'intégralité du package d'environnement de développement d'installation du système varie de la même manière, il est donc recommandé de faire les sélections nécessaires lors de l'installation du système d'exploitation. Vous pouvez également exécuter toutes les commandes de manière uniforme pour installer les composants désinstallés. déjà installés, ils peuvent être mis à niveau. Si les versions sont complètement cohérentes, aucune opération ne sera effectuée. Commande En plus des 2 ci-dessus, le résumé est le suivant :

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

Les packages ci-dessus sont fondamentalement suffisants. . Si vous rencontrez des problèmes, veuillez les ajouter. Une fois l'installation terminée, exécutez la configuration :

Le code est le suivant :

./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

En fait, il y a plus d'éléments de configuration. ici que ci-dessus. Vous pouvez utiliser la commande ./configure --help pour afficher toutes les options. Notez ici que dans php7, le support natif de --with-mysql n'existe plus. Les opérations sont devenues mysqli ou pdo ; suffisant dans un développement PHP normal. Si nécessaire ultérieurement, vous pouvez choisir d'activer manuellement le module correspondant

puis effectuer la compilation :

make

Le temps de compilation peut être un peu long. la compilation est terminée, exécutez l'installation :

make install

L'emplacement d'installation par défaut de php a été spécifié ci-dessus comme /usr/local/php Ensuite, configurez les fichiers correspondants :

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
Ensuite, définissez php.ini, utilisez : vim /usr/local/php/lib/php.ini Ouvrez le php

fichier de configuration et recherchez l'élément de configuration cgi.fix_pathinfo, qui est la valeur par défaut Il est commenté par et a une valeur de 1. Selon la documentation officielle, cela vise à empêcher Nginx d'envoyer des requêtes au module PHP-FPM back-end lorsque le fichier n'existe pas, évitant ainsi les attaques malveillantes par injection de script, donc ceci L'élément doit être décommenté et défini sur 0

 

Après le réglage, enregistrez et quittez

Un autre endroit auquel faire attention est le fichier de configuration php.ini. L'emplacement peut être défini dans les paramètres de configuration de pré-compilation. Les paramètres de compilation peuvent être écrits comme suit : --with-config-file-path=/usr/local/php. reviendra au répertoire spécifié pour lire le fichier de configuration php.ini. If Sans ajouter ce paramètre, l'emplacement par défaut est le répertoire lib sous le répertoire d'installation de PHP. Vous pouvez également afficher les détails dans l'interface de sortie de phpinfo(). php.ini est placé à d'autres emplacements et PHP ne peut pas le lire, alors toutes les modifications de configuration seront invalides, veuillez noter ce point

À ce stade, vous devez d'abord créer un utilisateur Web :

<.>

Ensuite, certains tutoriels en ligne disent de modifier php-fpm.conf pour ajouter l'utilisateur et le groupe créés ci-dessus. À ce stade, utilisez vim /usr/local/etc/php-fpm.conf pour ouvrir le fichier After. en ouvrant le fichier, vous ne trouvez pas l'emplacement officiel :
groupadd www-data
useradd -g www-data www-data

 

Si vous êtes dans un endroit à ce moment-là, ajoutez, puis lorsque vous démarrez php-fpm ensuite, un répertoire introuvable une erreur sera signalée, alors n'

ajoutez des utilisateurs

et des groupes dans php-fpm.conf À ce stade, tournez-vous vers php-fpm.conf Le contenu suivant se trouvera dans la dernière ligne (si le -. L'option -prefix est ajoutée lors de la compilation, les positions suivantes seront automatiquement complétées. La valeur par défaut est vide ci-dessous, veuillez noter) :

 

Introduit ici Tous les fichiers de configuration de conf dans le php. -fpm.d répertoire, mais AUCUN ne doit être modifié dans notre répertoire actuel : /usr/local

 

Par défaut etc/php- Il y a un fichier nommé www.conf .defalut sous fpm.d/ pour configurer les utilisateurs. Exécutez la commande suivante pour copier un nouveau fichier et ouvrez-le :

Les paramètres d'utilisateur et de groupe par défaut sont personne et définissez-les sur www-data.
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

 

Une fois la modification terminée, enregistrez et quittez, puis exécutez la commande suivante pour démarrer le service php-fpm :

Après le démarrage est terminé, le service php-fpm utilise le port 9000 par défaut. Utilisez netstat -tln | grep 9000 pour afficher l'utilisation du port :
/usr/local/bin/php-fpm

  

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

相关文章:

Mac默认使用自己安装的php

centos6.7安装php7的详细介绍

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn