Centos
重新部署 Spring Boot 應用程序 init.d 服務
我按照本指南將我的 Spring Boot 應用程序設置為 init.d 服務。 https://docs.spring.io/spring-boot/docs/current/reference/html/deployment.html#deployment-initd-service 我的網站執行良好,但是當我嘗試部署一些新的更改時沒有得到更新。這就是我試圖重新部署的方式:
$ ~/deploy.sh #!/bin/bash rm -rd /var/myapp/target rm -rd /etc/init.d/myapp git --git-dir=/var/myapp/.git pull sudo systemctl stop myapp mvn clean package rm -rd /etc/init.d/myapp ln -s /var/myapp/target/myapp-0.1.0.jar /etc/init.d/myapp systemctl daemon-reload systemctl start myapp systemctl status myapp
我檢查了我的 jar 是否有最新的程式碼,但它仍然不會更新。我又玩了一些,我想我刪除了一些 init.d 文件,現在它根本不起作用並給出了這個錯誤。
$ sudo ln -s /var/myapp/target/myapp-0.1.0.jar /etc/init.d/myapp ln: failed to create symbolic link ‘/etc/init.d/myapp’: File exists $ sudo systemctl start whatthephil Failed to start myapp.service: Unit not found.
Spring 指南說創建連結會安裝應用程序,但它沒有正確執行。我在 /var/logs/myapp 中沒有日誌。我曾經在那裡看到日誌。為什麼要尋找 myapp.service?簡單地創建連結如何假設安裝應用程序?為什麼我找不到單位?
這是 nginx 記憶體需要刪除才能更新。
rm -rd /var/cache/nginx/cache *
目前我像這樣重新部署我的 Spring Boot 應用程序。總是有問題,但如果你檢查,通常不難看出問題
/var/log/myApp.log
service myApp stop rm -rd /etc/init.d/myApp //careful backup home dir first rm -rd /var/cache/nginx/cache * git --git-dir=/var/myApp/.git pull mvn clean package -f /var/myApp/pom.xml ln -s /var/myApp/target/gs-serving-web-content-0.1.0.jar /etc/init.d/myApp service myApp start service myApp status certbot