Heim > Artikel > Backend-Entwicklung > Von Nginx in Docker bereitgestellte Stile und Bilder funktionieren auf der Seite nicht
Der PHP-Editor Youzi hat festgestellt, dass bei der Verwendung von Nginx in Docker das Problem auftreten kann, dass Stile und Bilder nicht korrekt auf der Seite angezeigt werden. Dies kann an einem Konfigurationsproblem oder einem falschen Pfad liegen. Bevor wir dieses Problem lösen, müssen wir die Nginx-Konfigurationsdatei und den Dateipfad sorgfältig überprüfen, um sicherzustellen, dass sie korrekt eingerichtet und referenziert sind. Als Nächstes untersuchen wir einige gängige Lösungen, die Ihnen bei der Lösung dieses lästigen Problems helfen.
Ich habe eine Golang-Webanwendung und habe beschlossen, Nginx davor zu verwenden, um statische Dateien bereitzustellen und sie als Reverse-Proxy für meine Webanwendung zu verwenden.
Docker-Datei für Webanwendung:
FROM golang:1.21.1 WORKDIR /app COPY go.mod go.sum ./ RUN go mod download && go mod verify COPY . ./ RUN go build -o ./bin/site ./cmd/site/main.go CMD ["./bin/site"]
Docker-Dateien erstellen:
version: '3' services: nginx: image: nginx:1.25.2 restart: always ports: - "80:80" volumes: - "./nginx.conf:/etc/nginx/nginx.conf:ro" - "./site/assets/:/app/assets/" site: build: ./site container_name: tmp-site restart: always volumes: - "./site/views:/app/views"
und Nginx-Konfiguration:
events { worker_connections 1024; } http { server { listen 80; server_name tmp.loc www.tmp.loc; location ~* \.(jpg|jpeg|png|gif|ico|css|js|html|svg)$ { root /app/assets/; expires max; access_log off; } location / { proxy_pass http://tmp-site:5555; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } }
Auf der Webseite habe ich zwei Bilder, eines im PNG-Format und eines im SVG-Format. Die CSS-Datei ist sehr einfach und enthält nur background-color: lightblue
als Body-Tag und die JS-Datei, die nur die Zeichenfolge „Geladen!“ in der Konsole protokolliert. Nachdem ich den Container mit Docker Compose gestartet habe, ist folgendes Problem aufgetreten:
Vollständiger Code hier – https://github.com/ivnku/tmp
Engine.Reload(true)
<code>// Reload the templates on each render, good for development engine.Reload(true) // Optional. Default: false </code>
http
http { include /etc/nginx/mime.types; server { ... } }
Das obige ist der detaillierte Inhalt vonVon Nginx in Docker bereitgestellte Stile und Bilder funktionieren auf der Seite nicht. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!