L'article suivant vous guidera à travers les étapes sur comment installer LEMP (Linux, Nginx, MariaDB et PHP-FPM) sur l'un de nos CentOS 7 Serveurs virtuels Linux .
Si au lieu de cela, vous cherchez comment configurer LAMP , alors veuillez vous référer à notre guide sur comment installer LAMP (Linux Apache, MariaDB &PHP) sur un VPS CentOS 7
Qu'est-ce que LEMP ?
Un LEMP pile est synonyme de LEMP serveur ou LEMP serveur Web. Il fait référence à une configuration qui inclut Linux , Nginx , MariaDB (MySQL) et PHP .
MISE À JOUR DU SYSTÈME
Comme d'habitude, SSH
à votre VPS Linux, lancez un screen
session et assurez-vous que votre CentOS 7 est entièrement à jour en exécutant les commandes suivantes :
## screen -U -S lemp-centos7## yum mise à jour
INSTALLER MARIA DB (MYSQL)
MariaDB est un remplacement direct de MySQL et est le serveur de base de données par défaut utilisé dans CentOS 7 (RHEL7) . Procédez à son installation en utilisant yum
comme dans :
## yum installer mariadb mariadb-server mysql
Ensuite, ouvrez /etc/my.cnf.d/server.cnf
en utilisant votre éditeur de texte préféré et ajoutez bind-address = 127.0.0.1
dans le [mysqld]
bloquer. Par exemple :
## vim /etc/my.cnf.d/server.cnf[mysqld]#log-bin=mysql-bin#binlog_format=mixedbind-address =127.0.0.1
Cela liera MariaDB à écouter sur localhost uniquement , ce qui est considéré comme une bonne pratique de sécurité. OK, maintenant redémarrez le serveur de base de données MariaDB et activez-le pour qu'il démarre au démarrage du système en utilisant :
## systemctl restart mariadb## systemctl status mariadb## systemctl enable mariadb
En option, vous pouvez exécuter le mysql_secure_installation
script post-installation pour améliorer la sécurité de l'installation de MariaDB (MySQL) . Par exemple :
## mysql_secure_installationEntrez le mot de passe actuel pour root (entrez pour aucun) :ENTERSet root password ? [O/n] Supprimer les utilisateurs anonymes ? [O/n] YInterdire la connexion root à distance ? [O/n] Supprimer la base de données de test et y accéder ? [O/n] YRecharger les tables de privilèges maintenant ? [O/n] O
INSTALLER LE SERVEUR HTTP NGINX
Nginx
n'est pas encore disponible dans CentOS 7 dépôts officiels au moment de la rédaction de cet article. Donc, pour être facilement installé et géré en utilisant yum
, nous pouvons utiliser le référentiel de la dernière version stable de Nginx pour CentOS 7.
Par exemple :
## rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm## yum install nginxUne fois installé, exécutez la commande suivante pour connaître le nombre de CPU disponibles dans votre VPS SSD :
## grep -c processeur /proc/cpuinfo2Ce nombre doit représenter le nombre de
nginx
processus définis dans le fichier de configuration principal de Nginx dans/etc/nginx/nginx.conf
.## vim /etc/nginx/nginx.conf...worker_processes 2 ;Arrêtez Apache s'il est en cours d'exécution sur le système à l'aide de la commande suivante :
## [[ $(pgrep httpd) ]] &&( systemctl stop httpd; systemctl disable httpd )et testez, démarrez et ajoutez Nginx au démarrage du système en utilisant :
## nginx -t## systemctl restart nginx## systemctl enable nginxAccédez à http://server_ip et vous devriez obtenir quelque chose comme :
Cela signifie que Nginx est opérationnel et fonctionne parfaitement.
INSTALLER PHP-FPM
Nous allons exécuter PHP en tant que FastCGI en utilisant PHP-FPM , alors installez le support PHP en utilisant
yum
:## yum installer php-fpm php-mysqlégalement, vous pouvez installer d'autres extensions PHP requis par vos applications. Voici la liste :
php-bcmath :Un module pour les applications PHP pour utiliser la bibliothèque bcmathphp-cli :Interface de ligne de commande pour PHPphp-common :Fichiers communs pour PHPphp-dba :Un module de couche d'abstraction de base de données pour les applications PHPphp-devel :Fichiers nécessaires pour construction d'extensions PHPphp-embedded :bibliothèque PHP pour l'intégration dans les applicationsphp-enchant :extension d'orthographe Enchant pour les applications PHPphp-fpm :PHP FastCGI Process Managerphp-gd :un module pour les applications PHP pour l'utilisation de la bibliothèque graphique gdphp-intl :extension d'internationalisation pour les applications PHPphp -ldap :Un module pour les applications PHP qui utilisent LDAPphp-mbstring :Un module pour les applications PHP qui ont besoin de gérer des chaînes multi-octetsphp-mysql :Un module pour les applications PHP qui utilisent les bases de données MySQLphp-mysqlnd :Un module pour les applications PHP qui utilisent les bases de données MySQLphp -odbc :Un module pour P Applications HP qui utilisent des bases de données ODBCphp-pdo :Un module d'abstraction d'accès à la base de données pour les applications PHPphp-pear.noarch :Framework d'extension et de référentiel d'applications PHPphp-pecl-memcache :Extension pour travailler avec le démon de mise en cache Memcachedmonphp-pgsql :Un module de base de données PostgreSQL pour PHPphp -process :Modules pour les scripts PHP utilisant les interfaces de processus systèmephp-pspell :Un module pour les applications PHP pour l'utilisation des interfaces pspellphp-recode :Un module pour les applications PHP pour l'utilisation de la bibliothèque de recodagephp-snmp :Un module pour les applications PHP qui interrogent les appareils gérés par SNMPphp -soap :Un module pour les applications PHP qui utilisent le protocole SOAPphp-xml :Un module pour les applications PHP qui utilisent XMLphp-xmlrpc :Un module pour les applications PHP qui utilisent le protocole XML-RPCÉditez le fichier de configuration principal de PHP dans
/etc/php.ini
et définissez ce qui suit :## vim /etc/php.inidate.timezone =Amérique/New_Yorkmemory_limit =64Mexpose_php =DésactivéAussi, éditez
/etc/php-fpm.d/www.conf
et changez l'utilisateur et le groupe sous lesquels le pool fpm s'exécutera ennginx
:## vim +/^user /etc/php-fpm.d/www.confuser =nginxgroup =nginxpropriété du répertoire des journaux de configuration :
## chown nginx:root -R /var/log/php-fpm/démarrer et ajouter le serveur PHP au démarrage du système en utilisant
systemctl
## systemctl restart php-fpm## systemctl enable php-fpmCONFIGURER NGINX VHOST
Supposons que vous ayez un domaine
mydomain.com
et vous aimez l'utiliser pour héberger une application Web basée sur PHP dans/srv/www/mydomain.com.com
comme WordPress, Joomla, Laravel, etc. Pour configurer Nginx, servez les requêtes pourmydomain.com
, et servez les scripts PHP dans/srv/www/mydomain.com.com
vous devrez créer un bloc serveur dans/etc/nginx/conf.d/mydomain.com.conf
qui ressemblerait à quelque chose comme :## vim /etc/nginx/conf.d/mydomain.com.confserver { nom_serveur mondomaine.com; écouter 80 ; racine /srv/www/mondomaine.com ; access_log /var/log/nginx/mydomain.com-access.log ; error_log /var/log/nginx/mydomain.com-error.log; index index.php; location / { try_files $uri $uri/ /index.php?$args; } emplacement ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log off; expire max ; } emplacement ~ /\.ht { refuser tout ; } emplacement ~ \.php { try_files $uri =404; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php ; inclure /etc/nginx/fastcgi_params ; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ; }}testez et redémarrez Nginx en utilisant :
## nginx -t## systemctl redémarrer nginxFacultativement, créez un test
info.php
script à l'aide de la commande suivante :## mkdir -p /srv/www/mondomaine.com## echo -e " /srv/www/mondomaine.com/info.php## chown nginx :-R /srv/www/et essayez d'y accéder dans votre navigateur à l'adresse http://mydomain.com/info.php
Bien sûr, vous n'avez rien à faire si vous utilisez l'un de nos services d'hébergement VPS Linux, auquel cas vous pouvez simplement demander à nos administrateurs Linux experts d'installer LEMP pour vous . Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande. Vous pouvez également essayer de lire notre guide sur Comment installer LEMP (Linux, Nginx, MySQL et PHP-FPM) sur un VPS Debian 8.
PS. Si vous avez aimé cet article, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.