以下部署方式,是java開發人員簡單部署到服務器,生產中公司一般都有自己的發佈系統。
1、將項目打包成jar包
1)使用編譯器集成工具打包
或者
2)在項目根目錄使用maven指令打包
mvn clean package -Dmaven.test.skip=true
2、將生成的jar包拷貝到我們的linux服務器上
scp target/xxx.jatr [email protected]:/opt/javaapps
3、進入xxx.jar所在目錄/opt/javaapps,執行jar命令,啓動服務
jar -jar xxx.jar
本地即可訪問linux服務器所在ip或者域名+端口號+具體接口,就可以調用服務了。
#修改啓動服務的端口
jar -jar -Dserver.port=8081 xxx.jar
#啓動時指定運行環境
java -jar -Dserver.port=8081 -Dspring.profiles.active=prod xxx.jar
#服務以後臺形式啓動,使用linux下的nohup命令
nohup java -jar xxx.jar > /dev/null 2>&1 &
#我們經常使用nohup command &命令形式來啓動一些後臺程序,比如一些java服務:
nohup java -jar xxxx.jar &
1). >/dev/null
這條命令的作用是將標準輸出1重定向到/dev/null中。 /dev/null代表linux的空設備文件,所有往這個文件裏面寫入的內容都會丟失,俗稱“黑洞”。那麼執行了>/dev/null之後,標準輸出就會不再存在,沒有任何地方能夠找到輸出的內容。
2). 2>&1
這條命令用到了重定向綁定,採用&可以將兩個輸出綁定在一起。這條命令的作用是錯誤輸出將和標準輸出同用一個文件描述符,說人話就是錯誤輸出將會和標準輸出輸出到同一個地方。
4、在centos7中推薦service用法
#進入/etc/systemd/system目錄
cd /etc/systemd/system
#新建項目jar的service
vim xxx.service
#xxx.service的文件內容如下:
[Unit]
Description=xxx
After=syslog.target network.target
[Service]
Type=simple
ExecStart=/usr/bin/java -jar /opt/javaapps/xxx.jar
ExecStop=/bin/kill -15 $MAINPID
User=root
Group=199620
[Install]
WantedBy=nulti-user.target
啓動我們自定義的服務service
systemctl start xxx #啓動,xxx爲我們自定義服務名
systemctl stop xxx #停止
設置開機啓動
systemctl enable xxx