Nginx ha PHP
Come configurare PHP su NGINX con Esempio FastCGI (PHP-FPM)
1. configurare: errore:. XML2-CONFIG NON TROVATO Si prega di controllare l’installazione di libxml2.
Nginx ha PHP
Costruire dalla fonte non è facile se qualcosa è un po ‘diverso e ho avuto difficoltà con alcune opzioni di directory e configurazione. Stavo scintillando sul web fino a quando non ho trovato questo sito che si è tradotto dal cinese. Nessun altro aveva la soluzione. Non sono riuscito a far iniziare Php FPM fino a quando non ho modificato la directory (articolo 2.Errore: incapace di globalizzare). Ho avuto altri problemi elencati ma sono stato in grado di risolverli. Per favore, non eliminare questo, sono informazioni molto utili.
Il sito originale (è in cinese, non il mio sito, ma voglio dare credito):
(ce ne sono altri lì, puoi andare sul sito)
1. configurare: errore:. XML2-CONFIG NON TROVATO Si prega di controllare l’installazione di libxml2.
Apt-get Installa libxml2-dev
2.ATTENZIONE: Dichiarazione di Pear_Installer :: download () dovrebbe essere compatibile con & pear_downloader :: download ($ params) in phar: /// root/php -7.0.0Alpha1/pera/installazione-n-n-n-uob.phar /pera /installatore.PHP sulla riga 43
ATTENZIONE: Dichiarazione di Pear_PackageFile_Parser_v2 :: Parse () dovrebbe essere compatibile con Pear_xmlparser :: parse ($ dati) in phar: /// root/php -7.0.0Alpha1/pera/installazione-n-n-n-uob.Phar/ Pear/ PackageFile/ Parser/ V2.PHP sulla riga 113
[Pera] archive_tar – già installato: 1.3.13
[Pera] console_getopt – già installato: 1.3.1
[Pera] strutture_graph- già installato: 1.0.4
ATTENZIONE: Dichiarazione di pear_task_replace :: init () dovrebbe essere compatibile con pear_task_common :: init ($ xml, $ fileattributes, $ lastversion) in phar: /// root/php-7.0.0Alpha1/pera/installazione-n-n-n-uob. phar / pera / task / sostituire.PHP sulla riga 31
[Pera] xml_util – già installato: 1.2.3
ATTENZIONE: Dichiarazione di pear_task_windowseol :: init () dovrebbe essere compatibile con pear_task_common :: init ($ xml, $ fileattributes, $ lastversion) in phar: /// root/php-7.0.0Alpha1/pera/installazione-n-n-n-uob. Phar / Pear / Task / WindowSeol.PHP sulla riga 76
ATTENZIONE: Dichiarazione di pear_task_unixeol :: init () dovrebbe essere compatibile con pear_task_common :: init ($ xml, $ fileattributes, $ lastversion) in phar: /// root/php-7.0.0Alpha1/pera/installazione-n-n-n-uob. phar / pera / task / unixeol.PHP sulla riga 76
[Pera] pera – già installato: 1.9.5
1.ERRORE: Impossibile aprire il file di configurazione ‘/usr/locale/etc/php-fpm.conf ‘: nessun file o directory di questo tipo (2)
Errore: impossibile caricare il file di configurazione ‘/usr/locale/etc/php-fpm.conflitto
Errore: Inizializzazione FPM non riuscita
PHP-FPM.CONF COPIA FILI dal file di origine in quella posizione.
CP /ROOT /PHP-7.0.0Alpha1/SAPI/FPM/PHP-FPM.conf/usr/locale/etc/php-fpm.conf
2.Errore: Impossibile globalizzare ‘/USR/Local/Nessuno/etc/PHP-FPM.D/*.conf ‘(ret = 2) da/usr/locale/etc/php-fpm.conf alla riga 125.
Errore: impossibile caricare il file di configurazione ‘/usr/locale/etc/php-fpm.conflitto
Errore: Inizializzazione FPM non riuscita
Modifica/usr/locale/etc/php-fpm.Conf documento introdotto * .AFF parte, modifica nel percorso corretto include = / usr / locale / etc / php-fpm.D / *. Conf
Se non esiste NO/USR/Local/etc/PHP-FPM.directory d, crea la directory.
3.ATTENZIONE: Nulla corrisponde a includere Pattern ‘/USR/Local/Etc/PHP-FPM.D/*.conf ‘da/usr/locale/etc/php-fpm.conf alla riga 125.
ERRORE:. Nessun pool definito almeno una sezione del pool deve essere specificato nel file di configurazione
Errore: non riuscito a post-elaborazione della configurazione
Errore: Inizializzazione FPM non riuscita
CP www.conf.Predefinito www.conf
4.Errore: [pool www] non può ottenere GID per il gruppo “nessuno”
Errore: Inizializzazione FPM non riuscita
Www.Conf Open File, utenti utente e gruppo in impostazioni predefinite Nginx, di solito il valore predefinito è www-data.
1 anno fa
Per massimizzare le prestazioni del server con la massima velocità, con il minor numero di risorse, ho deciso di compilare PHP 8 manualmente da un sistema operativo minimo Linux/UNIX (My Linux Distro è pacchetti basati su RPM)
Il mio sistema è stato acceso con successo da PHP 8.0.9 – Con Opcache/JIT abilitato e altri diversi moduli di estensione PHP. Ecco diverse esperienze che potrebbero farti risparmiare diverse ore di ricerca.
1. Prima del passaggio (3) – Configurare e creare PHP – Per garantire che non si verifichino errori, puoi fare riferimento alla mia libreria prerequisito.
sudo dnf install \
GCC GCC-C ++ Make cmake autoconfig \
zlib zlib-devel pcre pcre-devel \
libxml2-devel libxslt-devel \
BZIP2-DEVevel Curl-Devel Libzip-Devel \
sqlite-devel \
Systemd-Devel \
openssl-devel \
libffi-devel \
libpng libpng-devel libwebp libwebp-devel libjpeg libjpeg-devel libxpm libxpm-devel \
freetpe-devel \
gmp-devel \
libldb-devel \
libc-client libc-client-devel \
Openldap Openldap-Devel \
oniguruma oniguruma-devel \
net-snmp-devel readline-devel unixodbc-devel \
uw-imap uw-imap-devel uw-imap-static uw-imap-otils \
libicu-devel \
Enchant2 Enchant2-Devel \
gd gd-devel \
libsodium libsodium-devel \
Libtidy Libtidy-Devel
Non è possibile ricevere un errore durante l’emissione ./configura, make && make installa. Anche quando costruisci manualmente il tuo pacchetto di estensione PHP più tardi.
2. Al passaggio 5 – prima di modificare PHP.ini – Puoi ricontrollare se l’attuale PHP sta leggendo quale PHP.file ini con questo comando
Php -ini | grep php.ini
# Il mio risultato. È diverso dal tutorial.
File di configurazione (PHP.ini) percorso =>/usr/locale/lib
File di configurazione caricato =>/usr/locale/lib/php.ini
4 anni fa
Quando eseguo il comando seguente per avviare PHP-FPM:
/USR/Local/Bin/PHP-FPM
Ho ricevuto le seguenti informazioni di errore:
Impossibile globalizzare ‘/USR/Local/Nessuno/etc/PHP-FPM.D/*.conf ‘(ret = 2) da/usr/locale/etc/php-fpm.conf alla riga 143.
Per correggere questo errore, fai:
Cambia lo st
Come configurare PHP su NGINX con Esempio FastCGI (PHP-FPM)
1. configurare: errore:. XML2-CONFIG NON TROVATO Si prega di controllare l’installazione di libxml2.
Nginx ha PHP
Costruire dalla fonte non è facile se qualcosa è un po ‘diverso e ho avuto difficoltà con alcune opzioni di directory e configurazione. Stavo scintillando sul web fino a quando non ho trovato questo sito che si è tradotto dal cinese. Nessun altro aveva la soluzione. Non sono riuscito a far iniziare Php FPM fino a quando non ho modificato la directory (articolo 2.Errore: incapace di globalizzare). Ho avuto altri problemi elencati ma sono stato in grado di risolverli. Per favore, non eliminare questo, sono informazioni molto utili.
Il sito originale (è in cinese, non il mio sito, ma voglio dare credito):
(ce ne sono altri lì, puoi ottenere il sito)
1. configurare: errore:. XML2-CONFIG NON TROVATO Si prega di controllare l’installazione di libxml2.
Apt-get Installa libxml2-dev
2.ATTENZIONE: Dichiarazione di Pear_Installer :: download () dovrebbe essere compatibile con & pear_downloader :: download ($ params) in phar: /// root/php -7.0.0Alpha1/pera/installazione-n-n-n-uob.phar /pera /installatore.PHP sulla riga 43
ATTENZIONE: Dichiarazione di Pear_PackageFile_Parser_v2 :: Parse () dovrebbe essere compatibile con Pear_xmlparser :: parse ($ dati) in phar: /// root/php -7.0.0Alpha1/pera/installazione-n-n-n-uob.Phar/ Pear/ PackageFile/ Parser/ V2.PHP sulla riga 113
[Pera] archive_tar – già installato: 1.3.13
[Pera] console_getopt – già installato: 1.3.1
[Pera] strutture_graph- già installato: 1.0.4
ATTENZIONE: Dichiarazione di pear_task_replace :: init () dovrebbe essere compatibile con pear_task_common :: init ($ xml, $ fileattributes, $ lastversion) in phar: /// root/php-7.0.0Alpha1/pera/installazione-n-n-n-uob. phar / pera / task / sostituire.PHP sulla riga 31
[Pera] xml_util – già installato: 1.2.3
ATTENZIONE: Dichiarazione di pear_task_windowseol :: init () dovrebbe essere compatibile con pear_task_common :: init ($ xml, $ fileattributes, $ lastversion) in phar: /// root/php-7.0.0Alpha1/pera/installazione-n-n-n-uob. Phar / Pear / Task / WindowSeol.PHP sulla riga 76
ATTENZIONE: Dichiarazione di pear_task_unixeol :: init () dovrebbe essere compatibile con pear_task_common :: init ($ xml, $ fileattributes, $ lastversion) in phar: /// root/php-7.0.0Alpha1/pera/installazione-n-n-n-uob. phar / pera / task / unixeol.PHP sulla riga 76
[Pera] pera – già installato: 1.9.5
1.ERRORE: Impossibile aprire il file di configurazione ‘/usr/locale/etc/php-fpm.conf ‘: nessun file o directory di questo tipo (2)
Errore: impossibile caricare il file di configurazione ‘/usr/locale/etc/php-fpm.conflitto
Errore: Inizializzazione FPM non riuscita
PHP-FPM.CONF COPIA FILI dal file di origine in quella posizione.
CP /ROOT /PHP-7.0.0Alpha1/SAPI/FPM/PHP-FPM.conf/usr/locale/etc/php-fpm.conf
2.Errore: Impossibile globalizzare ‘/USR/Local/Nessuno/etc/PHP-FPM.D/*.conf ‘(ret = 2) da/usr/locale/etc/php-fpm.conf alla riga 125.
Errore: impossibile caricare il file di configurazione ‘/usr/locale/etc/php-fpm.conflitto
Errore: Inizializzazione FPM non riuscita
Modifica/usr/locale/etc/php-fpm.Conf documento introdotto * .AFF parte, modifica nel percorso corretto include = / usr / locale / etc / php-fpm.D / *. Conf
Se non esiste NO/USR/Local/etc/PHP-FPM.directory d, crea la directory.
3.ATTENZIONE: Nulla corrisponde a includere Pattern ‘/USR/Local/Etc/PHP-FPM.D/*.conf ‘da/usr/locale/etc/php-fpm.conf alla riga 125.
ERRORE:. Nessun pool definito almeno una sezione del pool deve essere specificato nel file di configurazione
Errore: impossibile elaborare la configurazione
Errore: Inizializzazione FPM non riuscita
CP www.conf.Predefinito www.conf
4.Errore: [pool www] non può ottenere GID per il gruppo “nessuno”
Errore: Inizializzazione FPM non riuscita
Www.Conf Open File, utenti utente e gruppo in impostazioni predefinite Nginx, di solito il valore predefinito è www-data.
1 anno fa
Per massimizzare le prestazioni del server con la massima velocità, con un minor numero di risorse, ho deciso di compilare manualmente PHP 8 da un sistema operativo minimo basato su Linux/UNIX (My Linux Distro è pacchetti basati su RPM)
Il mio sistema è stato acceso con successo da PHP 8.0.9 – Con Opcache/JIT abilitato e altri diversi modulo di estensione PHP. Ecco diverse esperienze che potrebbero farti risparmiare diverse ore di ricerca.
1. Prima del passaggio (3) – Configurare e creare PHP – Per garantire che non si verifichino errori, è possibile fare riferimento alla mia libreria Prerequisiti.
sudo dnf install \
GCC GCC-C ++ Make cmake autoconfig \
zlib zlib-devel pcre pcre-devel \
libxml2-devel libxslt-devel \
BZIP2-DEVevel Curl-Devel Libzip-Devel \
sqlite-devel \
Systemd-Devel \
openssl-devel \
libffi-devel \
libpng libpng-devel libwebp libwebp-devel libjpeg libjpeg-devel libxpm libxpm-devel \
freetpe-devel \
gmp-devel \
libldb-devel \
libc-client libc-client-devel \
Openldap Openldap-Devel \
oniguruma oniguruma-devel \
net-snmp-devel readline-devel unixodbc-devel \
uw-imap uw-imap-devel uw-imap-static uw-imap-otils \
libicu-devel \
Enchant2 Enchant2-Devel \
gd gd-devel \
libsodium libsodium-devel \
Libtidy Libtidy-Devel
Non è possibile ricevere errori durante l’emissione ./configura, make && make installa. Anche quando costruisci manualmente il tuo pacchetto di estensione PHP più tardi.
2. Al passaggio 5 – prima di modificare PHP.ini – Puoi ricontrollare se l’attuale PHP sta leggendo quale PHP.file ini con questo comando
Php -ini | grep php.ini
# Il mio risultato. È diverso dal tutorial.
File di configurazione (PHP.ini) percorso =>/usr/locale/lib
File di configurazione caricato =>/usr/locale/lib/php.ini
4 anni fa
Quando eseguo il comando seguente per avviare PHP-FPM:
/USR/Local/Bin/PHP-FPM
Ho ricevuto le seguenti informazioni di errore:
Impossibile globalizzare ‘/USR/Local/Nessuno/etc/PHP-FPM.D/*.conf ‘(ret = 2) da/usr/locale/etc/php-fpm.conf alla riga 143.
Per correggere questo errore, fai:
Modifica la stringa “include = nessuna/etc/php-fpm.D/*.conf “to” include = etc/php-fpm.D/*.conf “nel file”/usr/locale/etc/php-fpm.conf “con l’editor di testo.
Successivamente, provo a ricominciare il PHP-FPM e ho ottenuto di nuovo le informazioni di errore:
Nulla corrisponde allo pattern include ‘/usr/locale/etc/php-fpm.D/*.conf ‘da/usr/locale/etc/php-fpm.conf alla riga 143.
Per correggere questo errore, fai:
CP/USR/Local/etc/Php-FPM.d/www.conf.Default/USR/Local/etc/Php-FPM.d/www.conf
4 anni fa
CP PHP/PHP.Ini-Development PHP/Lib/PHP.ini
CP PHP/ETC/PHP-FPM.conf.PHP/ETC/PHP-FPM predefinito.conf
CP PHP/ETC/PHP-FPM.d/www.conf.PHP/ETC/PHP-FPM predefinito.d/www.conf
3 anni fa
Nel sistema Linux, se si desidera aggiungere il servizio PHP-FPM al servizio di sistema; È facile farlo, perché PHP offre lo script di shell religioso:
dopo aver installato; immettere il pacchetto di codice sorgente SAPI/FPM/init.D.PHP-FPM; Digita il codice nel sistema Linux.
CP SAPI/FPM/INIT.D.php-fpm /etc /init.d/php-fpm
Quindi puoi usare “PHP-FPM
7 anni fa
Se si ottiene un errore “File non trovato”, aggiungi “root root_dir_location” direttiva al blocco di posizione PHP i.e. “Posizione ~* \.php $ < >“, dove root_dir_location è directory root come”/usr/share/nginx/html ” .
7 anni fa
Al passaggio 3, dopo il comando “sudo make install”
Se c’è problema con la pera.PHP.net (https). È necessario modificare questa riga (da HTTPS a HTTP) in MakeFile
Pear_installer_url = http: // peon.PHP.NET/INSTALL-NO-NOZLIB.Phar
11 mesi fa
Ottimo sforzo per questo tutorial, grazie una tonnellata, ecco i miei appunti se può aiutare chiunque, considerando l’installazione predefinita sul contenitore WSL2
Nota: compositore aggiunto per il framework Laravel.
Questi non devono essere copiati e incollati così com’è, devono essere selettivi in quanto vi sono annotazioni oltre ad alcuni comandi,
Inoltre ho commentato # Alcuni dei valori predefiniti scritti dall’editor originale a causa della mancata corrispondenza al mio ambiente attuale.
SHA256SUM PHP-X.X.X.catrame.GZ => E847745FD66FC8C57FAC993A609FEFCDED93FDDCCD225F0620A26BB5AE5753C3
TAR ZXF PHP-X.X.X
sudo apt installare build-essenziale
SUDO APT Installa
CD PHP-X.X.X
./configura –Nable-fpm–with-mysqli make sudo make test sudo make install sudo cp php.Ini-Development/USR/Local/Lib/PHP.ini
Sudo CP/USR/Local/etc/Php-FPM.d/www.conf.Default/USR/Local/etc/Php-FPM.d/www.conf
Sudo CP SAPI/FPM/PHP-FPM/USR/Local/Bin
sudo vim/usr/locale/php/php.ini sudo vim/usr/locale/etc/php-fpm.d/www.conf sudo vim sapi/fpm/php-fpm.conf sudo cp sapi/fpm/php-fpm.conf/usr/locale/ecc
/USR/Local/Bin/Php -v sudo/usr/local/bin/php-fpm sudo vim/etc/nginx/sites-disponibile/default
posizione / #root html;
#index indice.indice PHP.indice HTML.htm;
>
posizione ~* \.PHP $ #fastcgi_index indice.PHP;
Fastcgi_pass 127.0.0.1: 9000;
includere FastCgi_params;
Fastcgi_param script_filename $ document_root $ Fastcgi_script_name;
Fastcgi_param script_name $ Fastcgi_script_name;
>
*Riavvia Nginx (root/var/www/html) Se il percorso di root non esiste, predefinito è:/usr/share/nginx/html
sudo nginx -t sudo servizio nginx ricarica
sudo servizio nginx stop
sudo servizio nginx start
PHP -FPM deve essere in servizio o uccidere il processo manualmente PS -Aux | grep php-fpm; uccisione
Nginx ha PHP
- 4 abilità di architetto aziendale Non dovresti mai trascurare mentre c’è sicuramente molto che diventa un architetto aziendale, quali abilità sono i “must” assoluti per rimanere su.
- Falcor vs. Graphql: le differenze che contano mentre entrambi rappresentano essenzialmente due approcci a un obiettivo finale simile, ci sono alcune differenze chiave tra GraphQL e Falcor .
- Una rapida occhiata al linguaggio di programmazione del carbonio è un linguaggio di programmazione sperimentale costruito per stare sulle spalle di C ++, ma con una nuova prospettiva sulla sicurezza della memoria.
- Google prende in giro l’espansione generativa dell’intelligenza artificiale all’interno del proprio cloud che le nuove funzionalità di intelligenza artificiale di Google di Google, incluso un assistente di codifica, sono state legate strettamente al GCP nelle demo di anteprima questa settimana, mentre .
- È meglio per la codifica rispetto alle piattaforme a basso codice? CHATGPT può scrivere il codice, ma non può integrare il codice o produrre idee di design. Inoltre, pone rischi per la sicurezza e le licenze. Per adesso.
- Alcune semplici strategie per ridurre la ridondanza del test del software, mentre una copertura completa dei test è un must, i team di software devono fare sforzi consapevoli per impedire alle suite di diventare .
- Google raddoppia l’IA generativa da Google I/O 2023, Paul Nashawaty Commenti del Gruppo Enterprise Strategy Group sui miglioramenti dell’intelligenza artificiale a Google Search, Foto, Maps e .
- Gli esperti di sicurezza condividono le migliori pratiche di auditing cloud Un audit cloud consente alle organizzazioni di valutare le prestazioni del fornitore cloud. Esperti di auditing Shinesa Cambric e Michael Ratemo Talk .
- Distribuisci un’app su Google Cloud Esegui con Terraform utilizzando Terraform per distribuire un’applicazione su Google Cloud Esegui abilita un processo di distribuzione scalabile e può ridurre la configurazione .
- Crowdstrike avverte di Rise in VMware ESXI Hypervisor Attacks Man mano che aumenta l’adozione aziendale della tecnologia di virtualizzazione .
- Bl00dy ransomware gang prende di mira le scuole tramite papercut difetto La banda di ransomware Bl00dy sta prendendo di mira le scuole tramite un difetto di esecuzione del codice remoto critico presente in istanze non patate di .
- Gli esperti interrogano i $ 1 di San Bernardino.Pagamento di rasom per 1M mentre nessun servizio di sicurezza pubblica è stato compromesso nell’attacco ransomware al dipartimento dello sceriffo della contea di San Bernardino, il .
- La torre di controllo AWS mira a semplificare la gestione multi-conto Molte organizzazioni lottano per gestire la loro vasta raccolta di account AWS, ma la torre di controllo può aiutare. Il servizio automatizza .
- Abbattere il modello di prezzo di Amazon EKS Esistono diverse variabili importanti all’interno del modello di prezzi Amazon EKS. Scava i numeri per assicurarti di distribuire il servizio .
- Confronta EKS vs. Kubernetes autogestiti sugli utenti AWS AWS affrontano una scelta durante la distribuzione di Kubernetes: eseguilo da soli su EC2 o lascia che Amazon faccia il sollevamento pesante con EKS. Vedere .
Come installare Linux, Nginx, Mysql, PHP (LEMP Stack) in Ubuntu 16.04
Lo stack del software LEMP è un gruppo di software che può essere utilizzato per servire pagine Web dinamiche e applicazioni Web. Questo è un acronimo che descrive un sistema operativo Linux, con un server Web Nginx. I dati del backend sono archiviati nel database MySQL e l’elaborazione dinamica è gestita da PHP.
In questa guida, dimostreremo come installare uno stack LEMP su un Ubuntu 16.04 Server. Il sistema operativo Ubuntu si occupa del primo requisito. Descriveremo come far funzionare il resto dei componenti.
Prerequisiti
Prima di completare questo tutorial, dovresti avere un account utente normale e non root sul tuo server con privilegi sudo. Puoi imparare come impostare questo tipo di account completando il nostro Ubuntu 16.04 Impostazione del server iniziale.
Una volta disponibile l’utente, accedi al tuo server con quel nome utente. Ora sei pronto per iniziare i passaggi descritti in questa guida.
Passaggio 1: installare il server Web Nginx
Per visualizzare le pagine Web ai visitatori del nostro sito, impiegheremo Nginx, un server Web moderno ed efficiente.
Tutto il software che utilizzeremo per questa procedura verrà direttamente da Ubuntu’S Repositorie del pacchetto predefinito. Ciò significa che possiamo utilizzare la suite di gestione dei pacchetti APT per completare l’installazione.
Poiché questa è la prima volta che utilizza APT per questa sessione, dovremmo iniziare aggiornando il nostro indice di pacchetto locale. Possiamo quindi installare il server:
Su Ubuntu 16.04, Nginx è configurato per iniziare a funzionare dopo l’installazione.
Se hai il firewall UFW in esecuzione, come indicato nella nostra guida di configurazione iniziale, dovrai consentire connessioni a NGINX. Nginx si registra con UFW al momento dell’installazione, quindi la procedura è piuttosto semplice.
Si consiglia di abilitare il profilo più restrittivo che consentirà comunque il traffico desiderato. Da quando non abbiamo’t SSL configurato per il nostro server, in questa guida, dovremo solo consentire il traffico sulla porta 80.
Puoi abilitarlo digitando:
È possibile verificare la modifica digitando:
Dovresti vedere il traffico HTTP consentito nell’output visualizzato:
ProduzioneStato: attivo all'azione da------- ---- OpenSsh Consenti ovunque nginx http consenti ovunque OpenSsh (V6) consentire ovunque (V6) nginx http (V6) consentire ovunque (V6)
Con la nuova regola del firewall aggiunta, è possibile testare se il server è attivo e funzionante accedendo al server’S Name di dominio o indirizzo IP pubblico nel browser web.
Se non hai un nome di dominio puntato sul tuo server e non conosci il tuo server’S Indirizzo IP pubblico, puoi trovarlo digitando uno dei seguenti nel tuo terminale:
Questo stamperà alcuni indirizzi IP. Puoi provare ciascuno di essi a sua volta nel tuo browser web.
In alternativa, è possibile verificare quale indirizzo IP è accessibile come visualizzato da altre posizioni su Internet:
Digita uno degli indirizzi che ricevi nel tuo browser web. Dovrebbe portarti a nginx’S Pagina di destinazione predefinita:
http: //server_domain_or_ip
Se vedi la pagina sopra, hai installato correttamente Nginx.
Passaggio 2: installa MySQL per gestire i dati del sito
Ora che abbiamo un server Web, dobbiamo installare MySQL, un sistema di gestione del database, per archiviare e gestire i dati per il nostro sito.
Puoi installarlo facilmente digitando:
Ti verrà chiesto di fornire una password di root (amministrativa) da utilizzare all’interno del sistema MySQL.
Il software di database MySQL è ora installato, ma la sua configurazione non è ancora esattamente completa.
Per proteggere l’installazione, possiamo eseguire un semplice script di sicurezza che ci chieda se vogliamo modificare alcuni impostazioni predefinite insicure. Inizia lo script digitando:
Ti verrà chiesto di inserire la password che hai impostato per l’account root mysql. Successivamente, ti verrà chiesto se si desidera configurare il plug -in di convalida password .
Avvertimento: Abilitare questa funzione è una specie di chiamata di giudizio. Se abilitato, password che Don’T corrispondere ai criteri specificati verrà respinto da MySQL con un errore. Ciò causerà problemi se si utilizza una password debole in combinazione con il software che configura automaticamente le credenziali dell’utente MySQL, come i pacchetti Ubuntu per PhpMyAdmin. È sicuro lasciare la convalida disabilitata, ma dovresti sempre utilizzare password univoci forti e univoci per le credenziali del database.
Risposta y per sì, o qualsiasi altra cosa da continuare senza abilitare.
Il plug -in di convalida della password può essere utilizzato per testare le password e migliorare la sicurezza. Controlla la forza della password e consente agli utenti di impostare solo quelle password che sono abbastanza sicure. Desideri configurare il plug -in convalida della password? Premere y | y per sì, qualsiasi altro tasto per il no:
Se tu’con convalida abilitata, tu’Verrà chiesto di selezionare un livello di convalida della password. Tieni presente che se entri 2, Per il livello più forte, riceverai errori quando si tenta di impostare qualsiasi password che non contenga numeri, lettere maiuscole e minuscole e caratteri speciali o che si basa su parole del dizionario comuni.
Esistono tre livelli di politica di convalida della password: bassa lunghezza> = 8 media lunghezza> = 8, custodia numerica, mista e caratteri speciali Lunghezza forte> = 8, numerico, custodia mista, caratteri speciali e file di dizionario Si prega di inserire 0 = basso, 1 = medio e 2 = forte: 1
Se hai abilitato la convalida della password, tu’verrà mostrato una forza della password per la password di root esistente e ti chiede se si desidera modificare quella password. Se sei soddisfatto della tua password corrente, inserisci N per “NO” al prompt:
Utilizzo della password esistente per root. Forza stimata della password: 100 Cambia la password per root ? ((Premere Y | Y per sì, qualsiasi altro tasto per il no): N
Per il resto delle domande, dovresti premere Y e colpisci il accedere Chiave ad ogni prompt. Ciò rimuoverà alcuni utenti anonimi e il database di test, disabiliterà l’accesso dei radici remoti e carichi queste nuove regole in modo che MySQL rispetti immediatamente le modifiche che abbiamo apportato.
A questo punto, il tuo sistema di database è ora impostato e possiamo andare avanti.
Passaggio 3: installare PHP per l’elaborazione
Ora abbiamo Nginx installato per servire le nostre pagine e MySQL installate per archiviare e gestire i nostri dati. Tuttavia, non doniamo ancora’T ha tutto ciò che può generare contenuti dinamici. Possiamo usare PHP per questo.
Poiché Nginx non contiene l’elaborazione PHP nativa come altri server Web, dovremo installare PHP-FPM, che rappresenta “FastCGI Process Manager”. Diremo a NGINX di passare le richieste PHP a questo software per l’elaborazione.
Possiamo installare questo modulo e prenderemo anche un ulteriore pacchetto helper che consentirà a PHP di comunicare con il nostro back -end del database. L’installazione attirerà i file core PHP necessari. Fallo digitando:
Configurare il processore PHP
Ora abbiamo i nostri componenti PHP installati, ma dobbiamo apportare una leggera modifica della configurazione per rendere la nostra configurazione più sicura.
Apri il file di configurazione PHP-FPM principale con i privilegi di root:
Quello che stiamo cercando in questo file è il parametro che imposta CGI.Fix_Pathinfo . Questo verrà commentato con un semi-colon (;) e impostato su “1” Per impostazione predefinita.
Questa è un’imposta. Ciò in pratica consentirebbe agli utenti di creare richieste PHP in un modo che consentirebbe loro di eseguire script che dovrebbero non’essere autorizzato ad eseguire.
Camberemo entrambe queste condizioni rimborsando la linea e impostandola “0” come questo:
/etc/php/7.0/fpm/php.ini
CGI.Fix_PathInfo = 0
Salva e chiudi il file al termine.
Ora, dobbiamo solo riavviare il nostro processore PHP digitando:
Questo implementerà la modifica che abbiamo apportato.
Passaggio 4: configurare nginx per utilizzare il processore PHP
Ora, abbiamo tutti i componenti richiesti installati. L’unica modifica della configurazione di cui abbiamo ancora bisogno è dire a Nginx di utilizzare il nostro processore PHP per il contenuto dinamico.
Lo facciamo a livello di blocco del server (i blocchi del server sono simili ad Apache’s host virtuali). Aprire il file di configurazione del blocco Nginx predefinito NINGX digitando:
Attualmente, con i commenti rimossi, il file di blocco del server predefinito NGINX sembra così:
/etc/nginx/siti-disponibile/impostazione predefinita
server < listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.html index.htm index.nginx-debian.html; server_name _; location / < try_files $uri $uri/ =404; >>
Dobbiamo apportare alcune modifiche a questo file per il nostro sito.
- Innanzitutto, dobbiamo aggiungere indice.PHP come primo valore della nostra direttiva indice in modo che i file denominati indice.PHP sono serviti, se disponibili, quando viene richiesta una directory.
- Possiamo modificare la direttiva Server_Name per indicare il nostro server’S Nome del dominio o indirizzo IP pubblico.
- Per l’effettiva elaborazione PHP, dobbiamo solo disgustare un segmento del file che gestisce le richieste PHP rimuovendo i simboli della sterlina (#) davanti a ciascuna riga. Questa sarà la posizione ~ \.Php $ Location Block, il Fastcgi-php incluso.Conf Snippet e la presa associata a PHP-FPM .
- Rimuoveremo anche il blocco della posizione con cui si tratta di .file htaccess utilizzando lo stesso metodo. Nginx non lo fa’t elabora questi file. Se uno di questi file si fa strada nella radice del documento, non dovrebbe essere servito ai visitatori.
Le modifiche che devi apportare sono in rosso nel testo seguente:
/etc/nginx/siti-disponibile/impostazione predefinita
server < listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index indice.PHP indice.indice HTML.indice HTM.nginx-debian.html; nome del server server_domain_or_ip; posizione / < try_files $uri $uri/ =404; >Posizione ~ \.php $ Includi frammenti/Fastcgi-php.conf; FastCGI_Pass UNIX:/RUN/PHP/PHP7.0-FPM.calzino; > posizione ~ /\.ht Nega tutto; > >
Quando tu’Ve ha apportato le modifiche sopra, è possibile salvare e chiudere il file.
Test del file di configurazione per errori di sintassi digitando:
Se vengono segnalati errori, torna indietro e ricontrolla il file prima di continuare.
Quando sei pronto, ricarica nginx per apportare le modifiche necessarie:
Passaggio 5: creare un file PHP per testare la configurazione
Il tuo stack LEMP dovrebbe ora essere completamente impostato. Possiamo testarlo per convalidare che Nginx può consegnare correttamente .PHP si sposta al nostro processore PHP.
Possiamo farlo creando un file PHP di prova nella root del nostro documento. Apri un nuovo file chiamato Info.PHP all’interno del tuo documento Root nel tuo editor di testo:
Digitare o incollare le seguenti righe nel nuovo file. Questo è un codice PHP valido che restituirà informazioni sul nostro server:
/var/www/html/info.PHP
Al termine, salva e chiudi il file.
Ora puoi visitare questa pagina nel tuo browser web visitando il tuo server’S Name di dominio o indirizzo IP pubblico seguito da /Info.PHP:
http: //server_domain_or_ip/informazioni.PHP
Dovresti vedere una pagina Web che è stata generata da PHP con informazioni sul tuo server:
Se vedi una pagina che assomiglia a questa, tu’VE Impostare correttamente l’elaborazione PHP con NGINX.
Dopo aver verificato che Nginx renda correttamente la pagina’è meglio rimuovere il file che hai creato in quanto può effettivamente dare agli utenti non autorizzati alcuni suggerimenti sulla tua configurazione che possono aiutarli a provare a irrompere. Puoi sempre rigenerare questo file se ne hai bisogno in seguito.
Per ora, rimuovi il file digitando:
Conclusione
Ora dovresti avere uno stack LEMP configurato sul tuo Ubuntu 16.04 Server. Questo ti dà una base molto flessibile per servire i contenuti web ai tuoi visitatori.
Grazie per l’apprendimento con la comunità digitale. Dai un’occhiata alle nostre offerte per database di calcolo, archiviazione, networking e gestiti.