tmux, Cloudways Sunucunuzu SSH ile Yönetmenize Nasıl Yardımcı Olur?
Yayınlanan: 2020-03-06
Bu makale, Cloudways sunucularımı yönetmek için SSH ve tmux kullanarak oluşturduğum bir videoyu tamamlıyor ve genişletiyor. Videoda, birden çok Cloudways sunucusuna SSH bağlantılarını yönetmek için tmux kullandığımı ve sunucu yükünü analiz etmek için htop komut satırı aracını kullandığımı izleyebilirsiniz.
Videonun tamamını buradan izleyebilirsiniz:
Bu konuşmada videoda anlattıklarımın dışında çok daha fazlası olduğu için, bu ücretsiz makaleyi yazmak ve neden tmux kullandığım ve sunucu yönetimi için neden SSH'ye güvendiğim hakkında daha fazla bilgi vermek istedim.
Size biraz arka plan vermek için, ben eğitimli bir sunucu yöneticisi değilim - eğitimli bir web geliştiricisi bile değilim. Yaptığım her şey kendi kendime öğretildi. Benim için yaparak öğrenme, beceri kazanmak veya karşılaştığım zorluklarla başa çıkmak için en sevdiğim yaklaşımdır. Artık örgün eğitimin bir arkadaşı değilim (BT Güvenliği yüksek lisansını bıraktım) ve bunun yerine nasıl çalıştığını anlamak için teknolojiyle ilgilenmeye inanıyorum.
Lütfen videoyu izlerken ve bu makaleyi okurken bu yaklaşımı aklınızda bulundurun. Göreceğiniz gibi, makaleyi iki bölüme ayırdım. Her biri gerçekten uzun bir makale veya muhtemelen kendi başına birden fazla makale olabilir, ancak bu bağlamda birlikte iyi gittiklerini düşündüm.
- Sunucunuzu SSH ile Yönetme
- Neden Komut Satırını Kullanmalısınız?
- Kullanım Örneği: htop Kullanarak Sunucu Yükünde Hata Ayıklama
- Kullanım Örneği: Cloudways Sunucularında WP-CLI Kullanımı
- Neden tmux'u Önerdim?
Sunucunuzu SSH ile Yönetme
Barındırma için Cloudways kullanmanın avantajlarından biri, sunucularınıza ve uygulamalarınıza komut satırı erişiminizin olmasıdır. Kök erişimi olmasa da komut satırında birçok şey yapabilirsiniz.
Benim açımdan, Cloudways sunucularıma root erişimi alamamam mantıklı. Her sunucu yöneticisinin kendi araçlarını ve paketlerini kurması durumunda, 20k sunucuların bakımının nasıl göründüğünü hayal edin. Bu elde edilmesi imkansız bir başarıdır. Bununla birlikte, Cloudways bize WP-CLI ve diğer birçok standart araca erişim sağlar. Ve sunucularınızın bakımını yapmak ve sunucuların ne yaptığından haberdar olmak için üzerinde çalışılacak çok şey var.
Sunucularımı SSH üzerinden yönetmenin faydalarını anlamam biraz zaman aldı ama şimdi bu konuyu ele almanın başka bir yolunu göremiyorum. Komut satırına girmemin ana nedenleri:
- Ne görmek istediğimi görmek için bir web uygulamasının yüklenmesini beklemek zorunda değilim.
- Giriş, SSH anahtarları ile yönetiliyor, bu yüzden gereksiz yere şifremi girmek zorunda kalmıyorum.
- SSH oturumlarını çalışır durumda tutabilirim ve oturum açma ve oturumu kapatma konusunda endişelenmem gerekmez.
- WP-CLI'ye erişimim var ve normal WP Yönetici panosunda yapamadığım şeyleri yapabilirim.
- Cron işlerini ve komut dosyalarını kullanarak görev yürütmeyi otomatikleştirebilirim.
- Fareyi kullanmak için ellerimi klavyeden uzaklaştırmak zorunda değilim ve onları rahat tutabiliyorum.
Lütfen önkoşul olarak, bir tür SSH istemcisinin kurulu olması gerektiğini unutmayın. Linux veya Mac kullanıyorsanız, önceden yüklenmiş Terminal uygulamalarını kullanabilirsiniz. Benim gibi bir Windows kullanıcısıysanız, PuTTY'yi yükleyebilir veya Linux için Windows Alt Sistemiyle birlikte gelen Bash'i kullanabilirsiniz (ki bu benim tercihimdir).
Herhangi bir ek yazılım yüklemek istemiyorsanız , Cloudways Konsolundan bir SSH terminali de açabilirsiniz ancak bu, günlük kullanım için önerdiğim bir çözüm değil. Göreceğiniz gibi, bir komut satırı arayüzü kullanmanın güzelliği, Cloudways Konsolu gibi bir web uygulamasında oturum açmak zorunda olmamaktır.
Neden Komut Satırını Kullanmalısınız?
Komut satırını kullanmak ilk başta çok korkutucu geldi. Bu, yerel PC veya Mac'imde komut satırını kullanmak için olduğu kadar sunucu yönetimi için de geçerlidir. Komut satırı hakkındaki bilgilerimin çoğu, İnternette okuduğum eğitimlerden veya Cisco'da çalışan bir arkadaşımdan geliyor. Her şey yaparak öğreniyor.
Özellikle bir sunucuyu veya web sunucusu veya sunucu tarafı önbelleği gibi bir hizmeti yapılandırırken, işleri bozmak kolaydır. Ne yaptığımı bilmemek ve komut satırı araçlarını kullanma konusunda herhangi bir deneyime sahip olmamak, sunucularımı SSH aracılığıyla yönetmeyi denemem konusunda bana güven vermiyordu.
Sonunda akşamdan kalma oldum ve üç kuralı izleyerek komut satırını kullanmanın faydalarını keşfettim:
- Daima her seferinde bir adım atın ve bu adımda tam olarak ne yaptığınızı anlamaya çalışın.
- Bir şeyleri bozmanız durumunda her zaman bir geri yükleme noktanız veya yedeğiniz olsun.
- Daima güvenli bir ortamda test edin ve hiçbir zaman canlı bir web sitesinde bir komut satırı aracını ilk kez çalıştırmayın.
Bu kurallarla, hiçbir şeyin gerçekten ters gitmeyeceğini biliyordum. " Klon " işlevini kullanarak Cloudways'de canlı web sitemin hazırlama sürümünü oluşturdum ve SSH üzerinden oturum açma eğitimlerini takip ettim. Giriş yaptıktan sonra WP-CLI ve htop gibi diğer basit sunucu yönetim araçlarıyla oynamaya başladım.
Benzer bir yaklaşım izlerseniz, komut satırını nasıl kullanacağınızı güvenli bir şekilde öğrenmek için iyi bir konumda olmalısınız. Geliştirme veya BT konusunda bir geçmişe sahip olmak yardımcı olur, ancak bunun gerekli olduğunu düşünmüyorum. Komut satırını, tıpkı masaüstünde farenizle yaptığınız gibi, bilgisayarınızla etkileşim kurmanın bir yolu olarak düşünün. Özellikle WP-CLI ile komut satırında ilk adımları atmak ve sonuçları WP Yönetici kontrol panelinizde görmek kolaydır.
Kullanım Örneği: htop Kullanarak Sunucu Yükünde Hata Ayıklama
Videoda, sunucu kaynak kullanımını analiz etmek için htop aracını kullandığımı göreceksiniz. htop, sunucunuzda gerçek zamanlı olarak neler olup bittiği hakkında size bilgi veren standart bir araçtır. Cloudways Platform izleme verilerinin bazen küçük gecikmeler yaşadığını göz önünde bulundurarak, htop kullanımı hakkında daha fazla bilgi edinmek son derece yararlıdır.
Cloudways botu bana CPU veya RAM kullanımının arttığını bildirdiğinde, SSH üzerinden ilgili sunucuya giriş yapıyorum ve htop'u çalıştırıyorum. Saniyeler içinde kaynakları tüketen süreci ve uygulamayı tanımlayabilirim. Cloudways web platformunu kullanarak bir veya iki dakikamı alacak olan şey 10-20 saniye içinde yapılır.

Pratikte htop şöyle görünür:

Hata ayıklama işlemi daha sonra htop aracılığıyla olağandışı miktarda sunucu kaynağı kullanan uygulamayı belirlemek ve bu uygulamayı daha ayrıntılı olarak incelemektir. Bu uygulamanın bir PHP işleminin CPU veya RAM'i kapladığını görürseniz, bunun muhtemelen bir WP eklentisi veya temanızla ilgili olduğunu bilirsiniz. WP-Cron aracılığıyla planlanan işlemlerin yığılması ve şimdi hepsinin bir kerede yürütülmesi, dolayısıyla sunucunuza aşırı yük binmesi durumudur.
Sunucu kaynaklarını alan bir MySQL veya MariaDB işlemi görürseniz, eklentilere veya temaya değil veritabanına bakmanız gerektiğini bilirsiniz. Veritabanlarının dizinlerini kaybettiğini ve bu nedenle SQL sorgularının aşırı yavaş çalışmasına neden olduğunu gördüm. Sorunlara neden olanın PHP mi yoksa MySQL mi olduğunu bilmiyorsanız, sorunun kaynaklarını belirlemeniz uzun zaman alabilir.
Tahmin edebileceğiniz gibi, bu htop'un yapabileceklerinin sadece buzdağının görünen kısmı. Örneğimi bir sonraki seviyeye taşıyan pratik htop örneklerinin bir listesi.
Kullanım Örneği: Cloudways Sunucularında WP-CLI Kullanımı
WP-CLI'yi nasıl kullanacağınızı bilmek, günlük geliştirme yaklaşımınız için gerçek bir oyun değiştirici olabilir. Fareyi hareket ettirmeden bir vanilya WP kurmak? Sorun değil. Ek bir eklenti yükleyerek tüm geçici olayları silmek mi istiyorsunuz? Kolay. Hangi kancaların web sitenizin yükleme süresini en çok yavaşlattığını analiz ediyor musunuz? Bunu WP-CLI ile de yapabilirsiniz.
Cloudways'in bize komut satırı üzerinden WP-CLI'ye erişim sağlaması gerçekten şaşırtıcı. Varsayılan WordPress eklenti yığınınızı ve temanızı yükleyen araçları kolayca oluşturabilirsiniz. Veya sitenizin veritabanı yedeğini saniyeler veya dakikalar içinde indirmek için WP-CLI'yi kullanabilirsiniz (bu, veritabanınızın boyutuna bağlıdır).
İşin püf noktası şudur: WP-CLI'ye erişmek için komut satırını kullanmanız gerekir. Bu nedenle, Cloudways tarafından barındırılan web sitelerinizde WP-CLI komutlarını yürütmek için sunucunuzda SSH üzerinden oturum açmanız gerekir.
Komut satırını tanımanız ve sunucularınızı yönetmek için SSH kullanmaya başlamanız için başka bir neden yoksa, WP-CLI olmalıdır. Size denemeye değer üç örnek vereyim:
1. Veritabanınızı Optimize Etme ve Onarma
PhpMyAdmin'i Cloudways'de alamadığımız için, WordPress veritabanınızı WP-CLI kullanarak optimize etme ve onarma seçeneğine sahip olmak kullanışlıdır. wp db optimize ve wp db onarım kullanarak, veritabanınızı hızlandırabilir ve süreçlerini stabilize edebilirsiniz.
2. Saniyeler İçinde Alt Tema Oluşturma
Evet, ilgili style.css ve function.php ile manuel olarak yeni bir dizin oluşturup wp-content/themes içine yükleyerek bir alt tema oluşturabilirsiniz – ancak sizin için her şeyi halleden basit bir komut çalıştırabiliyorsanız neden canınız sıksın?
Artık spesifikasyonların değişip değişmediğini kontrol etmek için Codex'e bakmanıza gerek yok, artık SFTP oturum açma işlemleri ve dosya aktarımları yok. Komut satırında aşağıdaki komutu çalıştırmanız yeterlidir; alt temanız kullanıma hazırdır:
wp iskele alt teması SLUG –parent_theme=SLUG –theme_name=TITLE –author=FULL-NAME –author_uri=URI –theme_uri=URI –activate –force
Bu komutun varsayılan olarak alt temayı etkinleştireceğini unutmayın. Bunu yapmak istemiyorsanız, komutun sonunda “–activate –force” ifadesini atlayın.
3. Geliştirme Amaçlı Sahte İçerik Oluşturun
Tüm geliştiricilerin, geliştirme aşamalarında çalışmak için verilere ihtiyacı vardır. WP Yönetici panosunda gönderileri ve sayfaları manuel olarak oluşturmanız ve çoğaltmanız gerekmeseydi ne olurdu? WP-CLI basit bir komutla sizin için herhangi bir miktarda yapay veri oluşturabilseydi ne olurdu?
wp post create –count=10 komutunu çalıştırarak saniyeler içinde on demo gönderi oluşturabilirsiniz. Aynı işlevsellik, sayfalar, WooCommerce sahte veriler oluşturmak için çalışır ve hatta gönderilere lorem ipsum içerikleri eklemenize izin verir.
Sadece curl http://loripsum.net/api/4 | wp post create –post_content –count=10, her birinde dört paragraf Lorem Ipsum metni bulunan 10 gönderi oluşturacaktır.
Neden tmux'u Önerdim?
Umarım yukarıda verdiğim örnekler, Cloudways sunucularınızı korumak için SSH'yi denemeniz konusunda sizi heyecanlandırmak için yeterlidir. Bu makaleyi biraz daha ileri götüreyim ve SSH oturumlarımı yönetmek için neden tmux kullandığımdan bahsedeyim.
Kısacası, tmux aynı anda birden çok terminal oturumunu yönetmenize olanak tanır. Yani, bir tmux oturumundayken terminalde bir şey yaptığınızda, tmux ne yaptığınızı takip edecektir. Terminali yanlışlıkla kapatsanız bile oturumunuz kaybolmaz. Tek bir komutla kaldığınız yere geri dönebilir ve çalışmaya devam edebilirsiniz.
tmux ayrıca oturumları komut dosyası oluşturmanıza da olanak tanır. Örneğin, geliştirme ortamlarını kurmak için aynı komutları tekrar tekrar çalıştırma eğilimindeyseniz, bu komutları tmux kullanarak otomatikleştirebilirsiniz.
Dürüst olmak gerekirse, tmux'un sunduğu her şeyi öğrenip öğrenemeyeceğimden emin değilim - çünkü çok fazla. Google E-Tablolar veya MS Excel'e benzer - hepimiz bu araçların ne kadar güçlü olduğunu biliyoruz, ancak işlevlerinin muhtemelen %5'ini günlük olarak kullanıyoruz. Ancak, günlük WordPress geliştirmemde tmux kullanacak kadar bilgim var.
Videoda gördüğünüz gibi SSH oturumlarımı takip etmek için tmux kullanıyorum. Bu beni Cloudways sunucularıma tekrar tekrar giriş yapmaktan kurtarıyor. “Cloudways” adlı tmux oturumuna yeniden bağlanıyorum ve sunucularım üzerinde çalışmaya devam ediyorum. Hiçbir sihir söz konusu değil, ancak bu küçük ayar bile bana her gün zaman kazandırıyor. Aynısını evdeki özel Raspberry Pi'm için yapıyorum (boş zamanlarımda akıllı bir ev ineğiyim).
tmux havalı çünkü zamandan tasarruf etmenizi, daha üretken olmanızı ve gün boyunca el hareketlerinizi azaltmanızı sağlıyor. Eğer benim gibiyseniz, bilgisayar başında geçen uzun günlerden kolayca bilek ağrısı çekersiniz. Ergonomik bir fareyle bile, benim için gitmezdi. Yine de işe yarayan, ellerimle yaptığım hareketleri azaltmaktı.
Sağ eli klavyeden fareye sık sık değiştirmek, her zaman akışta bir kesinti gibi hissettirdi. Sağ elimi nereye koyacağımı düşünmek zorunda kaldım, bileğimde hafif bir gerginlik oldu ve yazı akışından çıktım. tmux ile, alıştıktan sonra neredeyse faresiz üretkenlik elde edebilirsiniz.
Tmux'un derinliklerine dalmayı çok isterdim ama bu, bu makalenin kapsamı dışındadır. Bunun yerine, sana tmux kullanmaya başlamanıza yardımcı veya becerilerinizi geliştirmek edeceğiz birkaç makale vereceğiz: Linuxize tarafından tmux başlarken, Keegan Lowenstein'a tarafından tmux kullanmanın yararları, ve Peter Jang tarafından tmux kullanarak minimalist kılavuzu.
