Cum vă ajută tmux să vă gestionați serverul Cloudways prin SSH
Publicat: 2020-03-06
Acest articol completează și extinde un videoclip pe care l-am creat folosind SSH și tmux pentru gestionarea serverelor mele Cloudways. În videoclip, mă puteți urmări folosind tmux pentru a gestiona conexiunile SSH la mai multe servere Cloudways și puteți folosi instrumentul de linie de comandă htop pentru a analiza încărcarea serverului.
Puteți viziona videoclipul complet aici:
Deoarece există mult mai mult în această conversație decât doar ceea ce am acoperit în videoclip, am vrut să scriu acest articol gratuit și să dau mai multe informații despre motivul pentru care folosesc tmux și de ce mă bazez pe SSH pentru administrarea serverului.
Pentru a vă oferi un pic de fundal, nu sunt administrator de server prin instruire - nici măcar un dezvoltator web instruit. Tot ceea ce fac este autodidact. Pentru mine, învățarea prin practică este abordarea mea preferată de a dobândi abilități sau de a aborda provocările cu care mă confrunt. Nu mai sunt un prieten al educației formale (am renunțat la un masterat în securitate IT) și cred în schimb să mă implic în tehnologie pentru a înțelege cum funcționează.
Rețineți această abordare în timp ce vizionați videoclipul și citiți acest articol. După cum veți vedea, am împărțit articolul în două secțiuni. Fiecare ar putea fi un articol foarte lung sau probabil mai multe articole pe cont propriu, dar am crezut că merg bine împreună în acest context.
- Gestionarea serverului dvs. prin SSH
- De ce ar trebui să utilizați linia de comandă?
- Utilizare caz: Depanare încărcare server folosind htop
- Utilizare caz: Utilizarea WP-CLI pe serverele Cloudways
- De ce am recomandat tmux?
Gestionarea serverului dvs. prin SSH
Unul dintre avantajele utilizării Cloudways pentru găzduire este că aveți acces în linie de comandă la serverele și aplicațiile dvs. Deși nu este acces root, puteți face o mulțime de lucruri pe linia de comandă.
Din perspectiva mea, este rezonabil să nu primesc acces root la serverele mele Cloudways. Imaginați-vă cum ar fi întreținerea serverelor de 20k dacă fiecare administrator de server își instalează propriile instrumente și pachete. Aceasta este o ispravă imposibil de realizat. Acestea fiind spuse, Cloudways ne oferă acces la WP-CLI și la multe alte instrumente standard. Și asta este o mulțime de lucru cu menținerea serverelor dvs. și rămâneți informat cu privire la ceea ce fac serverele.
Mi-a luat ceva timp să înțeleg avantajele gestionării serverelor mele prin SSH, dar acum nu văd niciun alt mod de a gestiona această problemă. Principalele mele motive pentru a intra pe linia de comandă sunt:
- Nu trebuie să aștept o aplicație web pentru a încărca pentru a vedea ce vreau să văd.
- Conectarea este gestionată prin chei SSH, deci nu trebuie să introduc parola inutil.
- Pot păstra sesiunile SSH în funcțiune și nu trebuie să vă faceți griji cu privire la conectare și deconectare.
- Am acces la WP-CLI și pot face lucruri pe care nu le pot face în tabloul de bord obișnuit WP Admin.
- Pot automatiza executarea sarcinilor folosind job-uri cron și scripturi.
- Nu trebuie să-mi îndepărtez mâinile de tastatură pentru a folosi mouse-ul și le pot menține relaxate.
Vă rugăm să rețineți că, ca premise, ar trebui să aveți instalată o formă de client SSH. Dacă sunteți pe Linux sau Mac, puteți utiliza pur și simplu aplicațiile Terminal preinstalate. Dacă sunteți un utilizator Windows ca mine, puteți să instalați PuTTY sau să folosiți Bash care vine cu subsistemul Windows pentru Linux (ceea ce prefer).
Dacă nu doriți să instalați niciun software suplimentar, puteți deschide și un terminal SSH din consola Cloudways, dar aceasta nu este o soluție pe care aș recomanda-o pentru utilizarea zilnică. După cum veți vedea, frumusețea utilizării unei interfețe de linie de comandă este să nu trebuie să vă conectați la o aplicație web precum Cloudways Console.
De ce ar trebui să utilizați linia de comandă?
Folosirea liniei de comandă a fost foarte intimidantă la început. Acest lucru este valabil atât pentru administrarea serverului, cât și pentru utilizarea liniei de comandă pe computerul sau Mac-ul meu local. Majoritatea cunoștințelor mele despre linia de comandă provin din tutoriale pe care le-am citit pe Internet sau de la un prieten de-al meu care lucrează la Cisco. Totul este să înveți prin a face.
Mai ales atunci când configurați un server sau un serviciu precum un server web sau o memorie cache de pe server, este ușor să spargeți lucrurile. Să nu știu ce fac și să nu am experiență în utilizarea instrumentelor din linia de comandă nu mi-a inspirat neapărat încredere în încercarea de a gestiona serverele mele prin SSH.
Am luat în cele din urmă mahmureala și am descoperit avantajele utilizării liniei de comandă urmând trei reguli:
- Faceți întotdeauna un pas la rând și încercați să înțelegeți exact ce faceți în acest pas.
- Aveți întotdeauna un punct de restaurare sau o copie de rezervă în cazul în care spargeți lucrurile.
- Testați întotdeauna într-un mediu sigur și nu executați niciodată un instrument de linie de comandă pe un site web live pentru prima dată.
Cu aceste reguli, știam că nimic nu poate merge cu adevărat în neregulă. Am creat o versiune de stadializare a site-ului meu live pe Cloudways folosind funcționalitatea „ Clonare ” și tocmai am urmat tutorialul lor de conectare prin SSH. Odată conectat, am început să mă joc cu WP-CLI și alte instrumente simple de gestionare a serverelor, cum ar fi htop.
Dacă urmați o abordare similară, ar trebui să fiți într-o poziție bună pentru a învăța în siguranță cum să utilizați linia de comandă. Vă ajută să aveți un background în dezvoltare sau IT, dar nu cred că este necesar. Pur și simplu gândiți-vă la linia de comandă ca o modalitate de a interacționa cu computerul dvs., la fel cum faceți cu mouse-ul pe desktop. Mai ales cu WP-CLI , este ușor să faceți primii pași pe linia de comandă și să vedeți rezultatele pe tabloul de bord WP Admin.
Utilizare caz: Depanare încărcare server folosind htop
În videoclip, veți vedea că folosesc instrumentul htop pentru a analiza utilizarea resurselor serverului. htop este un instrument standard care vă oferă informații despre ceea ce se întâmplă în prezent pe serverul dvs. în timp real. Având în vedere că datele de monitorizare ale platformei Cloudways au uneori întârzieri ușoare, este extrem de util să aflați mai multe despre utilizarea htop .
Ori de câte ori botul Cloudways mă anunță că crește utilizarea CPU sau RAM, mă conectez la serverul respectiv prin SSH și rulez htop. În câteva secunde, pot identifica procesul și aplicația care ocupă resursele. Ce mi-ar lua un minut sau două folosind platforma web Cloudways se face în decurs de 10-20 de ani.

Iată cum arată htop în practică:

Procesul de depanare este apoi de a identifica aplicația care ocupă cantități neobișnuite de resurse de server prin htop și de a examina acea aplicație mai detaliat. Dacă vedeți un proces PHP al acelei aplicații care preia CPU sau RAM, știți că este probabil ceva legat de un plugin WP sau de tema dvs. Este adesea cazul în care procesele programate prin WP-Cron s-au acumulat și acum sunt executate dintr-o dată, astfel supraîncărcându-vă serverul.
Dacă vedeți un proces MySQL sau MariaDB care preia resursele serverului, știți că nu trebuie să vă uitați în pluginuri sau temă, ci în baza de date. Am văzut că bazele de date își pierd indicii și astfel fac ca interogările SQL să ruleze extrem de lent. Poate dura mai multe timp până când identificați sursele problemei dacă nu știți dacă PHP sau MySQL cauzează problemele.
După cum vă puteți imagina, acesta este doar vârful aisbergului a ceea ce poate face htop. Iată o listă de exemple practice htop care duc exemplul meu la nivelul următor.
Utilizare caz: Utilizarea WP-CLI pe serverele Cloudways
Știind cum să folosești WP-CLI poate fi un adevărat schimbător de jocuri pentru abordarea ta zilnică de dezvoltare. Instalați un WP vanilat fără a muta mouse-ul? Nici o problemă. Ștergeți toate tranzitorii cu instalarea unui plugin suplimentar? Uşor. Analizând care cârlige încetinesc cel mai mult timpul de încărcare al site-ului dvs. web? Puteți face acest lucru și cu WP-CLI.
Este cu adevărat uimitor faptul că Cloudways ne oferă acces la WP-CLI pe linia de comandă. Puteți construi cu ușurință instrumente care să instaleze stiva și tema implicită WordPress plugin. Sau puteți utiliza WP-CLI pentru a descărca o copie de siguranță a bazei de date a site-ului dvs. în câteva secunde sau minute (bine, asta depinde de dimensiunea bazei de date).
Iată captura: trebuie să utilizați linia de comandă pentru a accesa WP-CLI. Și astfel trebuie să vă conectați la serverul dvs. prin SSH pentru a executa comenzi WP-CLI pe site-urile dvs. găzduite pe Cloudways.
Dacă nu există niciun alt motiv pentru a vă familiariza cu linia de comandă și pentru a începe să utilizați SSH pentru a vă gestiona serverele, WP-CLI ar trebui să fie. Permiteți-mi să vă dau doar trei exemple care merită încercate:
1. Optimizarea și repararea bazei de date
Deoarece nu primim PhpMyAdmin pe Cloudways, este la îndemână să aveți opțiunea de a optimiza și repara baza de date WordPress utilizând WP-CLI. Utilizând wp db optimize și wp db repair , puteți obține baza de date la viteză și stabiliza procesele sale.
2. Crearea unei teme pentru copii în câteva secunde
Da, ai putea crea o temă copil creând și încărcând manual un nou director cu stilul respectiv.css și functions.php în wp-content / themes - dar de ce să te deranjezi dacă poți rula o comandă simplă care gestionează totul pentru tine?
Gata cu privire la Codex pentru a verifica dacă specificațiile s-au schimbat, gata cu conectările SFTP și transferurile de fișiere. Executați următoarea comandă în linia de comandă și tema copilului dvs. este gata de utilizare:
wp scaffold child-theme SLUG –parent_theme = SLUG –theme_name = TITLE –author = FULL-NAME –author_uri = URI –theme_uri = URI –activate –force
Rețineți că această comandă va activa în mod implicit tema copil. Dacă nu doriți să faceți acest lucru, omiteți „–activare –forțare” la sfârșitul comenzii.
3. Creați conținut fals pentru scopuri de dezvoltare
Toți dezvoltatorii au nevoie de date pentru a lucra în timpul fazelor lor de dezvoltare. Ce se întâmplă dacă nu trebuie să creați și să copiați manual postări și pagini în tabloul de bord WP Admin? Ce se întâmplă dacă WP-CLI ar putea să creeze orice cantitate de date fictive cu o comandă simplă?
Executând wp post generate –count = 10 puteți genera zece posturi demo în câteva secunde. Aceeași funcționalitate funcționează pentru crearea de pagini, date fictive WooCommerce și chiar vă permite să adăugați conținut lorem ipsum la postări.
Pur și simplu utilizând curl http://loripsum.net/api/4 | wp post generate –post_content –count = 10 va crea 10 postări care au fiecare câte patru paragrafe din text Lorem Ipsum.
De ce am recomandat tmux?
Sper, exemplele pe care le-am dat mai sus sunt suficiente pentru a vă încânta să încercați SSH să vă mențină serverele Cloudways. Permiteți-mi să duc acest articol puțin mai departe și să vorbesc despre de ce folosesc tmux pentru a-mi gestiona sesiunile SSH.
Pe scurt, tmux vă permite să gestionați mai multe sesiuni de terminal simultan. Adică, când faci ceva în terminal în timp ce te afli într-o sesiune tmux, tmux va ține evidența a ceea ce faci. Chiar dacă închideți accidental terminalul, sesiunea dvs. nu se va pierde. Puteți reveni pur și simplu la locul unde ați rămas cu o singură comandă și puteți continua să lucrați.
tmux vă permite, de asemenea, sesiuni de script. De exemplu, dacă aveți tendința de a executa aceleași comenzi pentru configurarea mediilor de dezvoltare din nou și din nou, puteți automatiza acele comenzi folosind tmux.
Pentru a fi sincer, nu sunt sigur dacă voi învăța vreodată tot ce are de oferit tmux - pur și simplu pentru că este atât de mult. Este similar cu Google Spreadsheets sau MS Excel - știm cu toții cât de puternice sunt aceste instrumente, dar își folosesc probabil 5% din funcțiile lor zilnic. Cu toate acestea, știu suficient pentru a folosi tmux în dezvoltarea zilnică a WordPress-ului meu .
După cum puteți vedea în videoclip, folosesc tmux pentru a urmări sesiunile mele SSH. Acest lucru mă scutește de conectarea la serverele mele Cloudways din nou și din nou. Doar mă atașez din nou la sesiunea tmux numită „Cloudways” și continuu să lucrez pe serverele mele. Nici o magie implicată, dar chiar și această mică ajustare îmi economisește timp în fiecare zi. Fac același lucru pentru Raspberry Pi-ul meu privat acasă (sunt un tocilar inteligent în timpul liber).
tmux este cool, deoarece vă permite să economisiți timp, să deveniți mai productivi și să vă reduceți mișcările mâinilor pe tot parcursul zilei. Dacă sunteți ca mine, aveți ușor dureri la încheietura mâinilor din zilele lungi la computer. Chiar și cu un mouse ergonomic, nu ar dispărea pentru mine. Ceea ce a funcționat a fost totuși reducerea mișcărilor pe care le făceam cu mâinile mele.
Comutarea mâinii drepte de la tastatură la mouse de fiecare dată s-a simțit întotdeauna ca o întrerupere a fluxului. A trebuit să mă gândesc unde să-mi pun mâna dreaptă, a existat o ușoară încordare la încheietura mâinii și am ieșit din fluxul de scris. Cu tmux, puteți obține o productivitate aproape lipsită de mouse odată ce ați obținut-o.
Mi-ar plăcea să mă scufund mai adânc în tmux, dar asta nu intră în sfera acestui articol. În schimb, vă voi oferi câteva articole care vă vor ajuta să începeți cu tmux sau să vă îmbunătățiți abilitățile: Noțiuni introductive despre tmux de Linuxize, Beneficii ale utilizării tmux de Keegan Lowenstein și Un ghid minimalist pentru utilizarea tmux de Peter Jang.
