1. 程式人生 > >Nginx部署多個spring-boot專案(jar方式部署)

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 BootJar部署

對於傳統的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