Installa NGINX, PHP-FPM e MariaDB su Debian 8

Questa guida ti mostrerà come installare e configurare correttamente uno stack LAMP "alternativo" su Debian 8 usando NGINX, PHP Fast Process Manager e MariaDB.

Nginx

NGINX è un "proxy inverso prima, secondo il web server". È un'alternativa popolare e in crescita ad Apache, offrendo maggiore flessibilità e prestazioni migliori in molti casi. In questo tutorial, lo useremo come nostro web server.

Avvia il tuo client SSH preferito e accedi al tuo server. Per gli utenti Windows, "PuTTY" è un client SSH gratuito e leggero. Gli utenti Linux e Mac possono utilizzare il terminale incluso per impostazione predefinita con il proprio sistema operativo. Per questa esercitazione, assumeremo che tu abbia effettuato l'accesso al tuo server come utente "root".

Per cominciare, assicuriamoci che tutto sia aggiornato. Digitare quanto segue per verificare e quindi installare gli aggiornamenti.

apt-get update && apt-get upgrade

Modificheremo i nostri file di configurazione in vim. Vim non è installato di default, quindi installiamolo!

apt-get install vim

Ora è il momento di installare NGINX. Vorremmo installare l'ultima versione di NGINX dal repository Debian ufficiale di NGINX.

wget http://nginx.org/keys/nginx_signing.key
apt-key add nginx_signing.key
echo 'deb http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
echo 'deb-src http://nginx.org/packages/debian/ jessie nginx' >> /etc/apt/sources.list
apt-get update && apt-get install nginx

Ora dobbiamo modificare un po 'la configurazione di NGINX. Passare alla directory di configurazione.

cd /etc/nginx

Una breve lezione di vim

Utilizzare i tasti freccia per navigare nel documento di testo. Per iniziare a fare le modifiche, premi il pulsante "Inserisci" sulla tastiera. Se la tua tastiera non ha un pulsante di inserimento, premi il tasto "i". Verso il fondo di Vim noterai che ora dice "INSERISCI". La modalità Inserisci ti consente di eliminare tramite backspace o inserire nuovi caratteri digitandoli.

Apriamo il nostro nginx.confe diamo un'occhiata in giro:

vi nginx.conf

Cambiamo l'utente predefinito, controlliamo il numero di processi di lavoro e disattiviamo il registro di accesso.

Le direttive "user" e "worker_processes" si trovano nella parte superiore. Prova i valori seguenti:

Tieni presente che dovrai impostare "worker_processes" sul numero di core della CPU disponibili sul tuo server. In questo esempio, abbiamo 1, che è l'impostazione predefinita NGINX.

user www-data;
worker_processes 1;

Vorremmo anche disabilitare il registro di accesso, al fine di migliorare le prestazioni di I / O. Navigare verso il basso con i tasti freccia fino a trovare "access_log". Modificalo come segue:

access_log off;

Infine, imposteremo "client_max_body_size" in modo che corrisponda ad alcune modifiche apportate a PHP in seguito. Salviamo il problema e facciamolo ora. Aggiungi appena sotto "access_log":

client_max_body_size 12m;

Al termine della modifica, premi "Esc" sulla tastiera. Vim non dirà più "INSERT" verso la fine del file.

Per salvare le modifiche e uscire da vim, premere la seguente sequenza di tasti:

SHIFT :(colon)
wq
Press "Enter"

Il precedente vim kung fu scriverà le tue modifiche su disco e uscirà da vim, riportandoti nella shell bash.

Ora, dobbiamo fare una configurazione specifica del sito per il nostro esempio! Elimineremo anche le altre configurazioni di esempio. Prova quanto segue:

cd conf.d
rm example_ssl.conf default.conf
vi my_site.conf

Faremo una breve e semplice www.confbase liberamente sulla configurazione NGINX predefinita, ma con alcune modifiche. Premi Inserisci e puoi copiare / incollare l'esempio seguente.

Non dimenticare di modificare la direttiva "root" per puntare alla directory principale del tuo sito Web e "nome_server" per corrispondere al tuo dominio.

server {
    listen 80;

    root /path/to/your/website;
    index index.php index.html index.htm;

    server_name mydomainname.com www.mydomainname.com;

    location / {
            try_files $uri $uri/ /index.php;
    }

    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
    }
}

Ora abbiamo finito con la sezione di configurazione NGINX di questo tutorial. Riavveremo NGINX tra poco, subito dopo l'installazione di PHP.

PHP-FPM

PHP-FPM è PHP Fast Process Manager. È necessario quando si utilizza NGINX, perché a differenza di Apache, NGINX non esegue PHP come modulo. Ciò è stato fatto per ridurre il footprint di memoria di NGINX. Ricordi quella parte sul fatto che NGINX è innanzitutto un proxy inverso? Ecco dove entra in gioco; Le richieste PHP inviate a NGINX vengono inviate a PHP-FPM per eseguire il sollevamento di carichi pesanti.

Installiamo PHP-FPM.

apt-get install php5-fpm php5-mysqlnd

Nota che, a seconda di ciò che richiedono i tuoi script PHP, potresti dover installare altri moduli PHP non inclusi di default. Quelli popolari sono php5-gde php5-mcrypt. Puoi installarli con il seguente comando.

apt-get install php5-module_name_here

Ora che PHP-FPM è installato, desideriamo apportare alcune modifiche rapide per migliorare la sicurezza e la funzionalità.

cd /etc/php5/fpm
vi php.ini

Tempo per un'altra rapida lezione di vim! Il php.inifile è assolutamente enorme. La ricerca di alcuni valori chiave richiederà tutto il giorno. Quindi poiché sappiamo cosa stiamo cercando, cercheremo. Digita quanto segue:

/upload_max_filesize

Questo, per impostazione predefinita, è impostato su 2 megabyte. Se vuoi consentire agli utenti di caricare file nelle tue applicazioni PHP superiori a 2 megabyte, dovrai cambiarlo. 10M è probabilmente una scommessa sicura per ora, ma sono accettabili anche valori più alti. Questa impostazione varia tra le configurazioni. Per motivi di tutorial:

upload_max_filesize = 10M

Un altro evidente difetto di sicurezza. Scorri un po 'più in basso o cerca. Dobbiamo impostare "allow_url_fopen" su "Off". Ciò impedirà a PHP di eseguire i file PHP ospitati in REMOTELY, altrimenti noto come RFI (Remote File Inclusion). Molti server vengono hackerati in questo modo.

allow_url_fopen = Off

E poiché abbiamo cambiato "upload_max_filesize", ora dobbiamo cambiare "post_max_size". Questo valore dovrebbe essere un po 'più grande di "upload_max_filesize", perché dobbiamo tenere conto del sovraccarico associato alle nostre richieste elaborate da PHP.

Cerchiamo ancora una volta con "/ post_max_size".

post_max_size = 12M

Nota che dovrai tornare alla tua configurazione NGINX e modificare "client_max_body_size" se decidi di utilizzare valori maggiori di questi esempi per le dimensioni del tuo file PHP.

Questo è tutto per ora. Assicurati di non essere in modalità modifica premendo "Esc". Salva ed esci da vim.

SHIFT :(colon)
wq
Press 'Enter'

La configurazione di PHP-FPM è completa.

MariaDB

Anche in un mondo che si sposta continuamente verso NoSQL o MongoDB, alcuni di noi trovano ancora più semplice attenersi a MySQL. Ciò è particolarmente vero per molte applicazioni web. Fortunatamente, ora esistono numerosi sostituti "drop-in" per Oracle MySQL. Debian 8 ora include il sempre popolare MariaDB. MariaDB è un fork di Oracle MySQL basato sulla versione 5.5. MariaDB, a tutti gli effetti, lo chiama MariaDB 10. È considerato un sostituto COMPLETO di Oracle MySQL. Pensa a come MySQL, senza il marchio Oracle e alcune nuove funzionalità.

apt-get install mariadb-server

IMPORTANTE: devi assolutamente, positivamente, scegliere una password di root sicura per MariaDB. Salvalo in un posto sicuro. Dovrai inserirlo due volte durante l'installazione di MariaDB.

Modifichiamo leggermente la configurazione di MariaDB. Disattiveremo l'ascolto di MariaDB tramite l'interfaccia di rete. Invece, come in precedenza con PHP-FPM, ci limiteremo a utilizzare un socket UNIX. La maggior parte delle applicazioni PHP dovrebbe supportare la connessione al server di database tramite un socket UNIX anziché l'interfaccia di loopback locale.

cd /etc/mysql
vi my.cnf

Cerca "bind-address = 127.0.0.1". Commenta quella linea. Sopra o sotto, aggiungi "skip-networking".

#bind-address = 127.0.0.1
skip-networking

Abbiamo finito con MariaDB! Alla fine, potresti voler modificare la configurazione di MariaDB a seconda se utilizzerai principalmente i motori di archiviazione MyISAM o InnoDB, ma anche il numero di core CPU e RAM disponibili per il tuo server. Le impostazioni predefinite ci faranno funzionare nel frattempo.

Riavviamo ciascuno dei servizi per i quali sono stati modificati i file di configurazione in questo tutorial.

systemctl restart nginx.service
systemctl restart php5-fpm.service
systemctl restart mysql.service

Questo è tutto - abbiamo finito. A questo punto, hai un server LNMP (LEMP) perfettamente funzionante online!

Questa guida doveva servire come regola generale per iniziare con i servizi di cui sopra con modifiche minime. Per ulteriori informazioni, leggere la documentazione per i pacchetti di cui sopra. Mentre questo setup di esempio dovrebbe funzionare bene "out of the box", le regolazioni possono, e molto probabilmente dovranno essere fatte per soddisfare meglio le tue esigenze.

Aree raccomandate per la ricerca:

  • Utilizzo e modifica del controllo cache di NGINX.
  • Impostazioni del task manager PHP-FPM "statico", "dinamico" o "ondemand".
  • Ottimizzazione delle prestazioni di MariaDB per ottenere il massimo dal tuo server di database.


Leave a Comment

Installa la condivisione NFS su Debian

Installa la condivisione NFS su Debian

NFS è un file system basato su rete che consente ai computer di accedere ai file attraverso una rete di computer. Questa guida spiega come esporre le cartelle su NF

Come installare Couch CMS 2.0 su un VPS Debian 9 LAMP

Come installare Couch CMS 2.0 su un VPS Debian 9 LAMP

Usi un sistema diverso? Couch CMS è un sistema di gestione dei contenuti (CMS) semplice e flessibile, gratuito e open source che consente ai web designer di progettare

Come installare Golang 1.8.3 su CentOS 7, Ubuntu 16.04 e Debian 9

Come installare Golang 1.8.3 su CentOS 7, Ubuntu 16.04 e Debian 9

Golang è un linguaggio di programmazione sviluppato da Google. Grazie alla sua versatilità, semplicità e affidabilità, Golang è diventato uno dei più popolari

Come installare Quassel su Debian 9

Come installare Quassel su Debian 9

IRC è popolare tra gli sviluppatori e gli utenti di software open source. Uno degli svantaggi di IRC è quando non sei in linea, potresti perdere Importan

Come usare Sudo su Debian, CentOS e FreeBSD

Come usare Sudo su Debian, CentOS e FreeBSD

Luso di un utente sudo per accedere a un server ed eseguire comandi a livello di root è una pratica molto comune tra Linux e Unix Systems Administrator. Luso di un sud

Configurare un Chroot su Debian

Configurare un Chroot su Debian

Questo articolo ti insegnerà come impostare una prigione chroot su Debian. Presumo che tu stia usando Debian 7.x. Se usi Debian 6 o 8, questo potrebbe funzionare, bu

Come installare PiVPN su Debian

Come installare PiVPN su Debian

Introduzione Un modo semplice per configurare un server VPN su Debian è con PiVPN. PiVPN è un programma di installazione e wrapper per OpenVPN. Crea semplici comandi per te t

Come costruire Brotli dalla fonte su Debian 9

Come costruire Brotli dalla fonte su Debian 9

Usi un sistema diverso? Brotli è un nuovo metodo di compressione con un rapporto di compressione migliore di Gzip. Il suo codice sorgente è ospitato pubblicamente su Github. Thi

Come installare Kanboard su Debian 9

Come installare Kanboard su Debian 9

Usi un sistema diverso? Introduzione Kanboard è un programma software di gestione dei progetti gratuito e open source progettato per facilitare e visualizzare

Come installare Neos CMS su Debian 9

Come installare Neos CMS su Debian 9

Usi un sistema diverso? Neos è una piattaforma di applicazioni di contenuto con un CMS e un framework applicativo al suo interno. Questa guida ti mostrerà come installare

Installa cactus su Debian Jessie

Installa cactus su Debian Jessie

Introduzione Cacti è uno strumento open source di monitoraggio e rappresentazione grafica interamente basato sui dati RRD. Attraverso Cacti puoi monitorare quasi ogni tipo di devic

Come installare Java 8 e DCEVM su Debian 8 (Jessie)

Come installare Java 8 e DCEVM su Debian 8 (Jessie)

Java è un linguaggio di programmazione / macchina virtuale indipendente dalla piattaforma. In questo tutorial, installeremo limplementazione OpenJDK di Java 8 su un Debian

Server HTTP Git con Nginx su Debian 8

Server HTTP Git con Nginx su Debian 8

Git è un sistema di controllo della versione (VCS) che consente il rilevamento delle modifiche al codice. In questo tutorial, vedremo come installare un server HTTP (S) Git, un

Come installare MyCLI su Linux (CentOS, Debian, Fedora e Ubuntu)

Come installare MyCLI su Linux (CentOS, Debian, Fedora e Ubuntu)

Introduzione MyCLI è un client da riga di comando per MySQL e MariaDB che ti consente di completare automaticamente e ti aiuta con la sintassi dei tuoi comandi SQL. MyCL

Usare le viste MySQL su Debian 7

Usare le viste MySQL su Debian 7

Introduzione MySQL ha una grande funzionalità nota come viste. Le viste sono query memorizzate. Pensa a loro come alias per una query altrimenti lunga. In questa guida,

Creare una rete di server Minecraft con BungeeCord su Debian 8, Debian 9 o CentOS 7

Creare una rete di server Minecraft con BungeeCord su Debian 8, Debian 9 o CentOS 7

Cosa ti serve Un VPS Vultr con almeno 1 GB di RAM. Accesso SSH (con privilegi di root / amministrativi). Passaggio 1: installare prima BungeeCord

Come installare Matomo Analytics su Debian 9

Come installare Matomo Analytics su Debian 9

Usi un sistema diverso? Matomo (precedentemente Piwik) è una piattaforma di analisi open source, unalternativa aperta a Google Analytics. La fonte Matomo è ospitata o

Monitora lo stato del server Debian con Munin

Monitora lo stato del server Debian con Munin

Munin è uno strumento di monitoraggio per rilevare processi e risorse nella macchina e presenta le informazioni in grafici attraverso uninterfaccia web. Usa il seguito

Come installare ImpressPages CMS 5.0 su un VPS Debian 9 LAMP

Come installare ImpressPages CMS 5.0 su un VPS Debian 9 LAMP

Usi un sistema diverso? ImpressPages CMS 5.0 è un sistema di gestione dei contenuti (CMS) semplice ed efficace, gratuito e open source, intuitivo, basato su MVC

Come installare il forum NodeBB su Debian 9

Come installare il forum NodeBB su Debian 9

Usi un sistema diverso? NodeBB è un forum basato su Node.js. Utilizza socket Web per interazioni istantanee e notifiche in tempo reale. Codice sorgente NodeBB i

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Lintelligenza artificiale può combattere con un numero crescente di attacchi ransomware?

Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane

ReactOS: è questo il futuro di Windows?

ReactOS: è questo il futuro di Windows?

ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.

Rimani connesso tramite lapp desktop WhatsApp 24*7

Rimani connesso tramite lapp desktop WhatsApp 24*7

Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

In che modo lintelligenza artificiale può portare lautomazione dei processi al livello successivo?

Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Laggiornamento del supplemento macOS Catalina 10.15.4 sta causando più problemi che risolverli

Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per lestrazione dei dati dai Big Data

13 strumenti commerciali per l'estrazione dei dati dai Big Data

Che cosè un file system di journaling e come funziona?

Che cosè un file system di journaling e come funziona?

Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true

Singolarità tecnologica: un lontano futuro della civiltà umana?

Singolarità tecnologica: un lontano futuro della civiltà umana?

Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1

Limpatto dellintelligenza artificiale nella sanità 2021

Limpatto dellintelligenza artificiale nella sanità 2021

L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.