Spring Boot jar包linux服務器部署


Spring Boot 部署

一.使用命令行java -jar 常駐

nohup java -jar spring-boot-1.0-SNAPSHOT.jar > log.file 2>&1 &

其中spring-boot-1.0-SNAPSHOT.jar為上傳的jar包名

關閉通過ps -aux | grep spring 找到pid.用kill -9 [pid]結束進程

二.使用Linux服務的方式啟動、停止、重啟

1、首先在 pom.xml 中配置插件

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <executable>true</executable>
                </configuration>
            </plugin>
        </plugins>
    </build>
    
	特別注意一下 <executable>true</executable>

2、然后正常使用 mvn clean package -Dmaven.test.skip=true 將工程打成jar包

3、上傳jar包到服務器,假設部署路徑為 /var/apps/myapp.jar ,使用命令做一個軟連接到 /etc/init.d 目錄,命令:

ln -s /var/apps/myapp.jar /etc/init.d/myapp

其中 /etc/init.d/myapp最后的 myapp 可以是別的名字,這個就是服務名,我們后面使用 service [服務名] start 來啟動(下面有說明)。

4、給jar文件授予可執行權限,命令:

chmod +x myapp.jar

5、接下來,就可以使用我們熟悉的 service myapp start|stop|restart|status 來對應用進行啟停了。
執行命令后將得到形如 Started|Stopped [PID] 的結果反饋。
默認PID文件路徑:/var/run/appname/appname.pid
默認服務日志文件路徑:/var/log/appname.log(可以通過下面.conf 的方式修改LOG_FOLDER)

6、使用自定義的.conf文件來變更默認配置,方法如下:
在jar包相同路徑下創建一個.conf文件,名稱應該與.jar的名稱相同,如myapp.conf(如果我們打包的文jar文件為 myapp-1.0.0.jar 那么這里的conf文件也應該是 myapp-1.0.0.conf),其內容配置可以如下:

JAVA_HOME=/usr/local/jdk
JAVA_OPTS=-Xmx1024M
LOG_FOLDER=/data/logs/myapp

注:LOG_FOLDER 對應的文件夾目錄要必須存在,如果目錄不存在,服務並不會自從創建目錄。

華麗麗的分割線

如果你是CentOS 7或紅帽7以上,你還可以用下面的方法處理,為什么要用這樣的方法(請自行研究),這里直接提供結果,哈哈
編輯服務文件 vim /usr/lib/systemd/system/myapp.service

[Unit]
Description=frbao-publicity
After=network.target

[Service]
WorkingDirectory=/var/apps/myapp
ExecStart=/usr/local/java/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -jar /var/apps/myapp.jar
ExecStop=kill $MAINPID
Restart=always

[Install]
WantedBy=multi-user.target

使用Linux 7 以后服務新的啟動方式,相關命令

啟動
systemctl start myapp
停止
systemctl stop myapp
重啟
systemctl restart myapp
查看日志
journalctl -u myapp


免責聲明!

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



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