java linux 服务_java项目部署Linux服务器几种启动方式总结经验
一:兩種部署包:
部署之前先說(shuō)下兩種包,java項(xiàng)目部署到服務(wù)器一般有用war包的,也有用jar包的,微服務(wù)spring-cloud普及后大部分打包都是jar,部署之前先搞清楚自己要打war包還是jar包,下面小介紹兩種包的區(qū)別:
spring boot既可以打成war發(fā)布,也可以找成jar包發(fā)布。說(shuō)一下區(qū)別:
jar包:直接通過(guò)內(nèi)置tomcat運(yùn)行,不需要額外安裝tomcat。如需修改內(nèi)置tomcat的配置,只需要在spring boot的配置文件中配置。內(nèi)置tomcat沒(méi)有自己的日志輸出,全靠jar包應(yīng)用輸出日志。但是比較方便,快速,比較簡(jiǎn)單。
war包:傳統(tǒng)的應(yīng)用交付方式,需要安裝tomcat,然后放到waeapps目錄下運(yùn)行war包,可以靈活選擇tomcat版本,可以直接修改tomcat的配置,有自己的tomcat日志輸出,可以靈活配置安全策略。相對(duì)打成jar包來(lái)說(shuō)沒(méi)那么快速方便。
個(gè)人比較偏向打成jar包的方式發(fā)布應(yīng)用,因?yàn)閟pring boot已經(jīng)內(nèi)置了tomcat,無(wú)需額外配置。其實(shí)可以搜索下spring
boot的特點(diǎn),有個(gè)非常重要的特性就是spring
boot把市面優(yōu)秀的開(kāi)源技術(shù),都集合起來(lái),方便快速應(yīng)用。技術(shù)沒(méi)有百分百這種好,也沒(méi)有百分百那種不好,存在即合理,最主要還是看個(gè)人習(xí)慣和業(yè)務(wù)場(chǎng)景需求了。
二:jar包署部署(推薦)
先說(shuō)下jar包怎么部署啟動(dòng)項(xiàng)目,這里的jar包前提是springboot項(xiàng)目打的,pom文件已經(jīng)設(shè)置過(guò)了入口文件等相應(yīng)設(shè)置,具體設(shè)置這里就不說(shuō)了。
先把jar包上傳到Linux服務(wù)器
1.安裝 xshell 、xftp軟件
Xshell功能簡(jiǎn)介
Xshell [1] 是一個(gè)強(qiáng)大的安全終端模擬軟件,它支持SSH1, SSH2, 以及Microsoft Windows 平臺(tái)的TELNET 協(xié)議。Xshell 通過(guò)互聯(lián)網(wǎng)到遠(yuǎn)程主機(jī)的安全連接以及它創(chuàng)新性的設(shè)計(jì)和特色幫助用戶在復(fù)雜的網(wǎng)絡(luò)環(huán)境中享受他們的工作。
Xshell可以在Windows界面下用來(lái)訪問(wèn)遠(yuǎn)端不同系統(tǒng)下的服務(wù)器,從而比較好的達(dá)到遠(yuǎn)程控制終端的目的。除此之外,其還有豐富的外觀配色方案以及樣式選擇。
Xftp 功能簡(jiǎn)介
是一個(gè)基于 MS windows 平臺(tái)的功能強(qiáng)大的SFTP、FTP 文件傳輸軟件。使用了 Xftp 以后,MS windows 用戶能安全地在 UNIX/Linux 和 Windows PC 之間傳輸文件。Xftp 能同時(shí)適應(yīng)初級(jí)用戶和高級(jí)用戶的需要。它采用了標(biāo)準(zhǔn)的 Windows 風(fēng)格的向?qū)?#xff0c;它簡(jiǎn)單的界面能與其他 Windows 應(yīng)用程序緊密地協(xié)同工作,此外它還為高級(jí)用戶提供了眾多強(qiáng)勁的功能特性。
2.通過(guò)安裝以上兩個(gè)軟件可以實(shí)現(xiàn)window電腦遠(yuǎn)程控制Linux服務(wù)器,這樣就可以將我們打包好的jar文件傳輸?shù)絃inux服務(wù)器上進(jìn)行項(xiàng)目的部署。
假設(shè)Linux服務(wù)上已經(jīng)有了打好的jar包,下面介紹幾種常用的部署方式:
1、java -jar啟動(dòng)方式。
java -jar *.jar
此中方式只會(huì)運(yùn)行在當(dāng)前窗口,當(dāng)關(guān)閉窗口或斷開(kāi)連接,jar程序就會(huì)結(jié)束。
2、nohup啟動(dòng)方式。(推薦)
# nohub: 不掛斷的運(yùn)行命令
# &:后臺(tái)運(yùn)行
# >: 日志重定向輸出到
nohub java -jar *.jar >jarLog.txt &
3、注冊(cè)為L(zhǎng)inux服務(wù)(推薦)
首先需要現(xiàn)修改pom中spring-boot-maven-plugin配置,其實(shí)spring boot 打成jar包以后,是可以直接像shell腳本一樣直接運(yùn)行的,要實(shí)現(xiàn)這樣可以直接運(yùn)行,pom.xml 的build節(jié)點(diǎn)需要增加這樣的配置:
org.springframework.boot
spring-boot-maven-plugin
true
在Linux上注冊(cè)服務(wù)(此處基于init.d注冊(cè)部署)
將打好的jar包放到Linux任意目錄 eg: /var/project/
sudo ln -s /var/project/demo.jar /etc/init.d/abc
(其中demo為jar包名稱(chēng),abc為服務(wù)名稱(chēng))
之后就可以用 service XXX start 命令來(lái)啟動(dòng)jar包
啟動(dòng)/關(guān)閉 服務(wù)
service abc start/stop
查看狀態(tài)
service abc status
設(shè)置開(kāi)機(jī)自啟
chkconfig abc on
4、systemctl啟動(dòng)方式。
在/usr/lib/systemd/system目錄新增’abc.service’文件(文件名自己定義我這里例子是abc.service),具體內(nèi)容如下:
[Unit]
Description=abc.service
Requires=mysql.service mongod.service redis.service
Wants=abc.service
After=syslog.target network.target mysql.service mongod.service redis.service abc.service
[Service]
User=manager
Group=manager
EnvironmentFile=/home/.bash_profile
WorkingDirectory=/home/tomcat
ExecStart=/usr/bin/java -Xms512m -Xmx512m -jar /home/你的項(xiàng)目名.jar --spring.profiles.active=test
[Install]
WantedBy=multi-user.target
更改service之后要:systemctl daemon-reload,上述文件中用到的.bash_profile文件如下:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/.local/bin:$HOME/bin
LOG_PATH=/home/logs
export LOG_PATH
export PATH
其中上述中的LOG_PATH可以在項(xiàng)目中引用,例如:
5、tomcat啟動(dòng)方式。
直接將*.jar文件拷貝到tomcat\webapps\目錄下,啟動(dòng)tomcat,訪問(wèn)localhost:8080/jar包名即可。
注意:啟動(dòng)tomcat的時(shí)候優(yōu)先用服務(wù)方式啟動(dòng)tomcat如下:
nohup ./startup.sh &(&可以用于后臺(tái)運(yùn)行)
注意:用tomcat啟動(dòng)jar需要注意的是打包的時(shí)候需要把包里面tomcat排除掉:
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-tomcat
最后補(bǔ)充一些常規(guī)命令:
在Linux項(xiàng)目上對(duì)項(xiàng)目進(jìn)行操作的命令符如下:
后臺(tái)暫時(shí)運(yùn)行:java -jar /root/yyxx/cloud-yyxx-web-1.0-exec.jar(后臺(tái)暫時(shí)運(yùn)行)
后臺(tái)永久運(yùn)行,想要停止需殺死后臺(tái)進(jìn)程:nohup java -jar /root/yyxx/cloud-yyxx-web-1.0-exec.jar &()
查看jar進(jìn)程:ps aux|grep cloud-yyxx-web-1.0-exec.jar
殺掉進(jìn)程: kill -9 進(jìn)程號(hào)
三:war包署部署
最簡(jiǎn)單,常見(jiàn)的部署方法,直接將war包放到tomcat的wabapp目錄下,運(yùn)行tomcat就行。
具體步驟如下:
a. 把項(xiàng)目打包到wabapp目錄下。如下圖
b.在bin目錄下運(yùn)行命令 startup.bat 啟動(dòng)項(xiàng)目。(在bin目錄里按 shift+右鍵 即可調(diào)出命令框。關(guān)閉項(xiàng)目 shutdown.bat)如下圖
你放在wabapp下的所有項(xiàng)目就會(huì)自啟動(dòng),自啟動(dòng)伴隨著解壓縮包的動(dòng)作,啟動(dòng)完成后在wabapp下會(huì)看到解壓后的項(xiàng)目文件夾。運(yùn)行成功的命令顯示如下
這樣就表示項(xiàng)目啟動(dòng)成功!打開(kāi)瀏覽器訪問(wèn)下
總結(jié)
以上是生活随笔為你收集整理的java linux 服务_java项目部署Linux服务器几种启动方式总结经验的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python字符串常量有什么区别_Pyt
- 下一篇: 图形的装饰教案计算机,《电脑图案设计师》