Nginx部署多個spring-boot專案(jar方式部署)
springboot專案部署到伺服器常見的方式就是打成war包部署Tomcat或者打成jar包直接使用內建容易執行,很多人現在都打成war包部署到tomcat,這種方式雖然沒問題 但是後期維護比較麻煩。從官方的說明中 打成jar部署是最好的方式,但是這樣又有個問題 如果同時部署多個spring-boot專案 埠不一樣 怎麼通過域名來訪問呢,接下來就需要Nginx出手了,Nginx 是一個高效能的HTTP和反向代理伺服器,也是一個IMAP/POP3/SMTP伺服器。很適合部署springboot,Nginx的安裝這裡不在做教程 給出主要nginx.conf的配置
server { listen 80; server_name 127.0.0.1; access_log logs/book.log; error_log logs/book.error; #將/wx-service請求轉發給http://127.0.0.1:8011/wx-service處理 location /wx-service { proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8011/wx-service; } #將/bootdo請求轉發給http://127.0.0.1:8012/bootdo處理 location /bootdo { proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8012/bootdo; } #將/xcloud-service請求轉發給http://127.0.0.1:8013/xcloud-api處理 location /xcloud-service { proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8013/xcloud-api; } #將/eureka-service請求轉發給http://127.0.0.1:8081/eureka-service處理 location /eureka-service { proxy_pass http://127.0.0.1:8081/eureka-service; #這裡的埠記得改成專案對應的哦 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; } #將/xcloud-api請求轉發給http://127.0.0.1:8082/xcloud-api處理 location /xcloud-api { proxy_pass http://127.0.0.1:8082/xcloud-api; #這裡的埠記得改成專案對應的哦 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Port $server_port; } }
將nginx的埠改成80埠 域名就可以直接訪問 service_name可以為localhost 代表本機 localtion /XXX這塊就是配置nginx埠轉發 不輸了幾個專案就配置幾個 也可以將tomcat中的專案配置在這 也是沒問題的 根據上述配置 在sbin目錄執行 ./nginx -s reload 重新整理nginx配置就會生效了
在這提供一個spring-boot快速重啟shell指令碼 親測有效
export JAVA_HOME=/usr/local/java/jdk1.8.0_162 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar Port=8081 JarName=clouddo-server.jar LogsPatch=./logs_$Port ID=`ps -ef | grep $Port | grep -v "grep" | awk '{print $2}'` echo $ID echo "---------------" for id in $ID do kill -s 9 $id echo "killed $id" done echo "---------------" rm -rf $LogsPatch mkdir $LogsPatch export LANG=zh_CN.UTF-8 set -m nohup java -jar -Dlogging.path=$LogsPatch $JarName>$LogsPatch/catlina.out 2>&1 & tail -f $LogsPatch/catlina.out
儲存命名為xx.sh
記住 springboot專案得在配置檔案中配置
server:
context-path: /xcloud-api
Spring boot預設是/ 這樣直接通過就可以訪問到index頁面 但是我們要通過nginx配置多專案的話就要給每一個專案單獨指定context-path
在伺服器目錄根據個人喜好新建一個資料夾 專門用來存放spring-boot打包成的jar 和重啟指令碼 類似這樣
這樣方便管理 logs目錄是啟動指令碼之後生成的日誌資料夾 忽略 一個專案對應一個資料夾 裡面包含專案jar和一個重啟shell指令碼
這樣就可以同時後臺啟動多個springboot專案並且通過一個域名來訪問這些專案 如果要實時檢視日誌 請進入到每個專案檔案的logs-目錄執行
tail -f catlina.out就可以查看了 如有不足請指出 多多諒解......
相關推薦
Nginx部署多個spring-boot專案(jar方式部署)
springboot專案部署到伺服器常見的方式就是打成war包部署Tomcat或者打成jar包直接使用內建容易執行,很多人現在都打成war包部署到tomcat,這種方式雖然沒問題 但是後期維護比較麻煩。從官方的說明中 打成jar部署是最好的方式,但是這樣又有個問題 如果
部署多個Spring Boot 項目異常
-o ready eal lin domain ror dom err exce 相關參考: 解決spring-cloud應用無法部署在同一個容器中的問題 spring-cloud: Error deploying two eurek
idea中將多個spring boot專案放在一個maven專案中
現在的專案都開始用spring boot來構建了,用spring boot的最大好處就是預設我們什麼都不用配置,就可以使用spring,而且可以獨立啟動,不需要web容器。現在的專案好多都是微服務的模式,一個專案要被拆分成多個服務,服務之間通過介面來呼叫,每
多個Spring Boot項目部署在一個Tomcat容器無法啟動
failed cau gem engine 兩種 代碼 common exce repo Tomxin7 Simple, Interesting | 簡單,有趣 本文將花費您五分鐘時間 業務介紹 最近用Spring Boot開發了一個翻譯的小項目,但是服務器上
Eclipse建立多模組Spring boot專案
1、安裝sts工具 開啟Eclipse,選擇Help -> Eclipse Marketplace… Search或選擇“Popular”標籤,搜尋spring,選擇Spring Tool Suite (STS) for Eclipse外掛,安裝 2、new project
Spring Boot 專案匯出與部署
一、jar形式 1、導包 將pom.xml中設為:<packaging>jar</packaging> 從Spring Boot專案路徑開啟cmd視窗從Spring Boot專案路徑開啟cmd視窗 輸入: mvn package
如何在IDEA啟動多個Spring Boot工程例項(轉載)
在我講解的案例中,經常一個工程啟動多個例項,分別佔用不同的埠,有很多讀者百思不得其解,在部落格上留言,給我發郵件,加我微信詢問。所以有必要在部落格上記錄下,方便讀者。 step 1 在IDEA上點選Application右邊的下三角 ,彈出選項後,點選Edit Configuration
在IDEA中如何將多模組Spring boot專案打包
SpringBoot就是一個內嵌WEB伺服器(tomcat/jetty)可執行程式的框架。 所以開發的web應用不需要作為war包部署到web伺服器中,而是作為一個可執行程式,可執行的jar包部署就可以了。 專案的釋出: 1.修改父模組pom檔案 去掉maven打包
如何在IDEA啟動多個Spring Boot工程例項
在我講解的案例中,經常一個工程啟動多個例項,分別佔用不同的埠,有很多讀者百思不得其解,在部落格上留言,給我發郵件,加我微信詢問。所以有必要在部落格上記錄下,方便讀者。 step 1 在IDEA上點選Application右邊的下三角 ,彈出選項後,點選Edit
Eclipse新建Spring-boot專案,打包部署並輸出HelloWord
Spring-boot因為其對jar包的高度整合以及簡化服務配置,快速部署等的優點,逐漸成為Java開發人員的熱衷的框架。下面演示一下怎麼在Eclipse中新建Spring-boot專案以及打包部署。 在Eclipse中建立Spring-boot有兩種方式
用idea打包spring boot專案,然後部署到Linux伺服器上
一、IDEA 配置在 IDEA 上 File--->Setting--->Project Structure選擇 Artifacts ,右上角加號新增--->jar選擇專案主類,點選 ok二、在 IDEA 上打包專案開啟側邊欄的 Maven Project 雙擊 Package這時候控制檯開
Tomcat上部署多個Java Web專案
最近兩週特意整理自己的網站和自己大學三年寫過的java專案,在關於java web專案部署到輕量級伺服器Tomcat上,遇到一些問題,主要是關於Tomcat的一些配置問題;記錄一下,以免後面開發的時候忘記.多專案部署到Tomcat上,主要的方法有:1 直接將web專案檔案件拷
Windows系統配置.bat啟動spring boot專案jar
背景:專案用spring boot構建,maven管理,本地測試好之後打成jar包,在dos視窗可以通過:java -jar demo.jar來啟動demo專案,一旦關閉該dos視窗demo專案也被停止,如果有多個spring boot專案,同時開啟多個dos視窗顯然不合理,
在IDEA啟動多個Spring Boot工程例項
一:在IDEA上點選Application右邊的下三角 ,彈出選項後,點選Edit Configuration二:開啟配置後,將預設的Single instance only(單例項)的鉤去掉。 三:通過修改application檔案的server.port的埠,啟動。多個例
Spring Boot打Jar包部署
對於傳統的Web專案,可能大部分都要部署到web容器中,如Tomcat。Spring Boot提供了一種超級簡單的部署方式,就是直接將應用打成jar包,在生產上只需要執行java -jar就可以運行了。 一般情況下,如果我們的應用只是作為一個服務、工具類、AP
將Spring Boot 專案的jar包部署到伺服器
jar包方式啟動,也就是使用spring boot內建的tomcat執行。伺服器上面只要配置了jdk1.8及以上即可。不需要外接tomcat 1.打成jar包 2.將jar包放到任意目錄,執行下面的命令 ^[email protected]:/myfile# n
spring boot專案配置多個環境
比如我的spring boot專案有開發(dev)、測試(test)、生產(prod)三個環境,需要有三套對應的配置檔案。如下 在專案裡application.yml為主配置檔案,另外三個分別對應
jenkins 自動化部署 spring boot 專案(多圖)
前置條件 jenkins與部署專案所用伺服器為同一臺 將下載好的war包,放在tomcat的webapps目錄下,啟動tomcat 預設 8080 埠 wget http://mi
如何使一個Spring Boot專案啟動多個例項
應用場景:使用Ribbon的@LoadBalanced註解來實現服務端的負載均衡消費Spring Boot專案啟動多個工程例項,即一個專案,修改一個埠啟動一個服務,修改完配置檔案(application.properties、application.yml)即可,按照如下操作
spring boot專案打成jar包,部署
1.在pom.xml檔案中新增2.在pom.xml中新增新的外掛3.找到專案檔案的根目錄,在cmd命令列中輸入:mvn clean package出現build success即為打包完成4.在專案中的target目錄下出現一個可執行的jar檔案此時在此資料夾下執行:java