Che cos’è uno stack LEMP? È praticamente uno stack simile di componenti come LAMP, tranne che Apache è stato sostituito da Nginx.
Pronunciato “engine-x”, che spiega la E su “LEMP”, nginx è un’applicazione proxy HTTP con impronte di impronta decisamente più ridotte rispetto ad Apache, che gli consente di gestire un maggior carico di richieste HTTP.
Secondo Wikipedia, nginx utilizza un approccio asincrono basato sugli eventi per gestire le richieste, rispetto all’approccio predefinito di thread o orientato ai processi di Apache, e la sua architettura modulare basata sugli eventi può fornire prestazioni più prevedibili in presenza di carichi elevati.
INSTALLAZIONE DI NGINX
Default
0
1
sudo apt-get update
sudo apt-get install nginx
A questo punto se dal browser apriamo la pagina web
http://IP_SERVER_O_NOME_DNS
Dovremmo vedere una schermata come mostrato nell’immagine sovrastante
INSTALLAZIONE DI MYSQL SERVER
A questo punto installiamo il MySQL con il comando:
Default
0
sudo apt-get install mysql-server
Inseriamo la password per l’utenza di root quindi clicchiamo OK
Reinseriamo la password per l’utenza di root quindi clicchiamo OK
Al termine dell’installazione lanciare il seguente comando:
Default
0
mysql_secure_installation
Inserire la password dell’utenza di root impostata nel passaggio precedente
Ora abbiamo installato i nostri componenti PHP, ma è necessario apportare una leggera modifica alla configurazione per rendere più sicura la nostra installazione.
Apri il file di configurazione principale di php-fpm con i privilegi di root con il comando:
Default
0
sudo nano/etc/php/7.0/fpm/php.ini
Cerchiamo nel file il paramentro cgi.fix_pathinfo
Questo di Default dovrebbe essere commentato e avere valore 1
Default
0
;cgi.fix_pathinfo=1
Modifichiamo la stringa come segue:
Default
0
cgi.fix_pathinfo=0
Salviamo il file e chiudiamolo
Riavviamo il servizio PHP con il comando:
Default
0
sudo systemctl restart php7.0-fpm
CONFIGURAZIONE DI NGINX PER L’USO DEL PHP
Aprire il file di configurazione del blocco del server Nginx predefinito digitando il comando:
Default
0
sudo nano/etc/nginx/sites-available/default
Il file di configurazione dovrebbe essere cosi
Default
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
### You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
# Default server configuration
#
server{
listen80default_server;
listen[::]:80default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root/var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name_;
location/{
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files$uri$uri/=404;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm:
# fastcgi_pass unix:/run/php/php7.0-fpm.sock;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
# listen 80;
# listen [::]:80;
#
# server_name example.com;
#
# root /var/www/example.com;
# index index.html;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}
Di seguito le modifiche che bisogna apportare
1) Innanzitutto, dobbiamo aggiungere index.php come primo valore della nostra direttiva di indice in modo che i file denominati index.php vengano visualizzati
2) Possiamo modificare la direttiva server_name in modo che faccia riferimento al nome di dominio del nostro server o all’indirizzo IP.
Per l’effettiva elaborazione PHP, abbiamo solo bisogno di decommentare una porzione del file che gestisce le richieste PHP rimuovendo i simboli sterlina (#) da davanti a ogni riga.
Di seguito il blocco da decommentare:
Default
0
1
2
3
4
5
6
7
8
9
10
11
server_name NOME DEL SERVEROIP;
location/{
try_files$uri$uri/=404;}
location~\.php${
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location~/\.ht{
deny all;
}
}
Al termine delle modifiche il file dovrebbe essere cosi:
Default
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
server{
listen80default_server;
listen80default_server;
listen[::]:80default_server;
root/var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name NOME DEL SERVEROIP;
location/{
try_files$uri$uri/=404;
}
location~\.php${
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
location~/\.ht{
deny all;
}
}
Salvare e chiudere il file di configurazione.
Per testare se la configurazione è corretta lanciamo il comando:
Default
0
sudo nginx-t
Se è tutto corretto dovremmo leggere le seguenti righe:
Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi.
Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare.
Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.
Nel mondo della virtualizzazione, oVirt rappresenta una delle soluzioni open-source più potenti e flessibili per la gestione delle macchine virtuali. Basato su KVM (Kernel-based Virtual Machine), oVirt offre un’interfaccia intuitiva e strumenti avanzati per...
Se stai cercando un modo efficace per gestire e trasmettere i tuoi contenuti multimediali in streaming, Emby Media Server è una delle soluzioni più potenti e versatili disponibili. Grazie alla sua interfaccia intuitiva, alle funzioni avanzate di gestione della...
Se gestisci un'infrastruttura IT, sai quanto sia fondamentale tenere traccia di hardware, software, utenti e interventi di assistenza. GLPI (Gestionnaire Libre de Parc Informatique) è una potente soluzione open-source per l'IT asset management (ITAM) e il service...
0 commenti