Pengalaman saya dengan Plesk

Saya ingin berbagi beberapa kesan tentang perlu atau tidaknya hal seperti panel kontrol untuk proyek web server tunggal komersial dengan administrator paruh waktu. Ceritanya dimulai beberapa tahun yang lalu, ketika teman dari teman meminta saya untuk membantu pembelian sebuah bisnis - situs berita - dari sudut pandang teknis. Penting untuk mempelajari sedikit tentang apa yang sedang dikerjakan, memastikan bahwa semua detail yang diperlukan ditransfer dalam bentuk dan volume yang tepat, dan secara strategis mencari tahu apa yang dapat ditingkatkan.

Pengalaman saya dengan Plesk
Kesepakatan telah selesai, pemain biola tidak lagi dibutuhkan. Akhir. Tidak terlalu.

Situs ini berjalan pada VM dual-core 4-GB di Linode, pada beberapa Debian5 yang berlumut dengan waktu aktif 400 hari dan daftar paket yang belum diperbarui. Komponen web pada CMS yang ditulis sendiri, nginx, php5.3 FPM, Percona yang disetel mysql. Pada prinsipnya, itu berhasil.

Sejalan dengan percakapan dengan saya, pemilik baru sedang mencari seorang programmer untuk membawa proyek sesuai harapan. Ditemukan. Pemrogram menilai lalu lintas dan volume dan memutuskan bahwa dia tahu cara mengoptimalkan dan manajemen biaya. Dia memigrasikan seluruh situs ke hosting bersama seharga 700 rubel yang dikelola oleh IS****er biasa. Beberapa hari kemudian ada telepon lain dari pemiliknya: β€œsemuanya lambat dan sepertinya kami rusak.” Saya mencoba memperbaiki situasi melalui panel, tetapi setelah beberapa kali upaya sia-sia untuk mengubah versi atau handler PHP dari fcgi ke fpm, saya menyerah dan masuk ke shell. Di sana saya menemukan debug yang diaktifkan yang bersinar di seluruh Internet dengan kata sandi dari otot, 777 pada beberapa folder yang pada saat itu telah diretas dengan malware dan omong kosong serupa. Pemiliknya menyadari dan memutuskan bahwa menghemat hosting, programmer, dan admin yang bisa mengawasi keadaan adalah salah.

Kami akan pergi ke RuVDS. Sedikit lebih dekat daripada Linode Inggris, dan jika Anda tiba-tiba ingin menyimpan data pribadi dan sebagainya, Anda tidak perlu pindah ke tempat lain. Karena proyek ini direncanakan untuk diperluas, kami mengambil VM untuk pertumbuhan: 4 core, memori 8 gigabyte, disk 80GB. Bukannya saya tidak tahu cara mengkonfigurasi konfigurasi nginx secara manual, saya hanya tidak memiliki antusiasme untuk mengerjakan proyek ini secara mendalam (lihat di atas tentang paruh waktu). Itu sebabnya saya menginstal Plesk (di sini saya akan menghilangkan detail instalasi, karena pada umumnya tidak ada: saya meluncurkan penginstal, mengatur kata sandi untuk admin, memasukkan kunci - itu saja), saat itu 17.0. Pengaturan dasar berfungsi dengan baik, ada fail2ban dan versi terbaru PHP dan nginx. 

Mungkin ada baiknya untuk berhenti dan menjelaskan alasannya. Karena saya jarang melakukan hal seperti itu, dan saya tidak memiliki alat atau rangkaian persiapan khusus untuk setiap kasus, jelas diperlukan semacam otomatisasi pada hal-hal mendasar, sehingga pertama, cepat, kedua, aman, dan ketiga. , semua praktik terbaik telah diterapkan seseorang.

Jadi, saya menginstalnya. Saya menghemat banyak waktu, memulai ulang situs di server baru hampir seketika. Yang tersisa hanyalah mengedit konfigurasi otot, memberinya setengah memori dan menambah jumlah buffer pool, dan memberikan nginx setengah inti (Plesk tidak menyentuh konfigurasi global), dan selama beberapa hari masuk ke shell untuk melihat di statistik mysqltuner. Ya, dan saya membeli ImunifyAV berbayar dari katalog ekstensi untuk menghilangkan malware yang membanjir. Sekitar 11000 file yang terinfeksi ditemukan. Kekejiannya adalah potongan kode yang dikaburkan dituangkan ke dalam statika, dan membersihkannya dengan tangan akan sangat membosankan. Pertama saya coba ClamAV, tapi ternyata tidak bisa, tapi ImunifyAV bisa. Selain itu, file yang didesinfeksi tetap dalam kondisi berfungsi; bagian yang berisi malware akan dihapus begitu saja.

Perhitungannya sederhana: $50 per bulan untuk VMka, $10 untuk Plesk (sebenarnya lebih murah, karena Anda membelinya selama setahun sekaligus dengan diskon dua bulan) dan $3 untuk antivirus. Atau banyak uang untuk waktu saya, yang pada awalnya akan saya habiskan di server, mengumpulkan istal ini secara manual. Pemiliknya cukup senang dengan pengaturan ini.

Pengalaman saya dengan Plesk
Sementara itu, mereka menemukan programmer baru. Kami setuju dengannya mengenai pembagian tanggung jawab, membuat subdomain untuk versi pengujian, dan pekerjaan dimulai. Dia sedang memotong versi baru situs di Laravel, dan saya melihat fail2ban%).

Pengalaman saya dengan Plesk
Menariknya, arus orang penasaran tidak berhenti dan selalu ada sekitar seratus alamat dalam daftar yang diblokir. Efeknya menarik: khususnya, biasanya, jika saya masuk ke shell, saya melihat sekitar 20000-30000 upaya gagal untuk masuk melalui SSH di ucapan. Dengan fail2ban diaktifkan, sekitar 70. Upaya yang diinvestasikan: 0. Sayangnya, ini bukan tanpa setetes pun salep. Secara default, WAF (modsecurity) diaktifkan setengahnya: dalam mode penemuan. Artinya, dia menulis aktivitas mencurigakan ke log, namun sebenarnya tidak mengambil tindakan. Dan fail2ban tanpa pandang bulu membaca semua log, sesuai dengan penjara yang diaktifkan, dan membunuh semua yang bergerak. Jadi, kami melarang setengah dari editor :D. Saya harus menonaktifkan jail ini, dan memasukkan alamat IP yang diperlukan ke daftar putih untuk keandalan. Upaya yang diinvestasikan: colek mouse dua kali dan ajarkan editor untuk memberi tahu Anda alamat IP Anda.

Pengalaman saya dengan Plesk
Yang langsung disukai programmer adalah kemampuan mengunggah database langsung ke panel dan akses cepat ke phpMyAdmin

Pengalaman saya dengan Plesk
Yang saya suka adalah log dan cadangannya. Log ditulis dan diputar di luar kotak; Cadangan sangat mudah diatur. Pada waktu yang paling lambat, pencadangan penuh dibuat, sekitar 10 gigs, dan kemudian setiap hari dilakukan pencadangan tambahan, masing-masing 200 megabita, selama seminggu. Pemulihan bersifat granular, hingga ke file atau database tertentu. Jika Anda perlu memulihkan dari yang inkremental, maka Anda tidak perlu repot-repot terlebih dahulu melakukan pemulihan penuh dan seluruh rantai, Plesk melakukan semuanya sendiri. Anda dapat mengunggah cadangan di mana saja: ke FTP, dropbox, s3 bucket, google drive, dll.

Pengalaman saya dengan Plesk
Hari F: programmer akhirnya menyelesaikan mesin baru, kami mengunggahnya ke produksi, mengimpor data lama dan duduk untuk memilih warna Maserati masa depan kami. Kami masih duduk dan memilih.

Masalah pertama dimulai. Situs baru ini diperkirakan lebih berat daripada situs lama, namun keuntungan sebenarnya adalah untuk menarik lalu lintas, mereka menggunakan, antara lain, Yandex.Zen, yang mendatangkan banyak pengunjung. Situs mogok dengan 150 koneksi simultan (saya tidak berbicara tentang RPS, karena mereka tidak mengukurnya). Kami mulai menekan tombol dan memutar kenop di area pengaturan php_fpm:
 
Pengalaman saya dengan Plesk
Hei, dia sudah punya 500 koneksi. Ketika kartu kredit ditambahkan ke sarana promosi, gelombang lalu lintas menjadi lebih besar. Tonggak sejarah berikutnya adalah 1000 koneksi simultan. Di sini kami harus menyempurnakan kode dan melihat inti dari ototnya. Percikannya tidak membantu, tapi kami tidak terlalu menduganya. Kami mengaktifkan log kueri lambat, menambahkan indeks ke database, menghapus kueri yang tidak perlu dari kode, dan sekali lagi membersihkan konfigurasi mysql sesuai dengan saran dari mysqltuner.

Tantangan baru - 2000 koneksi. Plesk versi 17.8 baru saja dirilis, yang antara lain telah ditambahkan nginx caching. Diperbarui (sangat mudah). Mari mencoba. Berhasil! Dan kemudian mereka menginjak sisi lunaknya, umpan Yandex.Zen berhenti bekerja. Situs berfungsi, feed tidak berfungsi. Umpannya tidak berfungsi, tidak ada lalu lintas. Suasana memanas. Di bawah tekanan keadaan dan kurangnya imajinasi, saya segera pergi ke strace dan nginx dan menemukan apa yang saya cari. Ternyata pada suatu saat nginx bodoh menyimpan kesalahan ke-500 yang tersesat sebagai respons terhadap Yandex get feed.xml. Memperbaikinya dengan menambahkan pengecualian pada pengaturan cache:

Pengalaman saya dengan Plesk
Yang jelas pemiliknya butuh LEBIH BANYAK, perlahan ombaknya semakin meningkat. Kami sedang mengatasinya untuk saat ini, namun kami mulai bereksperimen dengan memcached terlebih dahulu, untungnya Laravel mendukungnya hampir secara langsung. Saya entah bagaimana tidak ingin menginstal memcached secara manual hanya untuk "bermain-main", jadi saya menginstal gambar buruh pelabuhan. Langsung dari panel.

Pengalaman saya dengan Plesk
Baiklah, saya bohong, saya harus masuk ke shell dan menginstal modul melalui pecl. Benar Instruksi. Belum ada yang bisa dikatakan tentang peningkatan keluaran; arus masuknya belum cukup besar. Mesin situs terhubung ke localhost:11211, statistik ditampilkan, memori dikonsumsi. Jika Anda menyukainya, kita akan lihat apa yang harus dilakukan selanjutnya. Entah kita akan membiarkannya seperti itu, atau kita akan menempatkan yang β€œasli” tepat di Axis. Atau mari kita coba redis dengan cara yang sama

Maka perlu melampirkan milis. Tidak ada relay, hanya otentikasi smtp. Saya menyiapkan alamat surat dan menggunakan detailnya untuk mengirimkan buletin melalui PHP.

Pengalaman saya dengan Plesk
Belum lama ini Plesk Obsidian (18.0) dirilis, kami memperbarui berdasarkan pengalaman masa lalu tanpa rasa takut. Semuanya berjalan sangat lancar, bahkan tidak ada yang perlu dibicarakan. Hal yang menyenangkan adalah kualitas antarmuka telah meningkat pesat, menjadi lebih modern dan menjadi lebih nyaman di beberapa tempat. Hal kerennya Pemantauan Tingkat Lanjut di Grafana.

Pengalaman saya dengan Plesk
Saya belum membahasnya secara mendetail, tetapi Anda dapat, misalnya, mengatur peringatan untuk parameter apa pun di email Anda. Kepada pemiliknya, haha.

Meskipun saya berbicara tentang antarmukanya, ia responsif dan berfungsi dengan sangat baik di telepon. Pada tahap awal, ketika kami mencoba menemukan pengaturan optimal untuk PHP dan hal lainnya, hal ini sangat membantu. Dan terutama ketika seorang programmer, karena semangat kerja, melakukan sesuatu pada pukul 23:XNUMX, dan saya, karena semangat kerja, minum vodka di pemandian, dan saya SANGAT perlu mengganti sesuatu.

Pengalaman saya dengan Plesk
Oh ngomong - ngomong. Gambar tersebut menunjukkan PHP Composer telah muncul. Kami belum pernah mencobanya, tapi, katakanlah, untuk Laravel, ini dapat menghemat beberapa login shell dan beberapa waktu dalam menginstal dependensi. Sistem yang sama ada untuk Node.JS dan Ruby.

Dengan SSL semuanya menjadi sederhana. Jika domain terselesaikan seperti yang diharapkan, Let's Encrypt dilakukan dalam satu klik dan kemudian memperbarui dirinya sendiri, baik untuk domain itu sendiri, dan untuk subdomain, dan bahkan layanan email.

Pengalaman saya dengan Plesk
Plesk sendiri sebagai software saat ini cukup menyenangkan dan stabil. Ia memperbarui dirinya sendiri dan Axis secara diam-diam, menghabiskan sedikit sumber daya, dan bekerja dengan lancar. Saya bahkan tidak ingat bahwa saya menginjak sesuatu di suatu tempat, yang jelas merupakan cacat pada produk. Tentu saja ada masalah, tapi itu mungkin karena konfigurasi yang tidak sempurna atau di persimpangan, jadi tidak ada yang perlu dikeluhkan. Kesan bekerja dengan Plesk umumnya menyenangkan. Apa yang tidak dimilikinya, dan kita perlu memahaminya, adalah pengelompokan (apa pun). Baik LB maupun HA. Anda dapat mencobanya, tetapi upaya yang diperlukan akan sangat besar sehingga lebih baik melakukan sesuatu yang berbeda dari awal.

Saya pikir kita bisa menyimpulkannya. Untuk kasus ketika tidak ada administrator, atau jumlahnya tidak mencukupi, ketika harga hosting dan situs yang berputar di dalamnya melebihi, katakanlah, 100 USD, ketika kita tidak berbicara tentang pembagian binatang sebesar 1500 situs di server, ketika pengambil keputusan dihadapkan pada Jika Anda memiliki pilihan untuk mempekerjakan admin paruh waktu, atau membeli perangkat lunak dan memiliki admin dengan harga setengah dolar, atau tidak memiliki admin sama sekali - itu pasti masuk akal. Dari sudut pandang administrator jarak jauh - hal yang sama. $10 per bulan, dan menghemat waktu serta memberikan fleksibilitas dalam bekerja untuk waktu yang sangat lamaΠΎjumlah yang lebih besar. Jika, misalnya, saya sangat diminta untuk mengambil proyek serupa di bawah sayap saya, saya akan bersikeras untuk mentransfernya ke Plesk.

Pengalaman saya dengan Plesk

Sumber: www.habr.com

Tambah komentar