Creazione di un sito Web WordPress con carico bilanciato

in Amazon Lightsail

Amazon Lightsail è il modo più facile per iniziare a usare AWS. Offre server virtuali, storage, database e servizi di rete oltre a un conveniente piano mensile.

Questo tutorial mostra come creare un sito Web WordPress con carico bilanciato in Amazon Lightsail. Un sistema di bilanciamento del carico è un server che distribuisce il carico di rete in un set di server. Distribuendo il traffico di rete in un pool di server, è possibile migliorare notevolmente il numero di utenti in simultanea che il sito Web WordPress è in grado di gestire. I sistemi di bilanciamento del carico aggiungono anche tolleranza ai guasti. Il sistema di bilanciamento del carico Lightsail assicura che solo le istanze WordPress integre collegate al sistema di bilanciamento del carico ricevano traffico.

È possibile ridimensionare un sito Web WordPress orizzontalmente, aumentando il numero di istanze collegate a un sistema di bilanciamento del carico. È anche possibile ridimensionare un sito Web WordPress verticalmente, sostituendo le istanze collegate a un sistema di bilanciamento del carico con istanze che utilizzando un piano Lightsail superiore (ad es., utilizzare il piano da 5 USD al mese, anziché il piano da 3,50 USD al mese). Lo scenario di dimensionamento verticale non è trattato in questo tutorial, ma può essere ottenuto utilizzando passaggi simili.

Completa i seguenti passaggi di questo tutorial:

  • Creazione di un database gestito MySQL in Lightsail
  • Creazione di un utente IAM per l'istanza di WordPress
  • Connessione a un'istanza di WordPress tramite SSH per configurare il database gestito e le credenziali utente di IAM
  • Accesso al pannello di controllo del sito Web WordPress e installazione del plugin WP Offload Media
  • Duplicazione dell'istanza di WordPress
  • Creazione di un sistema di bilanciamento del carico in Lightsail e collegamento delle istanze di WordPress

Inizia a utilizzare Amazon Lightsail gratuitamente. 

Informazioni sul tutorial
Durata 60 minuti                                           
Costo Si applicano dei costi
Caso d'uso Calcolo
Prodotti Amazon Lightsail
Destinatario Sviluppatore
Livello Intermedio 
Ultimo aggiornamento 16 aprile 2020

Hai già un account? Accedi

1. Creazione di un'istanza WordPress in Lightsail

Questo tutorial prevede che tu realizzi la creazione di un'istanza di WordPress in Lightsail. Per farlo, segui i passaggi illustrati nel tutorial Avvio e configurazione di un'istanza di WordPress con Amazon Lightsail.

2. Creazione di un database gestito MySQL in Lightsail

Completa i seguenti passaggi per creare un database gestito MySQL in Lightsail. Il nuovo database gestito MySQL servirà da database centrale per tutte le istanze di WordPress che avranno il carico bilanciato.


a. Accedi alla console Lightsail


b. Nella scheda Database della home page di Lightsail, scegli Crea database.

lb1

c. Scegli la regione AWS e la zona di disponibilità per il tuo database.

Nota: il database creato si deve trovare nella stessa regione dell'istanza di WordPress.

lb2

d. Scegli l'ultima versione di MySQL come motore di database. PostgreSQL è disponibile, ma non è compatibile con WordPress.

lb3

e. Scegli un piano del database.

Un piano include un costo basso e prevedibile, la configurazione della macchina (RAM, SSD, vCPU) e la quota di trasferimento dati. Puoi provare il piano standard del database di Lightsail da 15 USD gratuitamente per un mese (fino a 750 ore).

lb4

f. Assegna un nome al tuo database.

Linee guida per il nome della risorsa:

  • Deve essere univoco in ciascuna regione AWS nel tuo account Lightsail.
  • Deve contenere da 2 a 255 caratteri.
  • Deve iniziare e terminare con un numero o un carattere alfanumerico.
  • Può includere caratteri alfanumerici, numeri, punti, trattini e caratteri di sottolineatura.
lb5

g. Seleziona Crea database.

La creazione del database richiederà alcuni minuti.


h. Dopo aver creato il database e quando sarà disponibile, scegli il nome del database nella scheda Database nella console Lightsail.


i. Completa i seguenti passaggi nella scheda Connetti della pagina di gestione del database:

  1. Annota il nome DNS del database. Sarà necessario nelle fasi successive di questo tutorial.
  2. Annota il nome utente del database. Sarà necessario nelle fasi successive di questo tutorial.
  3. Scegli Mostra password e Cambia la password. Immetti una nuova password complessa che non contenga caratteri speciali. Devi cambiare la password per rimuovere eventuali caratteri speciali. In caso contrario, alcuni dei comandi nelle fasi successive di questo tutorial non funzioneranno come previsto.
  4. Annota la password del database. Sarà necessario nelle fasi successive di questo tutorial.
hawp2i

3. Creazione di un bucket Amazon S3 per l'istanza di WordPress

Completa i seguenti passaggi per creare un bucket Amazon S3 che verrà utilizzato per archiviare i contenuti multimediali del sito Web WordPress.


a. Accedi alla console di Amazon S3.


b. Scegli Blocca accesso pubblico nel menu di navigazione a sinistra.


c. Assicurati che entrambe le opzioni per bloccare l'accesso pubblico tramite liste di controllo di accessi (ACL) siano disattivate. Se sono attive, seleziona Modifica, deseleziona le opzioni e seleziona Salva modifiche. Queste opzioni sono necessarie per consentire a WordPress di accedere al bucket Amazon S3 creato.

Nota: queste impostazioni sono applicate a tutti i bucket S3, pertanto assicurati che possano essere applicate anche agli altri bucket S3 esistenti.

update1
update2

d. Seleziona Bucket nel menu di navigazione a sinistra, quindi seleziona Crea bucket.

update3

e. Assegna un nome al bucket. Tutti i nomi dei bucket S3 sono univoci a livello globale, pertanto non puoi utilizzare lo stesso nome indicato in questo tutorial.

Annota il nome scelto, dovrai immetterlo nella configurazione di WordPress nelle fasi successive di questo tutorial.


f. Scegli la regione AWS del bucket S3. Devi creare tutte le risorse per questo tutorial nella stessa regione AWS, pertanto crea il bucket S3 nella stessa regione dell'istanza di WordPress.

update4

g. Deseleziona Blocca tutto l'accesso pubblico e seleziona Blocca gli accessi pubblici a bucket e oggetti concessi tramite le nuove policy pubbliche del bucket o del punto d'accesso e Blocca gli accessi pubblici a bucket e oggetti concessi tramite qualsiasi policy pubblica del bucket o del punto di accesso. Assicurati che entrambe le opzioni per bloccare l'accesso pubblico tramite liste di controllo di accessi (ACL) siano deselezionate.


h. Conferma le impostazioni selezionate.

update6

i. Scegli Crea bucket.


3. Creazione di una policy e di un utente IAM per l'istanza di WordPress

Completa i seguenti passaggi per creare una policy per il bucket Amazon S3 creato, quindi crea un utente IAM con la policy in grado di accedere al bucket S3. Nelle fasi successive di questo tutorial, configurerai l'istanza di WordPress con le credenziali dell'utente IAM.

a. Accedi alla console IAM.


b. Seleziona Policy nel menu di navigazione a sinistra, quindi seleziona Crea policy.

c. Nella pagina Crea policy, scegli la scheda JSON, quindi incolla la seguente policy nella casella di testo. Assicurati di sostituire il nome del tuo bucket con quello del bucket Amazon S3 creato nelle fasi precedenti di questi tutorial.

Il risultato dovrebbe assomigliare alla seguente immagine.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "s3:PutObject",
                "s3:GetObjectAcl",
                "s3:GetObject",
                "s3:PutBucketAcl",
                "s3:ListBucket",
                "s3:DeleteObject",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::<your bucket name>",
                "arn:aws:s3:::<your bucket name>/*"
            ]
        }
    ]
}
update7

d. Scegli Verifica policy.

e. Assegna un nome alla policy, come wp-s3-policy, quindi seleziona Crea policy.

Ora disponi di una policy che puoi applicare a un nuovo utente IAM. Nei passaggi successivi, creerai un nuovo utente IAM

update8

f. Seleziona Utenti nel menu di navigazione a sinistra. Quindi seleziona Aggiungi utente.

lb7

g. Immetti un nome utente.

Ad es.: wp-s3-user


h. Seleziona Accesso programmatico.

i. Seleziona Successivo: autorizzazioni.

lb8

j. Seleziona Collega direttamente le policy esistenti.


k. Cerca il nome della policy IAM creata nelle fasi precedenti, come wp-s3-policy.

 


l. Seleziona nei risultati della ricerca la policy creata.

m. Seleziona Successivo: tag.

 

update10

n. Non è necessario aggiungere tag all'utente IAM. Seleziona Successivo: esamina.


o. Esamina i dettagli dell'utente, quindi seleziona Crea utente.

lb10

p. Copia l'ID della chiave di accesso dell'utente e incollala nel file di testo delle credenziali creato nelle fasi precedenti di questo tutorial.

lb11

q. Seleziona Mostra nella colonna Chiave di accesso segreta.


r. Copia la chiave di accesso segreta e incollala nel file di testo delle credenziali.


s. Salva il file di testo delle credenziali in un percorso sicuro. Queste credenziali saranno necessarie nelle fasi successive di questo tutorial.


t. Seleziona Chiudi.

Ora hai completato le operazioni con la console IAM e puoi chiuderla.

4. Connessione a un'istanza di WordPress tramite SSH per configurare il database gestito e le credenziali utente di IAM

Completa i seguenti passaggi per esportare i dati dal database MySQL nell'istanza di WordPress e importarli nel nuovo database gestito MySQL in Lightsail. Configurerai anche l'istanza di WordPress per la connessione al database gestito MySQL e le credenziali dell'utente IAM nell'istanza di WordPress.


a. Accedi alla console Lightsail.


b. Nella scheda Istanze della home page di Lightsail, scegli l'icona del client SSH basato su browser per l'istanza di WordPress.

lb12

c. Dopo l'apertura della finestra del client SSH basato su browser, immetti il seguente comando per recuperare la password predefinita Bitnami delle applicazioni nell'istanza di WordPress:

cat $HOME/bitnami_application_password

        d. Copia la password visualizzata e incollala nel file di testo in cui hai archiviato le credenziali.

lb13

e. Immetti i seguenti comandi uno per uno per stabilire variabili di ambiente con le informazioni copiate e incollate nel file di testo delle credenziali.

LSDB_USERNAME=<DatabaseUserName>
LSDB_ENDPOINT=<DatabaseEndpoint>
LSDB_PASSWORD='<DatabasePassword>'
ACCESS_KEY=<AccessKeyID>
SECRET_KEY=<SecretAccessKey>

Nota: assicurati di immettere virgolette singole prima e dopo il parametro LSDB_PASSWORD.

Ad esempio:

LSDB_USERNAME=dbmasteruser
LSDB_ENDPOINT=ls-24e932a56656a5b471398ea052a04bc32ea0703d.czowadgeezqi.us-west-2.rds.amazonaws.com
LSDB_PASSWORD='3stTVwnfJh9CnKR6'
ACCESS_KEY=AKIAIOSFODNN7EXAMPLE
SECRET_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

f. Immetti il seguente comando per creare un dump del database MySQL nell'istanza di WordPress. Questo comando crea un file dump.sql nella directory corrente.

mysqldump -u root --databases bitnami_wordpress --single-transaction --order-by-primary -p > dump.sql

g. Immetti la password predefinita Bitnami quando viene richiesta. Si tratta della password predefinita Bitnami per le applicazioni all'interno dell'istanza di WordPress, ottenuta nei passaggi precedenti.


h. Immetti il seguente comando per importare il file dump.sql nel database gestito MySQL in Lightsail.

cat dump.sql | mysql --user $LSDB_USERNAME --host $LSDB_ENDPOINT -p

i. Quando viene richiesta una password, immetti la password del database gestito MySQL. Si tratta della password del database gestito MySQL che hai ottenuto dalla console Lightsail nelle fasi precedenti di questo tutorial.


j. Nei passaggi successivi modificheremo il file wp-config.php. Prima di procedere, immetti il seguente comando per creare un backup del file wp-config.php in caso qualcosa vada storto.

cp /home/bitnami/apps/wordpress/htdocs/wp-config.php /home/bitnami/apps/wordpress/htdocs/wp-config.php.bak

k. Immetti il seguente comando per ottenere la password per il database MySQL nell'istanza dal file wp-config.php e impostala come variabile di ambiente WPDB_PASSWORD.

WPDB_PASSWORD=`cat /home/bitnami/apps/wordpress/htdocs/wp-config.php | grep DB_PASSWORD | cut -d \' -f 4`

l. Immetti il seguente comando per aggiungere la porta alla variabile di ambiente del tuo endpoint del database di Lightsail.

LSDB_ENDPOINT=$LSDB_ENDPOINT:3306

m. Immetti il seguente comando per utilizzare la riga di comando di WordPress per aggiungere il nome utente, la password e l'endpoint del database gestito MySQL al file wp-config.php .

wp config set DB_USER $LSDB_USERNAME && wp config set DB_PASSWORD $LSDB_PASSWORD && wp config set DB_HOST $LSDB_ENDPOINT

n. Immetti il seguente comando per creare un file credfile.txt contenente le credenziali dell'utente IAM creato nelle fasi precedenti di questo tutorial.

cat <<EOT >> credfile.txt
define( 'AS3CF_SETTINGS', serialize( array (
    'provider' => 'aws', 
    'access-key-id' => '$ACCESS_KEY', 
    'secret-access-key' => '$SECRET_KEY',
) ) );
EOT

o. Immetti il seguente comando per inserire il contenuto del file credfile.txt nel file wp-config.php.

sed -i "/define( 'WP_DEBUG', false );/r credfile.txt" /home/bitnami/apps/wordpress/htdocs/wp-config.php

p. Immetti il seguente comando per eliminare il file credfile.txt, poiché non è più necessario. A questo punto, puoi anche eliminare il file delle credenziali contenente tutte le credenziali che hai copiato e incollato nelle fasi precedenti di questo tutorial.

sudo rm –r credfile.txt

q. La serie precedente di comandi reimposta le autorizzazioni del file wp-config.php. Immetti il seguente comando per correggere le autorizzazioni del file wp-config.php e del backup creato.

sudo chown bitnami:daemon /home/bitnami/apps/wordpress/htdocs/wp-config.php && sudo chown bitnami:daemon /home/bitnami/apps/wordpress/htdocs/wp-config.php.bak

r. Immetti il seguente comando per riavviare i servizi nell'istanza.

sudo /opt/bitnami/ctlscript.sh restart

Puoi chiudere la finestra del client SSH basato su browser. L'istanza di WordPress ora è configurata per la connessione al nuovo database gestito MySQL in Lightsail. Quando pubblichi nuovi post nel sito Web WordPress, i dati di tali post vengono scritti nel database gestito MySQL in Lightsail, anziché nel database gestito MySQL nell'istanza.

5. Accesso al pannello di controllo del sito Web WordPress e installazione del plugin WP Offload Media

Completa i seguenti passaggi per installare il plugin WP Offload Media nel tuo sito Web WordPress. Il plugin WP Offload Media crea un bucket Amazon S3 nel tuo account AWS utilizzando le credenziali IAM configurate nella sezione precedente di questo tutorial. Connette anche il tuo sito WordPress al nuovo bucket S3, in modo che i file multimediali caricati nel tuo sito Web vengano salvati nel tuo nuovo bucket S3. Il nuovo bucket S3 servirà da percorso centrale dei file multimediali per tutte le istanze di WordPress che avranno il carico bilanciato.


a. Cerca la tua istanza. Ad esempio, http://192.0.2.0.

Puoi ottenere l'indirizzo IP pubblico della tua istanza dalla console Lightsail come mostrato nella seguente immagine:

lb14

b. Scegli l'icona di gestione Bitnami nell'angolo inferiore destro della pagina

lb15

c. Seleziona Accedi.

lb16

d. Immetti utente nella casella di testo Nome utente e inserisci la password predefinita Bitnami nella casella di testo Password. Quindi scegli Accedi.

lb17

e. Posiziona il cursore su Plugin nel menu di navigazione a sinistra, quindi scegli Aggiungi nuovo.

lb18

f. Immetti WP Offload Media nella casella di ricerca e premi Invio.

lb19

g. Nei risultati della ricerca, seleziona Installa ora accanto al plugin WP Offload Media Lite.

lb29

h. Dopo l'installazione del plugin, seleziona Attiva.

lb21

i. Dopo aver attivato il plugin, posiziona il cursore su Impostazioni nel menu di navigazione a sinistra e seleziona Offload Media Lite.

lb22

j. Nella pagina delle impostazioni di Offload Media Lite, inserisci il nome del bucket S3 creato nelle fasi precedenti di questo tutorial nella casella di testo Bucket.

Quindi seleziona Salva impostazioni bucket.

update11

La pagina Offload Media Lite conferma che le impostazioni sono state salvate.

Il sito Web WordPress ora è configurato per caricare file multimediali nel bucket Amazon S3. Il nuovo bucket S3 centrale dei file multimediali WordPress, assieme al nuovo database gestito MySQL centrale in Lightsail, implica che ora puoi duplicare la tua istanza di WordPress e che ogni versione duplicata della tua istanza farà riferimento al bucket S3 e al database gestito MySQL. Procedi al passaggio successivo per duplicare la tua istanza di WordPress in Lightsail.

Picture1

6. Duplicazione dell'istanza di WordPress

Completa i seguenti passaggi per creare uno snapshot della tua istanza di WordPress, quindi utilizzalo per creare un duplicato dell'istanza.


a. Accedi alla console Lightsail.


b. Nella scheda Istanze della home page di Lightsail, scegli il nome dell'istanza di WordPress.

lb26

c. Nella pagina di gestione della tua istanza, seleziona la scheda Snapshot

d. Seleziona Crea snapshot e quindi Crea.

lb28

e. Al termine della creazione dello snapshot, seleziona l'icona dei puntini di sospensione (⋮) e seleziona Crea nuova istanza.

lb29real

f. Nella pagina Crea un'istanza da uno snapshot, non cambiare le selezioni predefinite. Scorri fino alla parte inferiore della pagina e fai clic su Crea istanza.

Questo consente di creare un esatto duplicato dell'istanza di WordPress originale, che è già configurata per la connessione al database gestito MySQL e al bucket Amazon S3 creato nelle fasi precedenti di questo tutorial.

Ripeti questi passaggi nella sezione del tutorial per creare tutte le istanze che necessitano del carico bilanciato. Procedi alla sezione successiva di questo tutorial per creare un sistema di bilanciamento del carico in Lightsail e collegare le tue istanze.

lb30
lb31

7. Creazione di un sistema di bilanciamento del carico in Lightsail e collegamento delle istanze di WordPress

Completa i seguenti passaggi per creare un sistema di bilanciamento del carico in Lightsail e collegare le istanze di WordPress.


a. Accedi alla console Lightsail.


b. Nella home page di Lightsail seleziona la scheda Reti.


c. Seleziona Crea sistema di bilanciamento del carico.

lb32

d. Nella pagina Crea un sistema di bilanciamento del carico, indica un nome per il tuo sistema di bilanciamento del carico e seleziona Crea sistema di bilanciamento del carico.


e. Seleziona il nome del tuo sistema di bilanciamento del carico.

lb33

f. Nella scheda Istanze di destinazione, nella sezione Istanze di destinazione della pagina seleziona il menu a discesa e scegli una delle tue istanze di WordPress. Seleziona Collega per collegare l'istanza.

lb34

g. Seleziona Collegare un'altra per collegare un'altra istanza al sistema di bilanciamento del carico.

Collega tutte le istanze duplicate di WordPress al sistema di bilanciamento del carico.

lb35

h. Nella parte superiore della pagina Gestione sistema bilanciamento del carico, copia il nome DNS del sistema di bilanciamento del carico.

lb36

i. Apri una nuova finestra del browser, incolla il nome DNS alla casella dell'indirizzo e premi Invio.

La richiesta viene instradata attraverso il sistema di bilanciamento del carico e il sito Web WordPress si carica. Il sito Web che si carica appartiene a una delle istanze di WordPress collegate al sistema di bilanciamento del carico. A questo punto, il sistema di bilanciamento del carico è configurato per l'instradamento a una delle istanze duplicate di WordPress. Per completare la procedura, aggiungi il nome DNS del sistema di bilanciamento del carico come record (A) di indirizzo al DNS del dominio registrato.

Complimenti

Hai creato un sito Web WordPress con carico bilanciato in Amazon Lightsail.

Amazon Lightsail è ottimo per sviluppatori, professionisti del Web e chiunque voglia iniziare a utilizzare AWS in modo rapido ed economico. Puoi avviare istanze, database, storage basato su SSD, trasferire dati, monitorare le tue risorse e molto altro in modo gestito.

Questo tutorial è stato utile?

Grazie
Facci sapere cosa ti è piaciuto.
Chiudi
Spiacenti di non esserti stati d'aiuto
C'è qualcosa di obsoleto, ambiguo o approssimativo? Aiutaci a migliorare questo tutorial con il tuo feedback.
Chiudi