Spring Boot 官網(wǎng)文檔簡(jiǎn)單翻譯 Part VI

Part VI. Deploying Spring Boot Applications

文檔說(shuō)明:

  • 文檔對(duì)應(yīng)的版本為 2.1.0.M3
  • 這不是文檔的完整中文翻譯召夹,也有可能跟原文文字不一一對(duì)應(yīng)初坠,只是我閱讀文檔時(shí)候做的簡(jiǎn)單筆記
  • 如果對(duì)應(yīng)的章節(jié)沒(méi)有任何中文性芬,有可能是文檔內(nèi)容比較少埂蕊,建議直接看原文揪利,或者是我不感興趣的部分
  • 目錄標(biāo)題沒(méi)有做翻譯,首先標(biāo)題一般一眼就能看懂什么意思笛坦,不做翻譯還能保證原文意思区转,其次也方便對(duì)應(yīng)到原文位置

62. Deploying to the Cloud

Spring Boot 的可執(zhí)行 jar 文件使用于大部分的 PaaS(Platform-as-a-Service)平臺(tái)苔巨。這些平臺(tái)就是希望你的應(yīng)用自己準(zhǔn)備所有的東西。他們管理的是應(yīng)用進(jìn)程废离,并不是 Java 應(yīng)用侄泽。

62.1 Cloud Foundry

62.1.1. Binding to Services

62.2 Heroku

62.3 OpenShift

62.4 Amazon Web Services (AWS)

62.4.1. AWS Elastic Beanstalk

Using the Tomcat Platform

Using the Java SE Platform

62.4.2. Summary

62.5 Boxfuse and Amazon Web Services

62.6 Google Cloud

63. Installing Spring Boot Applications

除了可以通過(guò) java -jar 來(lái)運(yùn)行 Spring Boot 應(yīng)用,還可以對(duì) Unix 操作系統(tǒng)制作完整可執(zhí)行的應(yīng)用蜻韭。一個(gè)完整可執(zhí)行的 jar 就是類(lèi)似其他可執(zhí)行的二進(jìn)制程序一樣悼尾,或者可以通過(guò) init.d 或者 systemd 注冊(cè)。這樣的話(huà)肖方,安裝和管理在大部分生產(chǎn)環(huán)境都會(huì)變得非常容易诀豁。

注意:Fully executable jars 是在文件的前面嵌入了一段腳步來(lái)實(shí)現(xiàn)的,可以把 jar 或者 war 解壓出來(lái)查看窥妇。目前有些工具并不能識(shí)別這種文件格式,所以你不能在所有場(chǎng)景都使用這個(gè)功能娩践。

制作一個(gè) fully executable jar活翩,需要添加如下依賴(lài):

<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <executable>true</executable>
    </configuration>
</plugin>

63.1 Supported Operating Systems

默認(rèn)的腳步支持大部分的 Linux 發(fā)行版本,并在 CentOS 和 Ubuntu 上驗(yàn)證通過(guò)翻伺。其他平臺(tái)材泄,例如 OS X 和 FreeBSD,需要自定義嵌入的腳本吨岭。

63.2 Unix/Linux Services

Installation as an init.d Service (System V)

建立 jar 的連接到 init.d 并支持 start拉宗、stop、restart 和 status 命令:

  • jar 文件的屬主可以啟動(dòng)服務(wù)
  • 可通過(guò) /var/run/<appname>/<appname>.pid 來(lái)查看應(yīng)用的進(jìn)程 PID
  • 日志寫(xiě)到 /var/log/<appname>.log 文件

假如你的應(yīng)用在 /var/myapp辣辫,那么安裝到 init.d 的操作如下:

$ sudo ln -s /var/myapp/myapp.jar /etc/init.d/myapp
$ service myapp start

Securing an init.d Service

不要以 root 用戶(hù)來(lái)啟動(dòng)服務(wù)旦事。

保護(hù) jar 文件:

$ chmod 500 your-app.jar
# This will prevent any user, including root, from modifying the jar
$ sudo chattr +i your-app.jar

保護(hù) conf 配置文件:

$ chmod 400 your-app.conf
$ sudo chown root:root your-app.conf

Installation as a systemd Service

假設(shè)應(yīng)用的位置是 /var/myapp,想要以 systemd 服務(wù)的形式來(lái)安裝 Spring Boot 應(yīng)用急灭,你需要在 /etc/systemd/system 目錄創(chuàng)建一個(gè)名為 myapp.service 的腳本文件姐浮,內(nèi)容樣例如下:

[Unit]
Description=myapp
After=syslog.target

[Service]
User=myapp
ExecStart=/var/myapp/myapp.jar
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

Description, User, 和 ExecStart 需根據(jù)自己應(yīng)用的實(shí)際情況填寫(xiě)。

Note: ExecStart 字段沒(méi)有在腳本里面聲明葬馋,意味著默認(rèn)采用 run 命令來(lái)啟動(dòng)服務(wù)卖鲤。

PID 和 日記記錄都交給 systemd 管理了。

開(kāi)機(jī)后啟動(dòng):

$ systemctl enable myapp.service

Customizing the Startup Script

默認(rèn)嵌入的啟動(dòng)腳本是有 Maven 或者 Gradle 插件提供的畴嘶,有很多方法可以實(shí)現(xiàn)定制化蛋逾,甚至可以使用 embeddedLaunchScript 來(lái)完全使用自己寫(xiě)的腳本。

Customizing the Start Script when It Is Written

配置 Maven 或者 Gradle 插件的 embeddedLaunchScriptProperties 屬性窗悯。

Customizing a Script When It Runs

通過(guò)環(huán)境變量或者一個(gè)配置文件

63.3 Microsoft Windows Services

[winsw][]

[]winsw]: https://github.com/kohsuke/winsw

64. What to Read Next

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末区匣,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蟀瞧,更是在濱河造成了極大的恐慌沉颂,老刑警劉巖条摸,帶你破解...
    沈念sama閱讀 211,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異铸屉,居然都是意外死亡钉蒲,警方通過(guò)查閱死者的電腦和手機(jī)弱左,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,347評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)壶愤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)羽杰,“玉大人霍狰,你說(shuō)我怎么就攤上這事晤郑∽簧牛” “怎么了苹威?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,435評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵腕铸,是天一觀的道長(zhǎng)间驮。 經(jīng)常有香客問(wèn)我躬厌,道長(zhǎng),這世上最難降的妖魔是什么竞帽? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,509評(píng)論 1 284
  • 正文 為了忘掉前任扛施,我火速辦了婚禮,結(jié)果婚禮上屹篓,老公的妹妹穿的比我還像新娘疙渣。我一直安慰自己,他們只是感情好堆巧,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,611評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布妄荔。 她就那樣靜靜地躺著,像睡著了一般谍肤。 火紅的嫁衣襯著肌膚如雪啦租。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,837評(píng)論 1 290
  • 那天谣沸,我揣著相機(jī)與錄音刷钢,去河邊找鬼。 笑死乳附,一個(gè)胖子當(dāng)著我的面吹牛内地,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播赋除,決...
    沈念sama閱讀 38,987評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼阱缓,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了举农?” 一聲冷哼從身側(cè)響起荆针,我...
    開(kāi)封第一講書(shū)人閱讀 37,730評(píng)論 0 267
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后航背,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體喉悴,經(jīng)...
    沈念sama閱讀 44,194評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,525評(píng)論 2 327
  • 正文 我和宋清朗相戀三年玖媚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了箕肃。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,664評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡今魔,死狀恐怖勺像,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情错森,我是刑警寧澤吟宦,帶...
    沈念sama閱讀 34,334評(píng)論 4 330
  • 正文 年R本政府宣布,位于F島的核電站涩维,受9級(jí)特大地震影響殃姓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瓦阐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,944評(píng)論 3 313
  • 文/蒙蒙 一辰狡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧垄分,春花似錦、人聲如沸娃磺。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,764評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)偷卧。三九已至豺瘤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間听诸,已是汗流浹背坐求。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,997評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留晌梨,地道東北人桥嗤。 一個(gè)月前我還...
    沈念sama閱讀 46,389評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像仔蝌,于是被迫代替她去往敵國(guó)和親泛领。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,554評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容