Configurare nginx per gestire un'istanza WordPress in Docker

Configurare nginx per gestire un'istanza WordPress in Docker

L'utilizzo di container Docker per eseguire applicazioni web è una pratica comune per via della loro efficienza e scalabilità. In questa guida, vedremo come configurare nginx come server web reverse proxy per un'istanza WordPress installata su Docker.

Per permettere ai container di comunicare tra loro, è utile creare una rete Docker.


docker network create wordpress-net

WordPress necessita di un database MySQL. Esegui il seguente comando per creare un container MySQL:


docker run --name wordpressdb -e MYSQL_ROOT_PASSWORD=tua_password -e MYSQL_DATABASE=wordpress -e MYSQL_USER=utente_wp -e MYSQL_PASSWORD=password_wp --network wordpress-net -d mysql:5.7

Sostituisci tua_password, utente_wp, e password_wp con le credenziali che preferisci.

Ora puoi avviare il container WordPress collegandolo alla stessa rete del database:


docker run --name wordpress --network wordpress-net -e WORDPRESS_DB_HOST=wordpressdb:3306 -e WORDPRESS_DB_USER=utente_wp -e WORDPRESS_DB_PASSWORD=password_wp -e WORDPRESS_DB_NAME=wordpress -p 8080:80 -d wordpress

Per far sì che nginx funzioni come reverse proxy per il tuo container WordPress, devi modificare il file di configurazione di nginx. Supponendo che nginx sia installato sullo stesso host, modifica il file /etc/nginx/sites-available/default o crea un nuovo file di configurazione nella stessa directory.

Ecco un esempio di configurazione:


server {
    listen 80;
    server_name tuo_dominio.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Assicurati di sostituire tuo_dominio.com con il tuo dominio effettivo. Per applicare le modifiche, riavvia nginx.

In conclusione, configurare nginx per gestire un'istanza WordPress su Docker può sembrare complesso, ma seguendo questi passaggi potrai ottenere un ambiente di hosting efficiente e scalabile. Ricorda di mantenere aggiornati i tuoi sistemi e di monitorare regolarmente le prestazioni e la sicurezza.

Torna su