لقد انتهى تعلم Springboot أخيرًا ، لكنه لا يزال يتركنا سؤالاً ، أي كيف ينبغي نشر البرنامج على خادم Linux؟ هل سيتم إيقاف تشغيل البرنامج إذا تم فصل SSH بعد بدء البرنامج مع الأمر؟ المشكلة الأولى أسهل في حلها. ما عليك سوى التأكد من تثبيت JDK بشكل صحيح ولن تكون هناك مشاكل كبيرة. المشكلة الصعبة هي الأخيرة. مفتاح حل المشكلة هو التأكد من أن البرنامج يعمل في عملية الخفي (الخلفية). هذه المرة سوف أشارك كيفية نشر البرامج بشكل صحيح تحت Linux
من أجل حل هذه المشكلة ، راجعت المعلومات على الإنترنت ووجدت الحلول الثلاثة التالية
1 حزمة جرة في خدمة النظام (غير موصى بها)
إن عيب هذه الطريقة واضح أيضًا ، أي أن الخدمة عرضة لعدم بدء تشغيلها ، لأن توزيعات Linux المختلفة لها اختلافات أكثر أو أقل إلى حد ما.
2 استخدم أمر nohup للتعاون مع Kill -9 xxx
من الأسهل قبول هذه الطريقة وهي أيضًا حل وسط ، ولكن سيكون من المزعج أكثر إزعاجًا للبرنامج واستخدام الأمر للعثور على العملية ثم استخدام Kill -9.
3 استخدم الشاشة ، tmux ، إلخ (موصى بها)
بالنظر إلى هذه الطريقة بشكل شامل ، فهي أكثر علمية لأنها توفر واجهة موحدة والوظائف المقابلة لإدارة جلسات متعددة ، والتي من الأسهل تشغيلها. العيب هو أنه يتطلب القليل من تكلفة التعلم.
أوامر TMUX شائعة الاستخدام:
$ tmux new -s session -name إنشاء جلسة جديدة
$ tmux A -T -tame -name الوصول إلى الجلسة المحددة
$ tmux detach /$ ctrl-b d افصل الجلسة الحالية
$ tmux Kill-Session -t-tame-name أغلق الجلسة
$ tmux ls عرض جميع الجلسات
أوامر الشاشة الشائعة:
$ screen -s -name -name -name إنشاء جلسة جديدة
$ screen -r رقم جلسة أو اسم للوصول إلى جلسة الجلسة/إعادة الاتصال المحددة
$ screen -ls عرض جميع الجلسات
CTRL+AB افصل الجلسة الحالية
CTRL+AK
فيما يلي خلافاتهم. على الرغم من أن TMUX أكثر تقدمًا ، إلا أن كيفية الاختيار تعتمد على عادات استخدام الجميع
Tmux يشبه إلى حد كبير الشاشة ، ولكنه أفضل من الشاشة. للسؤال عن مكان الأشياء الجيدة ، فإن الإجابة البسيطة هي أنه على الرغم من أن وظائف الشاشة هي نفسها ، إلا أن TMUX مصممة بشكل أفضل. الشاشة متوفرة ، ولكن ليست مستقرة.
فيما يلي بعض الأماكن التي تتجاوز فيها Tmux الشاشة:
Springboot أكثر ملاءمة لاستخدام Maven للحزم. تحقق من تكوين pom.xml عند التغليف للتأكد من وجود التكوينات التالية:
<Build> <uccedins> <sucplin> <roupiD> org.springframework.boot </rougeid> <StifactId> Spring-boot-maven-plugin </stifactid> <soction> <!-Fork: بدون هذا التكوين ، لن يعمل devtools ، وهذا هو ، لن يعيد التطبيق-> <fork> <evelopmable> true </evelopmable> </ispification> </spliexin> </sugionins> lt ؛/build>
فقط استخدم تثبيت Maven للتغليف. إذا نجحت الحزمة في العثور على الجرة المقابلة وإعادة تسميتها ، فقم بتحميلها على خادم Linux للترخيص.
وبهذه الطريقة ، يتم بدء التطبيق ، حتى إذا تم إغلاق سطر الأوامر أو فصله عن SSH ، فلن يؤثر ذلك على التشغيل العادي للبرنامج.
قطع الاتصال
بعد الانتهاء من الجلسة ، يتم إيقاف البرنامج ، كما هو موضح أدناه
يشبه استخدام الشاشة TMUX. لقد تم ممارسته هنا ، لذلك أقوم بنشر البرنامج لتشغيله في الخلفية. تأثير اختيار الشاشة و tmux متشابه.
ملاحظة: فيما يلي وصف لنشر الربيع في Linux
أولاً ، تقوم Maven بتنظيف المشروع ، ثم يقوم Maven بتثبيته في حزمة JAR في المشروع ، ثم حذف الإصدار السابق من العملية على Linux.
تحقق من الأمر ps -ef | جريب جافا
قتل عملية قتل -9 رقم العملية
قم بتشغيل مشروع SPRING -BOOT مباشرة NOHUP JAVA -JAR SINOCUBE.JAR واستخدم NOHUP لتنتهي مع &
يعود NoHup إلى ملفات سجل الإخراج. يمكن لملف السجل تخصيص اسم الملف ، الافتراضي هو nohup.nohup.out
cat nohup.out عرض سجل nohup.out هو اسم الملف tailf nohup.out عرض السجل في الوقت الحقيقي