GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare LEMP (Linux, Nginx, MariaDB e PHP-FPM) su un VPS CentOS 7

Il seguente articolo ti guiderà attraverso i passaggi su come installare LEMP (Linux, Nginx, MariaDB e PHP-FPM) su uno dei nostri CentOS 7 Server virtuali Linux .

Se invece stai cercando come impostare LAMP , quindi fai riferimento alla nostra guida su come installare LAMP (Linux Apache, MariaDB e PHP) su un VPS CentOS 7

Cos'è LEMP?

Un LEMP stack è sinonimo di LEMP server o LEMP server web. Si riferisce a una configurazione che include Linux , Nginx , MariaDB (MySQL) e PHP .

AGGIORNAMENTO DEL SISTEMA

Come al solito, SSH sul tuo VPS Linux, avvia una screen sessione e assicurati che il tuo CentOS 7 è completamente aggiornato eseguendo i seguenti comandi:

## screen -U -S lemp-centos7
## yum update

INSTALLA MARIA DB (MYSQL)

MariaDB è un sostituto drop-in di MySQL ed è il server di database predefinito utilizzato in CentOS 7 (RHEL7) . Procedi con l'installazione usando yum come in:

## yum install mariadb mariadb-server mysql

Quindi, apri /etc/my.cnf.d/server.cnf utilizzando il tuo editor di testo preferito e aggiungi bind-address = 127.0.0.1 all'interno di [mysqld] bloccare. Ad esempio:

## vim /etc/my.cnf.d/server.cnf

[mysqld]
#log-bin=mysql-bin
#binlog_format=mixed
bind-address = 127.0.0.1

Questo legherà MariaDB a ascoltare solo su localhost , che è considerata una buona pratica di sicurezza. OK, ora riavvia il server del database MariaDB e abilitalo all'avvio all'avvio del sistema utilizzando:

## systemctl restart mariadb
## systemctl status mariadb
## systemctl enable mariadb

Facoltativamente, puoi eseguire mysql_secure_installation script post-installazione per migliorare la sicurezza dell'installazione di MariaDB (MySQL) . Ad esempio:

## mysql_secure_installation

Enter current password for root (enter for none): ENTER
Set root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

INSTALLA SERVER HTTP NGINX

Nginx non è ancora disponibile in CentOS 7 repository ufficiali al momento della stesura di questo articolo. Quindi, per essere facilmente installato e gestito usando yum , possiamo utilizzare il repository per l'ultima versione stabile di Nginx per CentOS 7.

Ad esempio:

## rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
## yum install nginx

Una volta installato, esegui il seguente comando per scoprire il numero di CPU disponibili nel tuo SSD VPS:

## grep -c processor /proc/cpuinfo
2

Questo numero dovrebbe rappresentare il numero di nginx processi impostati nel file di configurazione principale di Nginx in /etc/nginx/nginx.conf .

## vim /etc/nginx/nginx.conf
...
worker_processes  2;

Arresta Apache se è in esecuzione sul sistema utilizzando il seguente comando:

## [[ $(pgrep httpd) ]] && ( systemctl stop httpd; systemctl disable httpd )

e testa, avvia e aggiungi Nginx all'avvio del sistema utilizzando:

## nginx -t
## systemctl restart nginx
## systemctl enable nginx

Vai a http://server_ip e dovresti ottenere qualcosa come:

Ciò significa che Nginx è attivo e funzionante.

INSTALLA PHP-FPM

Eseguiremo PHP come FastCGI utilizzando PHP-FPM , quindi installa il supporto PHP usando yum :

## yum install php-fpm php-mysql

inoltre, potresti voler installare altre estensioni PHP richiesto dalle vostre applicazioni. Ecco l'elenco:

php-bcmath          : A module for PHP applications for using the bcmath library
php-cli             : Command-line interface for PHP
php-common          : Common files for PHP
php-dba             : A database abstraction layer module for PHP applications
php-devel           : Files needed for building PHP extensions
php-embedded        : PHP library for embedding in applications
php-enchant         : Enchant spelling extension for PHP applications
php-fpm             : PHP FastCGI Process Manager
php-gd              : A module for PHP applications for using the gd graphics library
php-intl            : Internationalization extension for PHP applications
php-ldap            : A module for PHP applications that use LDAP
php-mbstring        : A module for PHP applications which need multi-byte string handling
php-mysql           : A module for PHP applications that use MySQL databases
php-mysqlnd         : A module for PHP applications that use MySQL databases
php-odbc            : A module for PHP applications that use ODBC databases
php-pdo             : A database access abstraction module for PHP applications
php-pear.noarch     : PHP Extension and Application Repository framework
php-pecl-memcache   : Extension to work with the Memcached caching daemon
php-pgsql           : A PostgreSQL database module for PHP
php-process         : Modules for PHP script using system process interfaces
php-pspell          : A module for PHP applications for using pspell interfaces
php-recode          : A module for PHP applications for using the recode library
php-snmp            : A module for PHP applications that query SNMP-managed devices
php-soap            : A module for PHP applications that use the SOAP protocol
php-xml             : A module for PHP applications which use XML
php-xmlrpc          : A module for PHP applications which use the XML-RPC protocol

Modifica il file di configurazione principale di PHP in /etc/php.ini e impostare quanto segue:

## vim /etc/php.ini

date.timezone = America/New_York
memory_limit = 64M
expose_php = Off

Inoltre, modifica /etc/php-fpm.d/www.conf e cambia l'utente e il gruppo in cui verrà eseguito il pool fpm in nginx :

## vim +/^user /etc/php-fpm.d/www.conf

user = nginx
group = nginx

proprietà della directory del registro di configurazione:

## chown nginx:root -R /var/log/php-fpm/

avvia e aggiungi il server PHP all'avvio del sistema utilizzando systemctl

## systemctl restart php-fpm
## systemctl enable php-fpm

CONFIGURAZIONE VHOST NGINX

Supponiamo che tu abbia un dominio mydomain.com e ti piace usarlo per ospitare un'applicazione web basata su PHP in /srv/www/mydomain.com.com come WordPress, Joomla, Laravel ecc. Per impostare Nginx, servi le richieste per mydomain.com e servi gli script PHP in /srv/www/mydomain.com.com dovresti creare un blocco server in /etc/nginx/conf.d/mydomain.com.conf che assomiglierebbe a:

## vim /etc/nginx/conf.d/mydomain.com.conf

server {
    server_name mydomain.com;
    listen 80;
    root /srv/www/mydomain.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;
    }

    location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
        access_log off;
        expires max;
    }
    location ~ /\.ht {
        deny  all;
    }
    location ~ \.php {
        try_files $uri = 404;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include /etc/nginx/fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

prova e riavvia Nginx usando:

## nginx -t
## systemctl restart nginx

Facoltativamente, crea un test info.php script utilizzando il comando seguente:

## mkdir -p /srv/www/mydomain.com
## echo -e "<?php\n\tphpinfo();" > /srv/www/mydomain.com/info.php
## chown nginx: -R /srv/www/

e prova ad accedervi nel tuo browser all'indirizzo http://miodominio.com/info.php

Ovviamente non devi fare nulla di tutto ciò se utilizzi uno dei nostri servizi di hosting VPS Linux, nel qual caso puoi semplicemente chiedere ai nostri esperti amministratori Linux di installare LEMP per te . Sono disponibili 24 ore su 24, 7 giorni su 7 e si prenderanno immediatamente cura della tua richiesta. Puoi anche provare a leggere la nostra guida su Come installare LEMP (Linux, Nginx, MySQL e PHP-FPM) su un VPS Debian 8.

PS. Se questo post ti è piaciuto condividilo con i tuoi amici sui social network utilizzando i pulsanti a sinistra o semplicemente lascia una risposta qui sotto. Grazie.


Cent OS
  1. Come installare Linux, Nginx, MariaDB, PHP (LEMP Stack) in CentOS 7 / RHEL 7

  2. Come installare PHP 8 su CentOS 8 Linux

  3. Come installare Varnish e phpMyAdmin su un VPS CentOS 7 con Nginx, MariaDB e PHP-FPM

  4. Come installare LEMP (Linux, Nginx, MariaDB e PHP-FPM) su un VPS CentOS 7

  5. Come installare LEMP (Linux, Nginx, MySQL e PHP-FPM) su un VPS Debian 8

Come installare Linux, Nginx, MySQL, PHP (LEMP Stack) in Ubuntu 18.04

Come installare LAMP (Linux Apache, MariaDB, PHP) su CentOS 7

Come installare LEMP su CentOS 7

Come installare il server LEMP su CentOS 8

Come installare Linux, Nginx, MariaDB e PHP (LEMP) su Fedora 22

Come installare LEMP (Nginx, MariaDB, PHP) su Centos 7