Jag får det här felet hur kan jag göra? jag försöker redigera många gånger men fungerar fortfarande inte.
Fel 503 hämtning av backend misslyckades – hämtning av backend misslyckades
Guru-meditation :
XID: 35
Lackcache-server
Min CentOS 7: /etc/varnish/varnish.params
# Beskrivning av lackkonfigurationsmiljö. Detta härstammar från # den gamla stilen sysconfig / standardinställningar
# Ställ in detta på 1 för att göra systemd omladdning försök att byta VCL utan omstart. RELOAD_VCL = 1
# Huvudkonfigurationsfil. Du vill nog ändra det. VARNISH_VCL_CONF = / etc / lack / default.vcl
# Standardadress och port att binda till. Tom adress betyder alla IPv4 # och IPv6-gränssnitt, annars anger du ett värdnamn, en IPv4-prickad # fyrad eller en IPv6-adress inom parentes. # VARNISH_LISTEN_ADDRESS = 192.168.1.5 VARNISH_LISTEN_PORT = 80
# Admin interface lyssna adress och port VARNISH_ADMIN_LISTEN_ADDRESS = 127.0.0.1 VARNISH_ADMIN_LISTEN_PORT = 6082
# Delad hemlig fil / admin-gränssnitt för admin lack / hemlighet
# Specifikation för backendlagring, se Lagringstyper i varnishd (5) # man-sidan för mer information. VARNISH_STORAGE = ”malloc, 1024M”
# Användare och grupp för lackarbetarens processer VARNISH_USER = lack VARNISH_GROUP = lack
# Andra alternativ, se mansidan varnishd (1) DAEMON_OPTS = ”-a: 80 -T localhost: 6082 -f /etc/varnish/default.vcl -S / etc / lack / secret -s malloc, 1024m -p thread_pool_min = 5 -p thread_pool_max = 500 -p thread_pool_timeout = 300 -p http_resp_hdr_len = 65536 -p http_resp_size = 98304 -p workspace_backend = 98304 ”
uppdatering:
1) Ja, vcl-filen genererades av Magento.
2)
tcp 0 0 0.0.0.0:80 0.0.0.0:* LYSSNA 4338 / lack
tcp 0 0 127.0.0.1:6082 0.0.0.0:* LISTEN 4337 / varnishd
tcp6 0 0 ::: 80 ::: * LISTEN 4338 / varnishd
tcp6 0 0 ::: 8080 ::: * LISTEN 3905 / httpd
3) jag i vcl redigerad tillagd http: // beacuse när jag bara / pub / health_check.php kommer att vara 503, men lagt till http: // temat ser ut som något fel ingen css.
.probe = {. url = ” http://example.com/pub/health_check.php ”;
4) Jag använde det här kommandot
curl -I -v –location-trusted ” http://example.com ”
visa det här, men jag vet inte att det fungerar eller inte fungerar, beacuse the var / page_cache / katalog är inte tom. Mage-tags-filen fortfarande här.
< X-Magento-Cache-Control: max-age = 0, måste-omvalidera, ingen cache, ingen butik
X-Magento-Cache-Control: max-age = 0, måste-ompröva, ingen cache, ingen butik < Ålder: 0 Ålder: 0 <
X-Magento-Cache-Debug: MISS
X -Magento-Cache-Debug: MISS
Kommentarer
- du kan inte ansluta till backend. låt ’ s redigera filen /etc/varnish/default.vcl. Hitta rad .url = ” /pub/health_check.php” och ändra den sedan .url = ” / ”; eller .url = ” /health_check.php”;
Svar
Efter att ha jämfört med /etc/varnish/default.vcl, hittade jag efter att jag tagit bort .probe -avsnittet i backend-standard kan lösa detta. Undrar fortfarande varför sonden orsakade detta
backend default { .host = "127.0.0.1"; .port = "8080"; .first_byte_timeout = 600s; .probe = { .url = "/pub/health_check.php"; .timeout = 2s; .interval = 5s; .window = 10; .threshold = 5; } }
till
backend default { .host = "127.0.0.1"; .port = "8080"; .first_byte_timeout = 600s; }
Uppdaterad:
Ändra bara följande rad:
.url = "/pub/health_check.php";
till
.url = "/health_check.php";
löste problemet, se den här artikeln https://www.sohaib.com/magento-2-12-varnish-error-503-backend-fetch-failed-solved-php-7-1-nginx-varnish-5-x/
Svar
Det finns några möjligheter till ditt fel. Jag följer den här guiden (Lösning 2) och fixar felet framgångsrikt: https://magentip.com/magento-2-error-503-backend-fetch-failed-with-varnish-cache/
1. Längden på cachetaggar som används av Magento överskrider Varnishs standardvärde
Vi ändrar http_resp_hdr_len
i Varnish-konfigurationsfilen . (Maximal längd för alla HTTP-backend-svar rubriker
Sökvägen till lackkonfigurationsfil är
-Ubuntu: / etc / default / lack
-Centos 6: / etc / sysconfig / lack
-Centos 7: / etc / lack / lack.params
ändra http_resp_hdr_len
-värdet (ligger i rad 101 efter thread_pool_max
) till
-p http_resp_hdr_len=70000 \
Ändra också http_resp_size
till
-p http_resp_size=100000 \
2. Fel health_check.php-plats i Varnish-konfigurationsfil
Gå till Varnish-konfigurationsfilen (/etc/varnish/default.vcl) och hitta dessa rader
.probe = { .url = "/pub/health_check.php";
Ändra det till
.probe = { .url = "/health_check.php";
Kommentarer
- Att ändra http_resp_hdr_len och http_resp_size i init-systemkonfigurationen (/lib/systemd/system/varnish.service) fungerade för mig. Tack!
Svar
”Fel 503 Backend hämtning misslyckades” fel betyder vanligtvis två saker:
- Varnish kan inte hämta svaret från Magento på grund av konfigurationsproblem
- Det finns ett problem på Magentosidan. Magento skickar 5xx HTTP-svarskod.
Problem med konfiguration av lack
Det finns många konfigurationsproblem, men de vanligaste är:
- standard default.vcl-filen används. Se till att du tar den vcl-fil som skapats av Magento
- fel backend som anges i vcl-filen. Kontrollera porten och ip-adressen som anges i vcl-filen. Jag hittade
netstat -tnulp
användbart verktyg för att kontrollera de körande tjänsterna och deras portar - Din Magento-instans finns inte i web_root. Kontrollera varje relativ sökväg i vcl-fil och lägg till motsvarande prefix (hälsokontrollfil, mediefiler …).
Du måste starta om lack efter varje ändring.
Magento-relaterade problem
Vanligtvis handlar det om vissa filbehörigheter. För att hitta exakt problem måste du hoppa över lack och besöka webbservern direkt – http://your_domain.com : {web_server_port } /. Då kan du aktivera Magento-utvecklarläget i konsolen med ./bin/magento deploy:mode:set developer
kommando och avkommentera ini_set("display_errors", 1);
rad i app/bootstrap.php
. Efter alla dessa åtgärder bör du se det exakta felmeddelandet
Kommentarer
- Jag uppdaterade originalpost 1,2,3,4, snälla, tack du
- Du har magento2 bit i URL. Lägg bara till magento2 / prefix till alla relativa sökvägar i vcl-filen. T.ex. probe_url = domain.com/magento2/pub/health_check. Se också till att du byter sidcache till lack i magento adminpanelen
- men lagt till http: // temat ser ut som något fel ingen css. Och nej, min magento i public_html, domain.com/magento2 < -är för exempel. Vad menar du? byta sidcache till lack i magento adminpanelen? är Cache Management? tack
- förlåt vad är byta sidcache till lack i magento adminpanelen? är Cache Management? tack
- Inställningen finns i butiker – > Konfiguration – > Avancerat – > System – > Cache för hela sidan. Det finns inget behov av att ange http före sökvägar. Istället bör det vara den relativa vägen till Magento.