国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

手把手教小伙伴們使用 Nginx 部署 TienChin 項目!

開發 項目管理
小伙伴們知道,對于這種前后端分離的項目,我們在實際部署的時候,可以按照前后端分離的方式來部署,也可以按照前后端不分的方式來部署。接下來兩種不同的部署方式我都和小伙伴們來分享一下。

今天我就來手把手教小伙伴們部署 TienChin 項目,一起把這個項目跑起來,看看到底是個什么樣的項目。

小伙伴們知道,對于這種前后端分離的項目,我們在實際部署的時候,可以按照前后端分離的方式來部署,也可以按照前后端不分的方式來部署。接下來兩種不同的部署方式我都和小伙伴們來分享一下。

1. 前后端分離部署

1.1 部署架構圖

前后端分離部署的話,我們一般是需要一個 Nginx 服務器,我先畫一個簡單的部署示意圖給大家參考下:

圖片

簡單解釋一下就是這樣:

  1. 瀏覽器發出請求。
  2. 請求首先到達 Nginx 服務器,Nginx 服務器,由 Nginx 服務器進行請求分發。
  3. 如果是一個靜態資源請求,則 Nginx 將之轉發到靜態資源服務器上,一般可能由 Nginx 自己兼任靜態資源服務器,也就是直接從 Nginx 自己硬盤上將數據讀取出來。
  4. 如果是一個動態資源,則 Nginx 將之轉發到 Tomcat 上,對于我們這里就是我們的 Spring Boot 服務上了,當然,如果你沒有這么多服務器,我們可以將 Nginx 和 Spring Boot 部署到同一臺服務器上。

好了,這就是我們的大致的一個部署架構圖了,很簡單。

1.2 準備工作

接下來有幾個事情是需要我們提前準備的。

首先我們先在服務器上安裝好 MySQL 和 Redis,這個具體怎么安裝我這里就不啰嗦了,基操而已。

MySQL 建議大家用 Docker 安裝,省事。如果不懂 Docker,可以在公眾號后臺回復 Docker 有松哥寫的入門教程;Redis 可以直接安裝,松哥在之前的 vhr 系列教程中包含有 Redis 教程,可以公眾號后臺回復 vhr 查看詳情。

這樣我們的準備工作就完成了。

1.3 開始部署

1.3.1 拉取項目

首先我們需要從 GitHub 上拉取我們的項目,TienChin 項目的源代碼是開源的,大家可以直接 Clone:

  • https://github.com/lenve/tienchin

直接執行 git clone 即可。

圖片

拉取下來之后,有兩個文件夾:

圖片

  • tienchin 是服務端代碼。
  • tienchin-ui 是前端代碼。

1.3.2 修改配置

首先我們創建一個名為 tienchin 的數據庫,這個好說。

接下來,我們找到 tienchin/sql/tienchin-video_2023-03-13.sql 文件,在 tienchin 數據庫中執行該腳本。

接下來,我們找到 tienchin/tienchin-admin/src/main/resources/application-druid.yml 文件,在該文件中,根據自己的實際情況,修改數據庫連接地址、數據庫名稱、用戶名和密碼。

繼續打開 tienchin/tienchin-admin/src/main/resources/application.yml 文件,在該文件中配置 Redis 的地址、密碼等信息。

另外還有一個非常重要的配置也需要修改,就是在 tienchin/tienchin-admin/src/main/resources/application.yml? 文件中,將 server.servlet.context-path? 的值改為 /prod-api。

1.3.3 服務端打包

接下來我們進行服務端打包。小伙伴們需要在自己電腦上安裝好 Maven 并且配置好環境變量,這也是基本操作,我就不啰嗦了。

如果電腦上還沒有配置 Maven 的話,建議使用 IDEA 自帶的 Maven 插件,就不用額外下載了。IDEA 自帶的 Maven 插件在安裝目錄下的 plugins/maven 目錄下,可以直接配置這里的 bin 目錄到環境變量中即可。

服務端打包我們就進入到 tienchin 目錄下,然后執行如下代碼即可:

mvn package -Dmaven.test.skip=true

看到如下代碼就表示編譯成功了:

圖片

編譯成功之后,在 tienchin/tienchin-admin/target? 目錄下,可以看到一個名為 tienchin-admin.jar 的 jar 文件,這就是我們所需要的服務端代碼。

1.3.4 前端打包

接下來進入到 tienchin-ui 目錄下,執行如下命令安裝依賴(注意,前端需要 NodeJS 至少 14 往上的版本):

npm install

然后再執行如下命令進行編譯打包:

npm run build:prod

打包完成后,會生成 dist 目錄,里邊的文件就是我們所需要的靜態資源文件:

圖片

這樣,前端代碼就打包完成了。

1.3.5 安裝 Nginx

接下來我們來安裝 Nginx,我這里直接下載 Nginx 源碼進行編譯安裝,步驟如下:

  1. 首先安裝如下兩個編譯工具
yum install -y zlib-devel
yum -y install pcre pcre-devel
  1. 下載 Nginx 源碼并解壓。
wget https://nginx.org/download/nginx-1.22.1.tar.gz
tar -zxvf nginx-1.22.1.tar.gz
  1. 編譯安裝

進入到 nginx 解壓目錄中,分別執行如下命令進行編譯安裝:

./configure
make
make install

如此之后,我們的 Nginx 就安裝好了。

1.3.6 配置 Nginx

接下來我們首先通過命令或者文件上傳工具,先把剛剛打包的后端的 tienchin-admin.jar 和前端的 dist 目錄上傳到服務器上面來。

接下來,我們首先啟動服務端這個 tienchin-admin.jar:

nohup java -jar tienchin-admin.jar > tienchin.log &

有的小伙伴在服務端部署的時候,會拋出如下異常:

圖片

這個是因為服務端缺乏相應的字體,而 Flowable 在自動生成部署圖片的時候,需要用到這些字體,所以我們安裝需要的字體即可:

yum install fontconfig
fc-cache --force

服務端啟動成功之后,我們先用 postman 測試一下登錄接口,確保能運行,就說明服務端部署成功:

圖片

能成功登錄,就說明服務端部署成功。

接下來部署前端。

前端部署很簡單,我們只需要將 dist 中的內容拷貝到 nginx 的 html 目錄下即可,命令如下:

cp dist/* /usr/local/nginx/html/

接下來執行如下命令啟動 nginx:

/usr/local/nginx/sbin/nginx

nginx 啟動成功之后,就可以瀏覽器中訪問頁面了:

圖片

當然,現在還登錄不了,因為還缺少 Nginx 的請求轉發,現在當我們請求 Nginx 的時候可以看到前端頁面,但是服務端的數據請求,Nginx 并不會自動轉發到 Spring Boot 上面去,所以還需要我們繼續配置 Nginx,Nginx 配置文件的位置在 /usr/local/nginx/conf/nginx.conf,我們增加如下配置:

location /prod-api {
proxy_pass http://127.0.0.1:8080;
tcp_nodelay on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
root /usr/local/nginx/html/;
expires 30d;
try_files $uri $uri/ /index.html;
}

這里有幾個配置參數的含義,我給大家稍微解釋下:

  • try_files:由于我們的前端 Vue 導航是 history 模式,這個不同于 vhr 的 hash 模式,history 模式會把請求路徑發到 Nginx 上去找,很明顯 Ngnix 找不到這樣的路徑,所以 try_files 就是說如果 404 了,就默認展示 index.html 頁面即可,然后具體的路由導航由 vue-router 去完成。
  • tcp_nodelay:啟動 TCP_NODELAY,其實就是禁用 Nagle 算法,允許小包的發送。對于延時敏感型,同時數據傳輸量比較小的應用,開啟 TCP_NODELAY 選項無疑是一個正確的選擇。Nagle 算法是先把數據緩存起來,攢到一塊發送。

配置完成后,重啟 Nginx:

/usr/local/nginx/sbin/nginx -s reload

好啦,這次重啟之后,就可以順利玩耍啦~

圖片

2. 前后端不分部署

前后端不分部署相對就簡單一些,不需要 Nginx 了,不過前面 1.3.1-1.3.4 也是需要的。

1.3.4 小節中,我們拿到前端編譯打包后的內容后,直接放到 tienchin-admin 模塊的 static 靜態資源目錄下,然后繼續將服務端打成 jar 包,將 jar 包上傳到服務器并啟動即可,啟動命令和 1.3.6 小節介紹的 jar 包啟動命令一致,這個過程比較簡單,涉及到的相關命令前面都有介紹,我就不重復展示了。

責任編輯:武曉燕 來源: 江南一點雨
相關推薦

2014-07-10 14:48:26

無線路由器

2022-06-01 08:50:23

分布式事務模式

2020-11-10 09:00:00

JavaMule ESB開發

2013-12-19 10:20:19

2022-09-14 17:12:15

flowable源碼DEMO

2009-11-06 10:44:31

Visual Stud

2013-08-09 10:37:31

代碼數據

2020-02-21 10:45:06

運維架構技術

2020-09-23 07:00:00

Selenium We架構

2022-08-01 11:41:00

Vue插件

2025-05-07 00:31:30

2021-07-14 09:00:00

JavaFX開發應用

2013-08-05 14:34:46

2015-05-19 14:30:48

加密視頻加密億賽通

2014-01-22 14:27:25

科技創業者人品

2010-07-07 10:24:46

Python多線程

2010-08-18 09:15:45

路由器網絡診斷

2009-10-21 10:47:03

Siliverligh

2011-02-15 09:43:33

虛擬機

2025-01-13 09:07:12

點贊
收藏

51CTO技術棧公眾號

视频欧美一区| 快射av在线播放一区| 麻豆国产一区| 日韩精品高清在线| 一本岛在线视频| 国产一区二区按摩在线观看| 久久久99免费视频| 日韩av影片| 欧美亚洲愉拍一区二区| 激情伊人五月天| 久久99精品国产麻豆婷婷| 91美女片黄在线观| 精品精品国产毛片在线看| 伊人av综合网| 大桥未久在线视频| 日本三级亚洲精品| 欧美一区二区三区四区夜夜大片| 亚洲va欧美va人人爽成人影院| 一区二区三区四区视频精品免费 | 国产精品论坛| 亚洲乱码国产乱码精品精98午夜 | 狠狠色狠狠色合久久伊人| 3d动漫啪啪精品一区二区免费 | 午夜亚洲影视| 日本久久久a级免费| 在线三级电影| 国产亚洲欧美一区| 日韩漫画puputoon| 国产一区二区三区丝袜| 四虎影视国产在线视频| 日韩美女视频在线| 麻豆影视在线观看_| 日韩av最新在线观看| 最后生还者第二季在线观看| 亚洲久草在线视频| 欧美风狂大伦交xxxx| 国产另类ts人妖一区二区| 中文视频一区视频二区视频三区| 久热综合在线亚洲精品| 国产中文字幕乱人伦在线观看| 成人性视频免费网站| 欧美自拍资源在线| 国产日韩欧美麻豆| 91麻豆精品秘密入口| gogo久久| 欧美激情视频给我| 悠悠资源网久久精品| 黄色国产一级视频| 亚洲va韩国va欧美va| 波多野结依一区| 一区二区三区视频免费在线观看| 自拍偷拍亚洲图片| 国产日韩在线亚洲字幕中文| 亚洲一区图片| 黑粗硬长欧美在线视频免费的| 欧美一区二区久久久| 精品亚洲免a| 色涩成人影视在线播放| 亚洲码国产岛国毛片在线| 免费网站看v片在线a| 欧美巨乳在线观看| 免费成人美女在线观看| 午夜丝袜av电影| 亚洲九九九在线观看| 日本私人网站在线观看| 亚洲青涩在线| 国产精品久久久久久久久久99| 欧美电影在线观看网站| 一区二区在线观看免费视频播放 | 婷婷四房综合激情五月| 9l视频自拍九色9l视频成人| 91精品中文字幕一区二区三区| 奇米影视亚洲色图| 国产日韩视频| 国产精品国产亚洲伊人久久| 一区二区在线影院| 狠狠色伊人亚洲综合网站色| 香蕉亚洲视频| 91麻豆福利| 亚洲精品成人久久| 精品91福利视频| 国产99在线免费| 国产亚洲欧美日韩俺去了| 欧美极品少妇videossex| 国产z一区二区三区| 久久一区视频| 伊人国产在线视频| 欧美日韩在线电影| 亚洲成a人片777777久久| 成人女保姆的销魂服务| 91麻豆福利精品推荐| 99精品老司机免费视频| 欧美中文在线视频| 99热免费精品| 欧美aaa一级| 九九久久国产精品| 成人精品国产福利| 四虎影视成人精品国库在线观看| 国产日韩二区| 欧美经典一区二区| 国产精品麻豆| 一区二区三区四区五区视频| 欧洲精品中文字幕| 日韩a级大片| 成人午夜免费在线视频| 亚洲精品视频在线播放| 国产999精品久久| 久久伊人国产| 国产毛片视频网站| 欧美一区二区免费视频| 国产精品久久占久久| 黄色三级电影网站| 色综合久久88| 欧美激情一区二区三区全黄| 亚洲日本va中文字幕| 国产毛片久久久久久国产毛片| 国产丝袜精品视频| 中文字幕亚洲区| 精品影视av免费| 625成人欧美午夜电影| 国产chinese精品一区二区| 欧美综合亚洲图片综合区| 狠狠干成人综合网| 日本动漫理论片在线观看网站 | 国产精品自拍av| 唐人社导航福利精品| 成人在线免费高清视频| 日韩美女毛茸茸| 欧美一级久久久| 偷窥自拍亚洲色图精选| 国产99视频精品免视看7| 一本色道久久综合亚洲aⅴ蜜桃| 久久99国内| 青青草原国产在线| 国产成人a亚洲精v品无码| 成人免费大片黄在线播放| 精品久久久网站| 国产精品日产欧美久久久久| 激情综合中文娱乐网| 91精品福利观看| 成全电影大全在线观看| 97人人在线| 探花国产精品| 日韩免费中文专区| 国产精品久久久久久久久久久久久久 | 大胆欧美熟妇xx| 国产在线一区二区三区欧美| 日韩av在线网址| 欧美性jizz18性欧美| 国产成a人亚洲| 国产高清一区二区| 久久久久久久久久久久久久久久久久久久 | 亚洲美女性生活视频| 日韩一区二区在线观看视频播放| 精品va天堂亚洲国产| 黄色91在线观看| 国产精品一区二区久激情瑜伽| 亚洲资源在线| 日本三级视频在线播放| 国产激情在线观看视频| 成人欧美一区二区三区在线观看 | yellow91字幕网在线| 欧美丰满熟妇bbbbbb百度| 亚洲综合色av| 亚洲已满18点击进入在线看片 | 免费在线观看日韩欧美| 亚洲免费在线观看视频| 外国成人免费视频| 豆花视频一区二区| 天堂亚洲精品| 在线免费激情视频| 久久白虎精品| 五月天婷婷激情视频| 国产一二三区在线播放| 国产精品大全| 2014亚洲精品| 国产伦理一区二区三区| 精品久久久久亚洲| 日韩精品大片| 欧美黑人在线观看| av成人网在线| 国产一区二区三区播放| 久久久国产精华液999999| 亚洲日本无吗高清不卡| 在线观看成人一级片| 色播亚洲婷婷| 少妇高潮喷水在线观看| 久久久999免费视频| 在线观看成人影院| 午夜在线观看视频网站| 男女在线视频| 日韩成人精品一区| 欧美精品偷拍| 成人一区不卡| 精品视频在线一区二区在线| 国产经典第一页| 日韩欧美在线番号| av香蕉成人| 日本成人一区二区| 国产欧美一区二区精品久久久|