日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

鏡像下載、域名解析、時(shí)間同步請(qǐng)點(diǎn)擊

阿里巴巴開源鏡像站-OPSX鏡像站-阿里云開發(fā)者社區(qū)

 

項(xiàng)目部署

之前我們講解linux操作系統(tǒng)時(shí),就提到,我們服務(wù)端開發(fā)工程師學(xué)習(xí)Linux系統(tǒng)的目的就是將來(lái)我們開發(fā)的項(xiàng)目絕大部分情況下都需要部署在Linux系統(tǒng)中。那么在本章節(jié),我們將通過(guò)兩種方式,來(lái)演示項(xiàng)目部署,分別是:手動(dòng)部署項(xiàng)目 和 基于shell腳本自動(dòng)部署。

3.1、手動(dòng)部署項(xiàng)目

3.1.1、在IDEA中開發(fā)SpringBoot項(xiàng)目并打包成jar包

創(chuàng)建一個(gè)簡(jiǎn)單的項(xiàng)目,結(jié)構(gòu)如下所示

 

項(xiàng)目運(yùn)行結(jié)果

 

執(zhí)行package指令,進(jìn)行打包操作,將當(dāng)前的SpringBoot項(xiàng)目,打包成jar包

操作步驟

  • Step1
 <build>        <!--指定jar的名字-->        <finalName>helloworld</finalName>        <plugins>            <plugin>                <groupId>org.springframework.boot</groupId>                <artifactId>spring-boot-maven-plugin</artifactId>            </plugin>        </plugins>    </build>
  • Step2
# 清理、打包 跳過(guò)測(cè)試mvn clean package -Dmaven.test.skip=true
  • Step3
# 運(yùn)行JAVA -jar xxx.jar
  • Step4

瀏覽器訪問(wèn):
http://localhost:8080/hello

3.1.2、將jar包上傳到Linux并運(yùn)行

將打好的jar包上傳至Linux服務(wù)器的 /usr/local/App 目錄下

  • mkdir /usr/local/app
  • cd /usr/local/app

啟動(dòng)SpringBoot項(xiàng)目

  • 由于我們的項(xiàng)目已經(jīng)打成jar包上傳上來(lái)到Linux服務(wù)器,我們只需要運(yùn)行這個(gè)jar包項(xiàng)目就啟動(dòng)起來(lái)了,所以只需要執(zhí)行如下指令即可:
  • java -jar helloworld.jar
  • 運(yùn)行結(jié)果

 

PS

由于前面安裝的Tomcat在啟動(dòng)時(shí),會(huì)占用端口號(hào)8080,而當(dāng)前springboot項(xiàng)目我們沒(méi)有配置端口號(hào),默認(rèn)也是8080,所以我們要想啟動(dòng)springboot項(xiàng)目,需要把之前運(yùn)行的Tomcat停止掉

開放端口,確保端口對(duì)外開放,可以訪問(wèn)SpringBoot項(xiàng)目

firewall-cmd --zone=public --list-ports

 

如果防火墻沒(méi)有開放對(duì)應(yīng)的端口,還需要先開放端口

  • firewall-cmd --zone=public --add-port=8080/tcp --permanent
  • firewall-cmd --reload

訪問(wèn)測(cè)試

http://192.168.222.135:8080/hello

 

成功運(yùn)行項(xiàng)目后的問(wèn)題

當(dāng)前我們項(xiàng)目啟動(dòng)的這個(gè)窗口被霸屏占用了,如果我們把這個(gè)窗口關(guān)閉掉(或ctrl+c),當(dāng)前服務(wù)也就訪問(wèn)不到了

3.1.3、手動(dòng)部署項(xiàng)目?jī)?yōu)化

解決上述霸屏問(wèn)題的解決方法就是讓部署的項(xiàng)目在后臺(tái)運(yùn)行

這個(gè)時(shí)候我們需要使用到linux中的一個(gè)命令 nohup ,接下來(lái),就來(lái)介紹一下nohup命令

  • nohup命令:英文全稱 no hang up(不掛斷),用于不掛斷地運(yùn)行指定命令,退出終端不會(huì)影響程序的運(yùn)行
  • 語(yǔ)法格式: nohup Command [ Arg … ][&]
  • 參數(shù)說(shuō)明:

Command:要執(zhí)行的命令

Arg:一些參數(shù),可以指定輸出文件

&:讓命令在后臺(tái)運(yùn)行

  • 舉例:

nohup java -jar boot工程.jar &> hello.log &

上述指令的含義為: 后臺(tái)運(yùn)行 java -jar 命令,并將日志輸出到hello.log文件

綜上所得,要想讓當(dāng)前項(xiàng)目在后臺(tái)運(yùn)行,就可以使用以下命令

nohup java -jar helloworld-1.0-SNAPSHOT.jar &> hello.log &

 

這樣的話,我們的項(xiàng)目就已經(jīng)啟動(dòng)成功了,我們可以通過(guò)ps指令,查看到系統(tǒng)的進(jìn)程

 

接下來(lái),我們?cè)俅卧L問(wèn)我們的項(xiàng)目,來(lái)看看服務(wù)是否可用

 

這時(shí)候可以查看以下hello.log文件是否正常輸出日志

停止項(xiàng)目

直接殺死進(jìn)程:kill -9 pid

 

3.2、基于Shell腳本自動(dòng)部署

3.2.1、介紹

前面介紹的項(xiàng)目部署是手動(dòng)部署,也就是部署過(guò)程中的每一步操作都需要我們手動(dòng)操作。接下來(lái),我們需要再講解一下項(xiàng)目的自動(dòng)部署,從而來(lái)簡(jiǎn)化項(xiàng)目部署的操作,那么我們先來(lái)整體上了解一下項(xiàng)目自動(dòng)部署的流程及操作步驟

 

具體操作步驟如下

①、在Gitee上創(chuàng)建遠(yuǎn)程倉(cāng)庫(kù),并將本地的項(xiàng)目代碼推送到遠(yuǎn)程倉(cāng)庫(kù)中

②、在Linux中安裝Git,克隆代碼

③、在Linux中安裝maven

④、編寫Shell腳本(拉取代碼、編譯、打包、啟動(dòng))

⑤、為用戶授予執(zhí)行Shell腳本的權(quán)限

⑥、執(zhí)行Shell腳本

3.2.2、推送代碼到遠(yuǎn)程倉(cāng)庫(kù)

1)創(chuàng)建遠(yuǎn)程倉(cāng)庫(kù)

自行創(chuàng)建

2)推送代碼到遠(yuǎn)程倉(cāng)庫(kù)

自行推送一個(gè)簡(jiǎn)單示例項(xiàng)目即可

3.2.3、Git操作

1)Git軟件安裝

通過(guò)yum命令在線安裝git,執(zhí)行如下指令

  • yum list git:列出git安裝包
  • yum install git:在線安裝git

通過(guò)上述指令,安裝好git之后,我們就可以通過(guò)git --version去驗(yàn)證git的環(huán)境

 

2)Git克隆代碼

先切換到指定的目錄,如/usr/local,執(zhí)行如下指令

git clone 要克隆的遠(yuǎn)程倉(cāng)庫(kù)地址(然后輸入個(gè)人的Git賬號(hào)密碼)

3.2.4、Maven安裝

1)官網(wǎng)下載Maven的壓縮包


Apache-maven-3.5.4-bin.tar.gz,自行選擇對(duì)應(yīng)版本號(hào)在官網(wǎng)下載即可

2)解壓Maven壓縮包

自行解壓到指定目錄即可

tar -zxvf
apache-maven-3.5.4-bin.tar.gz -C 指定目錄

3)配置環(huán)境變量

在/etc/profile配置文件中配置環(huán)境變量

vim /etc/profile

增加如下內(nèi)容

MAVEN_HOME=/usr/local/apache-maven-3.5.4/PATH=$JAVA_HOMEbin:$PATH:$MAVEN_HOMEbinexport JAVA_HOME PATH MAVEN_HOME

PS:這里面的JAVA_HOME是之前配置的,忽略即可

 

要讓配置的環(huán)境變量生效,還需要執(zhí)行如下指令

source /etc/profile

4)修改maven的settings.xml配置文件

配置本地倉(cāng)庫(kù)地址

切換目錄

cd /usr/local/apache-maven-3.5.4/conf

編輯setting.xml配置文件

vim setting.conf

在其中增加如下配置,添加本地倉(cāng)庫(kù)地址

/usr/local/maven-reposity

 

同時(shí)在標(biāo)簽中,配置阿里云的私服

<mirror>     <id>alimaven</id>     <mirrorOf>central</mirrorOf>     <name>aliyun maven</name>     <url>http://maven.aliyun.com/nexus/content/groups/public/</url></mirror> 

 

3.2.5、Shell腳本準(zhǔn)備

Shell腳本(shell script),是一種Linux系統(tǒng)中的腳本程序。使用Shell腳本編程跟 JavaScript、Java編程一樣,只要有一個(gè)能編寫代碼的文本編輯器和一個(gè)能解釋執(zhí)行的腳本解釋器就可以了

本次測(cè)試不作為學(xué)習(xí)內(nèi)容,直接使用現(xiàn)成的demo即可
腳本解讀

3.2.6、Linux權(quán)限

根據(jù)上面步驟執(zhí)行完后,Shell腳本要想正常的執(zhí)行,還需要給Shell腳本分配執(zhí)行權(quán)限。 由于linux系統(tǒng)是一個(gè)多用戶的操作系統(tǒng),并且針對(duì)每一個(gè)用戶,Linux會(huì)嚴(yán)格的控制操作權(quán)限。接下來(lái),我們就需要介紹一下Linux系統(tǒng)的權(quán)限控制

1). chmod(英文全拼:change mode)命令是控制用戶對(duì)文件的權(quán)限的命令

2). Linux中的權(quán)限分為三種 :讀®、寫(w)、執(zhí)行(x)

3). Linux文件權(quán)限分為三級(jí) : 文件所有者(Owner)、用戶組(Group)、其它用戶(Other Users)

4). 只有文件的所有者和超級(jí)用戶可以修改文件或目錄的權(quán)限

5). 要執(zhí)行Shell腳本需要有對(duì)此腳本文件的執(zhí)行權(quán)限(x),如果沒(méi)有則不能執(zhí)行

 

解析當(dāng)前腳本的權(quán)限情況

 

chmod命令可以使用八進(jìn)制來(lái)指定權(quán)限(0 - 代表無(wú), 1 - 表示執(zhí)行x,2 - 寫w, 4 - 讀r

 

舉例

  • chmod 777 bootStart.sh 為所有用戶授予讀、寫、執(zhí)行權(quán)限
  • chmod 755 bootStart.sh 為文件擁有者授予讀、寫、執(zhí)行權(quán)限,同組用戶和其他用戶授予讀、執(zhí)行權(quán)限
  • chmod 210 bootStart.sh 為文件擁有者授予寫權(quán)限,同組用戶授予執(zhí)行權(quán)限,其他用戶沒(méi)有任何權(quán)限

注意:

三個(gè)數(shù)字分別代表不同用戶的權(quán)限

  • 第1位表示文件擁有者的權(quán)限
  • 第2位表示同組用戶的權(quán)限
  • 第3位表示其他用戶的權(quán)限

3.2.7、授權(quán)并執(zhí)行腳本

在測(cè)試階段,我們可以給所有的人都賦予執(zhí)行該shell腳本的權(quán)限。所以可以執(zhí)行如下指令

chmod 777 bootStart.sh

權(quán)限解讀:

A. 第一個(gè)7,代表當(dāng)前文件所有者root用戶,對(duì)該文件具有讀寫執(zhí)行權(quán)限

B. 第二個(gè)7,代表當(dāng)前文件所有者所屬組的用戶,對(duì)該文件具有讀寫執(zhí)行權(quán)限

C. 第三個(gè)7,代表其他用戶,對(duì)該文件具有讀寫執(zhí)行權(quán)限

執(zhí)行該shell版本

 

注意: 在執(zhí)行maven指令進(jìn)行打包時(shí),第一次執(zhí)行可能會(huì)耗時(shí)比較長(zhǎng),因?yàn)樵谶M(jìn)行maven工程的打包時(shí),需要到中央倉(cāng)庫(kù)下載工程依賴的jar包和插件(可以在settings.xml中配置阿里云私服加速下載)。

啟動(dòng)完成之后,我們可以查看java進(jìn)程

 

訪問(wèn)項(xiàng)目

 

本文轉(zhuǎn)自:
https://www.cnblogs.com/OnlyOnYourself-lzw/p/16519445.html

分享到:
標(biāo)簽:部署 項(xiàng)目
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定