Pembelajaran Springboot akhirnya berakhir, tetapi masih meninggalkan kita dengan pertanyaan, yaitu, bagaimana seharusnya program tersebut digunakan di server Linux? Apakah program akan ditutup jika SSH terputus setelah memulai program dengan perintah? Masalah pertama lebih mudah dipecahkan. Anda hanya perlu memastikan bahwa JDK dipasang dengan benar dan tidak akan ada masalah besar. Masalah yang sulit adalah yang terakhir. Kunci untuk menyelesaikan masalah adalah memastikan bahwa program berjalan dalam proses daemon (latar belakang). Kali ini saya akan membagikan cara menggunakan program dengan benar di bawah Linux
Untuk mengatasi masalah ini, saya memeriksa informasi di internet dan menemukan 3 solusi berikut
1 Paket Guci ke Layanan Sistem (tidak disarankan)
Kerugian dari metode ini juga cukup jelas, yaitu, layanan ini cenderung tidak dimulai, karena distribusi Linux yang berbeda memiliki lebih atau kurang perbedaan pada tingkat yang sama.
2 Gunakan perintah nohup untuk bekerja sama dengan kill -9 xxx
Metode ini lebih mudah diterima dan juga merupakan kompromi, tetapi akan lebih merepotkan untuk menghentikan program dan menggunakan perintah untuk menemukan proses dan kemudian menggunakan kill -9.
3 Gunakan layar, tmux, dll. (Disarankan)
Mempertimbangkan metode ini secara komprehensif, ini lebih ilmiah karena menyediakan antarmuka terpadu dan fungsi yang sesuai untuk mengelola banyak sesi, yang lebih mudah dioperasikan. Kerugiannya adalah membutuhkan sedikit biaya belajar.
Perintah tmux yang biasa digunakan:
$ tMux -ne baru -S -nama sesi membuat sesi baru
$ tmux a -t -nama sesi -nama ke sesi yang ditentukan
$ tmux detach /$ ctrl-b d lepaskan sesi saat ini
$ tmux kill-sesi -t sesi-name tutup sesi
$ tmux ls menunjukkan semua sesi
Perintah Layar Umum:
$ layar -nama jendela membuat sesi baru
$ layar -r nomor atau nama sesi untuk mengakses sesi/sesi kembali yang ditentukan
$ screen -ls menunjukkan semua sesi
Ctrl+ab memisahkan sesi saat ini
CTRL+AK
Berikut ini adalah perbedaan mereka. Meskipun tmux lebih maju, bagaimana memilih tergantung pada kebiasaan penggunaan semua orang
Tmux sangat mirip dengan layar, tetapi lebih baik dari layar. Untuk bertanya di mana hal -hal baik berada, jawaban sederhananya adalah bahwa meskipun fungsi layar sama, TMUX dirancang lebih baik. Layar tersedia, tetapi tidak stabil.
Berikut adalah beberapa tempat di mana tmux melampaui layar:
Springboot lebih nyaman untuk menggunakan Maven untuk dikemas. Periksa konfigurasi pom.xml saat kemasan untuk memastikan bahwa ada konfigurasi berikut:
<Build> <Plugin> <Plugin> <GroupId> org.springframework.boot </groupid> <ArTifactId> spring-boot-maven-plugin </t Artifactid> <configururation> <!-FORK: Tanpa konfigurasi ini, devtool tidak akan berfungsi, yaitu aplikasi tidak akan dipulihkan-<fork> fork> fork> fork> fork fork> fork>-yaitu, aplikasinya tidak akan dipulihkan-<fork> fork> fork> fork fork> fork fork> fork fork> fork> fork fork> fork> fork> fork! <Eksekutable> true </executable> </configuration> </plugin> </lugin> lt;/build>
Cukup gunakan Maven Instal untuk kemasan. Jika paket berhasil menemukan toples yang sesuai dan mengganti nama, unggah ke server Linux untuk otorisasi.
Dengan cara ini aplikasi dimulai, bahkan jika baris perintah ditutup atau terputus dari SSH, itu tidak akan mempengaruhi operasi normal program.
Memutuskan
Setelah sesi selesai, program shutdown, seperti yang ditunjukkan di bawah ini
Penggunaan layar mirip dengan Tmux. Itu telah dipraktikkan di sini, jadi saya menggunakan program untuk berjalan di latar belakang. Efek pemilihan layar dan tmux serupa.
PS: Berikut adalah deskripsi penyebaran boot pegas di Linux
Pertama, Maven membersihkan proyek, lalu Maven menginstalnya ke paket JAR pada proyek, dan kemudian menghapus versi sebelumnya dari proses di Linux.
Periksa perintah ps -ef | Grep Java
Bunuh Proses Membunuh -9 Nomor Proses
Jalankan Proyek Boot Pegas Langsung NoHup Java -Jar Sinocube.Jar & Gunakan Nohup untuk mengakhiri dengan &
Nohup kembali ke file log output. File log dapat menyesuaikan nama file, default adalah nohup.nohup.out
cat nohup.out view log nohup.out adalah nama file tailf nohup.out view log dalam waktu nyata