Bagaimana tmux Membantu Anda Mengelola Server Cloudways Anda melalui SSH

Diterbitkan: 2020-03-06
tmux
Ikuti @Cloudways

Artikel ini melengkapi dan memperluas video yang saya buat tentang penggunaan SSH dan tmux untuk mengelola server Cloudways saya. Dalam video, Anda dapat melihat saya menggunakan tmux untuk mengelola koneksi SSH ke beberapa server Cloudways dan menggunakan alat baris perintah htop untuk menganalisis beban server.

Anda dapat menonton video lengkapnya di sini:

Karena percakapan ini lebih dari sekadar apa yang saya bahas dalam video, saya ingin menulis artikel gratis ini dan memberikan lebih banyak wawasan tentang mengapa saya menggunakan tmux dan mengapa saya mengandalkan SSH untuk administrasi server.

Untuk memberi Anda sedikit latar belakang, saya bukan administrator server dengan pelatihan – bahkan pengembang web yang terlatih. Semua yang saya lakukan adalah otodidak. Bagi saya, belajar sambil melakukan adalah pendekatan favorit saya untuk memperoleh keterampilan atau mengatasi tantangan yang saya hadapi. Saya bukan teman pendidikan formal lagi (saya berhenti dari gelar master di bidang Keamanan TI) dan sebaliknya percaya untuk terlibat dengan teknologi untuk mendapatkan pemahaman tentang cara kerjanya.

Harap ingat pendekatan ini saat menonton video dan membaca artikel ini. Seperti yang akan Anda lihat, saya telah membagi artikel menjadi dua bagian. Masing-masing bisa menjadi artikel yang sangat panjang atau mungkin beberapa artikel tersendiri, tetapi saya pikir mereka cocok bersama dalam konteks ini.

  • Mengelola Server Anda melalui SSH
  • Mengapa Anda Harus Menggunakan Command-Line?
  • Kasus Penggunaan: Men-debug Beban Server Menggunakan htop
  • Kasus Penggunaan: Menggunakan WP-CLI di Server Cloudways
  • Mengapa Saya Merekomendasikan tmux?

Mengelola Server Anda melalui SSH

Salah satu keuntungan menggunakan Cloudways untuk hosting adalah Anda memiliki akses baris perintah ke server dan aplikasi Anda. Meskipun ini bukan akses root, Anda dapat melakukan banyak hal di baris perintah.

Dari sudut pandang saya, masuk akal bahwa saya tidak mendapatkan akses root ke server Cloudways saya. Bayangkan seperti apa memelihara server 20k jika setiap admin server menginstal alat dan paket mereka sendiri. Itu adalah prestasi yang mustahil untuk dicapai. Dengan ini dikatakan, Cloudways memberi kami akses ke WP-CLI dan banyak alat standar lainnya. Dan itu banyak untuk dikerjakan dalam memelihara server Anda dan tetap mendapat informasi tentang apa yang dilakukan server.

Butuh beberapa saat bagi saya untuk memahami manfaat mengelola server saya melalui SSH, tetapi sekarang saya tidak melihat cara lain untuk menangani masalah ini. Alasan utama saya untuk masuk ke baris perintah adalah:

  • Saya tidak perlu menunggu aplikasi web dimuat untuk melihat apa yang ingin saya lihat.
  • Login dikelola melalui kunci SSH, jadi saya tidak perlu memasukkan kata sandi saya jika tidak perlu.
  • Saya dapat menjaga sesi SSH tetap berjalan dan tidak perlu khawatir tentang masuk dan keluar.
  • Saya memiliki akses ke WP-CLI dan dapat melakukan hal-hal yang tidak dapat saya lakukan di dasbor Admin WP biasa.
  • Saya dapat mengotomatiskan eksekusi tugas menggunakan tugas dan skrip cron.
  • Saya tidak perlu memindahkan tangan saya dari keyboard untuk menggunakan mouse dan dapat membuatnya tetap santai.

Harap dicatat bahwa sebagai prasyarat, Anda harus menginstal beberapa bentuk klien SSH. Jika Anda menggunakan Linux atau Mac, Anda cukup menggunakan aplikasi Terminal yang sudah diinstal sebelumnya. Jika Anda adalah pengguna Windows seperti saya, Anda dapat menginstal Putty atau menggunakan Bash yang disertakan dengan Subsistem Windows untuk Linux (yang saya sukai).

Jika Anda tidak ingin menginstal perangkat lunak tambahan apa pun, Anda juga dapat membuka terminal SSH dari Cloudways Console tetapi itu bukan solusi yang saya sarankan untuk penggunaan sehari-hari. Seperti yang akan Anda lihat, keindahan dalam menggunakan antarmuka baris perintah adalah tidak perlu masuk ke aplikasi web seperti Cloudways Console.

Mengapa Anda Harus Menggunakan Command-Line?

Menggunakan baris perintah terasa sangat menakutkan pada awalnya. Itu berlaku untuk administrasi server seperti halnya untuk menggunakan baris perintah di PC atau Mac lokal saya. Sebagian besar pengetahuan saya tentang baris perintah berasal dari tutorial yang saya baca di Internet atau teman saya yang bekerja di Cisco. Ini semua belajar dengan melakukan.

Terutama ketika mengonfigurasi server atau layanan seperti server web atau cache sisi server, sangat mudah untuk merusak sesuatu. Tidak tahu apa yang saya lakukan dan tidak memiliki pengalaman menggunakan alat baris perintah tidak serta merta menginspirasi kepercayaan diri saya untuk mencoba mengelola server saya melalui SSH.

Saya akhirnya mabuk dan menemukan manfaat menggunakan baris perintah dengan mengikuti tiga aturan:

  1. Selalu ambil satu langkah pada satu waktu dan cobalah untuk memahami dengan tepat apa yang Anda lakukan dalam langkah ini.
  2. Selalu memiliki titik pemulihan atau cadangan jika Anda merusak sesuatu.
  3. Selalu uji di lingkungan yang aman dan jangan pernah menjalankan alat baris perintah di situs web langsung untuk pertama kalinya.

Dengan aturan itu, saya tahu bahwa tidak ada yang salah. Saya membuat versi pementasan situs web langsung saya di Cloudways menggunakan fungsionalitas " Klon " dan hanya mengikuti tutorial mereka masuk melalui SSH. Setelah masuk, saya mulai bermain-main dengan WP-CLI dan alat manajemen server sederhana lainnya seperti htop.

Jika Anda mengikuti pendekatan serupa, Anda harus berada dalam posisi yang baik untuk mempelajari cara menggunakan baris perintah dengan aman. Ini membantu untuk memiliki latar belakang dalam pengembangan atau TI tetapi saya tidak berpikir itu perlu. Cukup pikirkan baris perintah sebagai cara untuk berinteraksi dengan komputer Anda, seperti yang Anda lakukan dengan mouse di desktop. Khususnya dengan WP-CLI , mudah untuk mengambil langkah pertama di baris perintah dan melihat hasilnya di dasbor Admin WP Anda.

Kasus Penggunaan: Men-debug Beban Server Menggunakan htop

Dalam video, Anda akan melihat bahwa saya menggunakan alat htop untuk menganalisis penggunaan sumber daya server. htop adalah alat standar yang memberi Anda wawasan tentang apa yang sedang terjadi di server Anda secara real-time. Mengingat bahwa data pemantauan Platform Cloudways terkadang mengalami sedikit keterlambatan, sangat berguna untuk mempelajari lebih lanjut tentang penggunaan htop .

Setiap kali bot Cloudways memberi tahu saya bahwa penggunaan CPU atau RAM melonjak, saya masuk ke server masing-masing melalui SSH dan menjalankan htop. Dalam hitungan detik, saya dapat mengidentifikasi proses dan aplikasi yang menghabiskan sumber daya. Apa yang saya perlukan satu atau dua menit menggunakan platform web Cloudways dilakukan dalam 10-20 detik.

Seperti inilah tampilan htop dalam praktiknya:

htop

Proses debug kemudian adalah untuk mengidentifikasi aplikasi yang menggunakan jumlah yang tidak biasa dari sumber daya server melalui htop dan memeriksa aplikasi itu secara lebih rinci. Jika Anda melihat proses PHP dari aplikasi itu menggunakan CPU atau RAM, Anda tahu bahwa itu mungkin sesuatu yang terkait dengan plugin WP atau tema Anda. Seringkali proses yang dijadwalkan melalui WP-Cron menumpuk dan sekarang dieksekusi sekaligus, sehingga membebani server Anda.

Jika Anda melihat proses MySQL atau MariaDB mengambil sumber daya server, Anda tahu bahwa Anda tidak perlu melihat ke dalam plugin atau tema tetapi ke dalam database. Saya telah melihat database kehilangan indeksnya dan dengan demikian menyebabkan kueri SQL berjalan sangat lambat. Perlu waktu lama bagi Anda untuk mengidentifikasi sumber masalah jika Anda tidak tahu apakah itu PHP atau MySQL yang menyebabkan masalah.

Seperti yang dapat Anda bayangkan, ini hanyalah puncak gunung es dari apa yang dapat dilakukan htop. Berikut adalah daftar contoh htop praktis yang membawa contoh saya ke tingkat berikutnya.

Kasus Penggunaan: Menggunakan WP-CLI di Server Cloudways

Mengetahui cara menggunakan WP-CLI dapat menjadi pengubah permainan sejati untuk pendekatan pengembangan harian Anda. Menginstal WP vanilla tanpa menggerakkan mouse? Tidak masalah. Menghapus semua transien dengan menginstal plugin tambahan? Mudah. Menganalisis kait mana yang paling memperlambat waktu pemuatan situs web Anda? Anda dapat melakukannya dengan WP-CLI juga.

Sungguh menakjubkan bahwa Cloudways memberi kami akses ke WP-CLI melalui baris perintah. Anda dapat dengan mudah membuat alat yang menginstal tumpukan dan tema plugin WordPress default Anda. Atau Anda dapat menggunakan WP-CLI untuk mengunduh cadangan basis data situs Anda dalam hitungan detik atau menit (yah, itu tergantung pada ukuran basis data Anda).

Inilah tangkapannya: Anda harus menggunakan baris perintah untuk mengakses WP-CLI. Dan dengan demikian Anda harus masuk ke server Anda melalui SSH untuk menjalankan perintah WP-CLI di situs web yang dihosting Cloudways Anda.

Jika tidak ada alasan lain bagi Anda untuk membiasakan diri dengan baris perintah dan mulai menggunakan SSH untuk mengelola server Anda, WP-CLI seharusnya. Biarkan saya memberi Anda tiga contoh yang layak untuk dicoba:

1. Mengoptimalkan dan Memperbaiki Basis Data Anda

Karena kami tidak mendapatkan PhpMyAdmin di Cloudways, memiliki opsi untuk mengoptimalkan dan memperbaiki database WordPress Anda menggunakan WP-CLI sangat berguna. Dengan menggunakan wp db optimize dan wp db repair , Anda dapat mempercepat dan menstabilkan proses database Anda.

2. Membuat Tema Anak Dalam Beberapa Detik

Ya, Anda dapat membuat tema anak dengan membuat dan mengunggah direktori baru secara manual dengan masing-masing style.css dan functions.php ke dalam wp-content/themes – tetapi mengapa repot jika Anda dapat menjalankan perintah sederhana yang menangani semuanya untuk Anda?

Tidak ada lagi melihat Codex untuk memeriksa apakah spesifikasi berubah, tidak ada lagi login SFTP dan transfer file. Jalankan saja perintah berikut di baris perintah dan tema anak Anda siap digunakan:

wp scaffold child-theme SLUG –parent_theme=SLUG –theme_name=TITLE –author=NAMA LENGKAP –penulis_uri=URI –theme_uri=URI –aktifkan –force

Perhatikan bahwa perintah ini akan mengaktifkan tema anak secara default. Jika Anda tidak ingin melakukannya, hilangkan “–activate –force” di akhir perintah.

3. Buat Konten Dummy untuk Tujuan Pengembangan

Semua pengembang memerlukan data untuk digunakan selama fase pengembangan mereka. Bagaimana jika Anda tidak perlu membuat dan menduplikasi posting dan halaman secara manual di dasbor Admin WP? Bagaimana jika WP-CLI dapat membuat sejumlah data dummy untuk Anda dengan perintah sederhana?

Dengan menjalankan wp post generate –count=10 Anda dapat menghasilkan sepuluh posting demo dalam hitungan detik. Fungsionalitas yang sama berfungsi untuk membuat halaman, data dummy WooCommerce, dan bahkan memungkinkan Anda menambahkan konten lorem ipsum ke postingan.

Cukup menggunakan curl http://loripsum.net/api/4 | wp post generate –post_content –count=10 akan membuat 10 posting yang masing-masing memiliki empat paragraf teks Lorem Ipsum.

Mengapa Saya Merekomendasikan tmux?

Saya harap, contoh yang saya berikan di atas cukup membuat Anda bersemangat mencoba SSH untuk memelihara server Cloudways Anda. Biarkan saya membawa artikel ini sedikit lebih jauh dan berbicara tentang mengapa saya menggunakan tmux untuk mengelola sesi SSH saya.

Singkatnya, tmux memungkinkan Anda mengelola beberapa sesi terminal sekaligus. Artinya, ketika Anda melakukan sesuatu di terminal saat Anda berada dalam sesi tmux, tmux akan melacak apa yang Anda lakukan. Bahkan jika Anda tidak sengaja menutup terminal, sesi Anda tidak akan hilang. Anda cukup kembali ke tempat Anda tinggalkan dengan satu perintah dan terus bekerja.

tmux juga memungkinkan Anda membuat sesi skrip. Misalnya, jika Anda cenderung menjalankan perintah yang sama untuk menyiapkan lingkungan pengembangan berulang kali, Anda dapat mengotomatiskan perintah tersebut menggunakan tmux.

Sejujurnya, saya tidak yakin apakah saya akan pernah mempelajari semua yang ditawarkan tmux – hanya karena begitu banyak. Ini mirip dengan Google Spreadsheets atau MS Excel - kita semua tahu betapa hebatnya alat-alat itu tetapi menggunakan mungkin 5% dari fungsinya setiap hari. Namun, saya cukup tahu untuk menggunakan tmux dalam pengembangan WordPress harian saya .

Seperti yang Anda lihat di video, saya menggunakan tmux untuk melacak sesi SSH saya. Itu menyelamatkan saya dari masuk ke server Cloudways saya lagi dan lagi. Saya baru saja melampirkan kembali ke sesi tmux yang disebut "Cloudways" dan terus bekerja di server saya. Tidak ada sihir yang terlibat, tetapi bahkan tweak kecil ini menghemat waktu saya setiap hari. Saya melakukan hal yang sama untuk Raspberry Pi pribadi saya di rumah (saya seorang kutu buku rumah pintar di waktu luang saya).

tmux keren karena memungkinkan Anda menghemat waktu, menjadi lebih produktif, dan mengurangi gerakan tangan Anda sepanjang hari. Jika Anda seperti saya, Anda dengan mudah mendapatkan sakit pergelangan tangan dari hari-hari yang panjang di PC. Bahkan dengan mouse ergonomis, itu tidak akan hilang untuk saya. Apa yang berhasil, adalah mengurangi gerakan yang saya buat dengan tangan saya.

Mengganti tangan kanan dari keyboard ke mouse sering kali selalu terasa seperti gangguan dalam aliran. Saya harus memikirkan di mana harus meletakkan tangan kanan saya, ada sedikit ketegangan di pergelangan tangan dan saya keluar dari arus menulis. Dengan tmux, Anda dapat mencapai produktivitas yang hampir tanpa mouse setelah Anda menguasainya.

Saya ingin menyelam lebih dalam ke tmux, tetapi itu di luar cakupan artikel ini. Sebagai gantinya, saya akan memberikan beberapa artikel yang akan membantu Anda memulai dengan tmux atau meningkatkan keterampilan Anda: Memulai dengan tmux oleh Linuxize, Manfaat menggunakan tmux oleh Keegan Lowenstein, dan Panduan minimalis untuk menggunakan tmux oleh Peter Jang.