Der er desværre ikke nok opmærksomhed på en vigtige ny feature i Magento 2: Modes. Vi oplever, at 70% af vores klienter har haft deres M2-site i Developer
mode.
Production
mode. Production mode cacher hele siden og trækker fra en fuldt udvidet pub
folder. Dette giver den bedste brugeroplevelse, da denne tilstand er optimeret til at køre stabilt og effektivt. Production
mode er 20-30% hurtigere end Developer
mode.
Har du en Magento 2 webshop? Er du usikker på hvilket mode dit live site er i? Vi anbefaler at du verificerer, at dit site er i Production
mode.
For dig der ikke er Magento nørd, kan det resultere i mange spørgsmål:
Den store forskel mellem Magento 1 og Magento 2 er introduktionen af development modes. Magento 2 modes blev introduceret med udgivelsen af Magento 2. De er varierende konfigurationer af Magento kodebase, som påvirker drift og performance på et Magento 2 site.
Magento 1 havde kun en mode til både udvikling og produktion. Magento 2 har nu tre forskellige modes: Default
, Developer
, og Production
.
Magento har tre modes til anvendelse i et udviklings- eller produktionsmiljø: Default
, Developer
og Production
modes. Production
er klart den hurtigste. Default
og Developer
bruges til problemløsning og bør aldrig anvendes på et live site.
Default
– giver dig mulighed for at installere Magento på en enkelt server uden at ændre indstillinger. Dette mode er ikke beregnet til et live site. Performer dårligere end Production
.Developer
– kun beregnet til udvikling.Production
– beregnet til når sitet skal “Go Live” og køre med optimal drift.
Og et mode til vedligeholdelse:
Maintenance
– forhindrer uautoriseret adgang til en Magento webshop under opdatering eller konfigurering.
Som navnet antyder benyttes Default
mode når ingen anden mode er specificeret. Og det er måske derfor at den uforvarende benyttes på så mange Magento webshops. Default
mode er kun tiltænkt til brug første gang man starter et Magento 2 site.
Default mode er en mellemting mellem Developer
og Production
. Den er indrettet til at forkorte opstartstiden for et standard Magento 2 site. Dette gøres ved at man kan udvikle uden at kompilere kode, samt at den indeholder et standardiseret sæt konfigurationer.
Default
mode er der ikke nogen hovedkarakteristika til produktion. Du bør derfor skifte til Developer
mode eller Production
mode.Default
mode logges fejl i filrapporterne på serveren. Selv om debugging er muligt, er det langt fra ideelt.Default
til andet mode, kan man ikke fortryde, da Default
bliver utilgængelig. Det er ikke indrettet til brug i længere tid, men har kun et formål: At gøre det nemt at starte et Magento site.pub/static
kataloget. I Default
mode vil cachen derfor ikke blive udnyttet fuldt ud. Siden leverer fortsat indhold dynamisk ved hver forespørgsel.Default
kan du implementere Magento applikationen på en enkelt server uden at ændre i indstillingerne.
Dette kan føre til en hurtigere lancering af sitet. Du vil dog i sidste ende spare mest tid på at udføre modifikationer og vedligehold i Developer
mode. Det skyldes de mere avancerede muligheder for udvikling, som beskrives nærmere i næste afsnit.
Her kan Magento udviklerne udføre alle deres udviklingsopgaver. Developer
mode er kun beregnet til udvikling. Det er her, du bør tilpasse og udvide Magento.
/pub
folder. Developer
mode kompilerer automatisk kode. Det tillader også mere avanceret logning og debugging end i Default
eller Production
. Logfilerne har derudover flere detaljer.pub/static
katalog hver gang de kaldes. De bliver aldrig cachet.
OBS: Brug dette mode når du modificerer eller udvider Magento 2 standardfunktioner.
Production
mode er beregnet til drift i et produktionssystem. Alle live sites skal have Production
mode. sHer anvendes fuld caching, som giver en stabil og hurtig drift for brugerne på sitet.
pub
mappe. Production
mode er optimeret til at give den bedste kundeoplevelse. Hvis det er vigtigt for dig, bør du skifte din Magento webshop til dette mode.Production
. Det skyldes at fejlene kun logges på serveren og ikke vises i frontend (browseren).Production
mode uses full page caching with a fully built pub
folder to pull from, which results in the smooth and efficient functioning of the store. If you are concerned about offering the best customer experience, you must switch your store to this mode. Production
det mest sikre mode. Her oprettes ikke et symlink til pub/static
mappen. Hvis en uautoriseret bruger får adgang til pub/static
for at ændre disse data, bliver det kun dubletter af disse filer.
To handlinger er essentielle når du skal skifte mellem Developer
og Production
mode:
1. Static Deploy – dette fylder pub/static
mappen med indhold. Denne mappe bruger dit Production
M2 site til at bygge og hente indhold fra.
2. Compilation – denne funktion tager sitets kode og komprimerer det til bytecode. Det betyder bl.a., at klasser hentes hurtigere, og at indlæsningshastigheden i frontend afkortes. Hvis en ondsindet bruger skulle få adgang til pub/static
og lave ændringer, så kan de kun ændre dubletter af filerne. Og de bliver overskrevet ved næste statiske implementering.
Selv om du ikke er en Magento nørd, er det med vores guide nemt at tjekke hvilket mode dit Magento 2 site er i.
Trin 1.
Log på din server via SSH som ejer af Magento filsystemet.
Du skal bruge en SSH-klient på din computer.
Når du forbinder med SSH, så brug disse oplysninger:
Host: ssh.example.com
Username: example.com
Password: det som du valgte til SSH i dit kontrolpanel
Port: 22
OBS: Husk at erstatte “example.com” med dit eget domæne.
Trin 2.
Naviger til Magentos root-mappe. Typisk er dette public_html
, men det er ikke altid tilfældet. Du kan altid tjekke hos din Magento hosting udbyder. De kan hjælpe med at finde mappen.
Trin 3.
Find /bin
mappen i root-mappen.
Trin 4.
Kør følgende kommando: php bin/magento deploy:mode:show
Så kommer nedenstående meddelelse, der viser hvilket mode dit Magento 2 site kører i nu.
Current application mode: {mode}. (Note: Environment variables may override this value.)
Her kan {mode}
være enten Default
, Developer
or Production
Blev du klogere på hvilket mode dit site kører i?
Hvis det viser sig at du har et live site i Developer
mode, kan det løses nemt. Men det kan desværre være tegn på et større problem. Hvordan og hvorfor? Det beskriver vi nærmere i næste afsnit.
OBS: Du bør ikke foretage ændringer på dit Magento 2 site i live versionen uden først at have foretaget en test i et udviklingsmiljø.
Trin 1.
Login på SSH-site server.
Trin 2.
Naviger til sidens root, og find mappen /bin
.
Trin 3.
Kør følgende kommando: php bin/magento deploy:mode:set {mode} [-s/-skip-compilation]
hvor:
{mode}
er en påkrævet parameter (Developer
eller Production
); [-s/-skip-compilation]
er en valgfri parameter. Den bruges til at springe kompilation over når man skifter til Developer mode.
I kommandoen ovenfor kan du bruge værdierne Developer
eller Production
til at skifte til det tilsvarende mode. Når du har skiftet sitets mode og alt virker, vil du se følgende i konsollen:
Enabled developer mode.
eller Enabled production mode.
Dette er simpelt i teorien. Så får man nemt tanken – “hvorfor er mit Magento site ikke i Production
mode?” Et almindeligt problem: En væsentlig fejl et sted i systemet, der bevirker, at sitet ikke virker, når kommandoen køres. Det kan tage lidt tid for en udvikler at komme i bund i dette.
Derfor ser vi ofte udviklere efterlade et site i Developer
mode, så de ikke skal bruge tid – måske lang tid – på at finde problemet. Et problem, som tit viser sig at være et root problem, der kan være forårsaget af dårlig kode.
Hvad skal du være opmærksom på, når du vil skifte over til Production
mode:
Når du skifter fra Developer
eller Production
mode, anbefaler vi at du tømmer følgende mapper. Du bør dog passe på med ikke at slette .htaccess
filerne, da de registrerer konfigurationsændringer for hver mappe.
var/cache
var/di
pub/static
var/generation
var/view_preprocessed
Developer
mode optimerer sitet. Det gør det nemt for udvikleren at arbejde med og integrere nye ændringer. Udvikleren kan se de nye ændringer i frontend hurtigt, og der er f.eks. intet statisk indhold i cachen. Udvikleren kan lave ændringer uden at køre langvarige, tidsrøvende kommandoer. Kommandoer, der f.eks. opdaterer de filer der læses af browseren – dvs. opdaterer websitet.
Dette betyder dog at indlæsningshastigheden for den enkelte side stiger med 20-30% på grund af ovenstående tiltag. De gør det nemmere for udvikleren at se de nye ændringer hurtigt. Men udviklerens og brugerens behov er forskellige. Der er ikke noget statisk indhold, som i praksis virker som en cache for browseren så der ikke skal indlæses så mange filer.
Dette er en stor svaghed, da en langsom webshop betyder dårligere konvertering. Brugere, der er utålmodige eller på langsommere forbindelser vil forlade sitet – uden at gennemføre deres køb.
Det er klart at et live Magento 2 site skal være i Production
mode.
Jo før du skifter, jo bedre. Jo mindre sitet er tilpasset, desto nemmere er det at skifte det til Production
mode.
Nu bør du have en bedre ide om forskellen mellem modes i Magento 1 og Magento 2. Du har også lært hvordan du verificerer hvilket mode dit Magento site benytter, og hvordan du skifter mode. At bruge de forskellige modes til Magento 2 giver nye muligheder i udviklingen. Det giver først og fremmest bedre performance og funktionalitet. Både i dag og i fremtiden.
Magento 2 kommer med forskellige features til at optimere performance. Dit job er at konfigurere dem korrekt.
Lad os vide, hvis du har spørgsmål eller feedback. Vi er altid på udkig efter måder hvorpå vi kan bidrage til Magento Community bliver større og dygtigere.
Vi vil også meget gerne fortælle om, hvordan Magecloud kan hjælpe din Magento webshop. F.eks. med at løse svære problemer eller forbedre sitets performance.
Kontakt os i dag, og snak helt uforpligtende med en ekspert om din forretning og dine behov.