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)
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/binEnsuite, 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 utilisateurset 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都配置成功了:
相关文章:
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!