Linux中java應用程序的部署,使其開機自動啟動


初步需求:將在Windows/MyEclipse中開發的java應用程序部署到Linux服務器上,使其運行

 

針對需求,可以參考下面這些文章,但是這些文章很多東西沒有提及到,我自己嘗試部署運行

在linux下利用nohup來后台運行java程序    http://blog.csdn.net/lzzyok/article/details/7177293

在linux下利用腳本啟動java程序    http://blog.csdn.net/hbcui1984/article/details/1670775

在linux下利用腳本啟動java程序    http://blog.csdn.net/catoop/article/details/8297221

 

測試:

windows下,MyEclipse中新建一個簡單的Java項目Hello

代碼如下:

 1 package com.test;
 2 
 3 public class HelloWorld {
 4     
 5     public static void main(String[] args) {
 6         
 7         System.out.println("測試success");
 8         
 9     }
10 
11 }

此應用程序沒有引用其他jar包或配置文件

 

Linux服務器

首先,必須在Linux服務器上搭建運行Java應用程序的環境

1.安裝JDK,配置環境變量 

2.將Java應用程序打包、上傳

    將上述project打包為Test.jar ,在windows命令行控制台中使用【java -jar Test.jar】命令運行該程序,查看運行結果是否正確;若沒有問題,將該jar文件上傳至Linux服務器上,再次使用該命令測試一下

3.編寫控制Java應用程序運行的腳本文件run.sh

1 java -classpath ../lib/HelloWorld.jar com.test.HelloWorld

4.運行腳本文件run.sh,觀察Java應用程序的運行情況

 

=================================================================================

 

進階部分:

前述內容只是簡單的測試,現項目測試階段,需要將在MyEclipse上初步開發完畢的Java應用程序部署到Linux服務器上,需求如下:

(1)使用.sh腳本文件控制java程序的啟動、停止、重啟、查看狀態

需求升級:

(2)將java程序部署為開機自動啟動,使用service hello status/stop等命令控制程序的啟動、停止、重啟、查看狀態

 

我是參考下面幾篇文章實現的

Linux中部署JAVA程序

http://www.linuxidc.com/Linux/2013-09/90673.htm

 

設置Linux自啟動服務

http://just4java.iteye.com/blog/474392

 

===================================================

注:因為剛接觸Linux,根據需求,一開始只找到紅色標注的第一篇文章,這個能看懂,也因此解決了需求(1)

但是當我想解決需求(2)的時候,相當不順利,我查了很長時間的資料,沒發現什么實質性的東西,后來突然間看到紅色標注的第二篇文章,至此問題解決了

 

紅色標注的兩篇文章相結合,即可解決上述兩個需求

===================================================

 

大家也可以再看看下面這幾篇文章,很多地方與前面的文章大同小異

 

在CentOS中init.d service 開機時自動啟動腳本        注:其實這篇文章也應該可以解決上述需求,但是感覺寫的有點不大清楚,一開始沒看明白

http://www.111cn.net/sys/CentOS/68197.htm

 

Linux下Java程序的啟動shell腳本

http://magicmind.iteye.com/blog/411771

 

======================================================================== 

 

這是從網上看到的,沒有實踐過,不知道是否容易部署,留作以后有時間再研究,貌似都是使用同一種方式,到時可以參考比較

 

使用Java Service Wrapper將java程序作為linux服務並且開機自動啟動

http://www.blogjava.net/shufudong/articles/283241.html

 

使用Java Service Wrapper將Java程序發布成Windows Service

http://www.cnblogs.com/Cindy_weiwei/archive/2010/04/19/1715196.html

 

Java程序作linux服務並且開機自動啟動

http://www.cnblogs.com/qiyebao/p/3770318.html

=================================================

網上有帖子說有兩個開源項目可以實現將java程序注冊成系統服務,先記錄下來,后續研究

1) http://sourceforge.net/projects/wrapper/ 
Configurable tool which allows Java applications to be installed and controlled like native NT or Unix services. Includes fault correction software to automatically restart crashed or frozen JVMs. Critical when app is needed 24x7. Built for flexibility. 

2) http://sourceforge.net/projects/yajsw/ 
YAJSW is an LGPL licensed pure java alternative for tanuki java service wrapper. It implements a multitude of additional functions and can be easily extended with groovy scripts. JSW configurations can be easily ported.

 

=============================================

Windows中java程序的部署,開機自啟動

http://blog.csdn.net/x844010689/article/details/8117703

 

未完待續


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM