Zwei WordPress in einem einzigen Docker und Zugriff über den Reverse-Proxy Nginx

Zwei WordPress in einem einzigen Docker und Zugriff über den Reverse-Proxy Nginx

Nehmen wir an, ich habe ein Droplet mit Nginx und richte einen Reverse-Proxy für bestimmte Unterordner des Docker-Containers ein. Unten sehen Sie mein Reverse-Proxy-Setup für Nginx

Frontend Nginx

#For Domain 1
server {
    listen   80;
    server_name  domain1.com;

    location / {
        proxy_pass http://127.0.0.1:7000/domain1/;
        proxy_redirect     off;
        proxy_set_header   Host $host;
    }
}

#For Domain 2
server {
    listen   80;
    server_name  domain2.com;

    location / {
        proxy_pass http://127.0.0.1:7000/domain2/;
        proxy_redirect     off;
        proxy_set_header   Host $host;
    }
}

Backend Nginx

Ich richte einen einzelnen Docker ein und füge zwei WordPress-Websites in Unterordnern hinzu. Wie unten

/var/www /root directory
/var/www/domain1 //domain 1 website 
/var/www/domain2 //domain 2 website 

Docker Nginx conf.d Datei-Setup wie unten

server {
    listen 80;
    index index.php index.html;
    root /var/www;
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
    
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    #domain1 setup <----------- my issues might be here 
    location /domain1 {
            #try_files $uri $uri/  /domain1/index.php?$args;
        root /var/www/;
    }

    #domain2 setup <----------- my issues might be here 
    location /domain2 {
            #try_files $uri $uri/  /domain2/index.php?$args;
        root /var/www/;
    }

}

Wie kann ich im Docker-Container eine Nginx-Conf-Datei einrichten, um http://domain1.comUndhttp://domain2.com

Ich habe festgestellt, dass die meisten Antworten für jede Site einen separaten Docker-Container verwenden. Aber ich muss aus irgendeinem Grund einen einzelnen Container verwenden.

Antwort1

Wenn jede Site auf unterschiedliche Hostnamen antworten soll, müssen Sie serverim Backend für jeden Hostnamen separate Blöcke verwenden, wie Sie es bereits auf dem anderen Nginx-Server getan haben.

verwandte Informationen