最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

如何部署網(wǎng)站?來比比誰的方法多

2022-04-17 16:13 作者:程序員魚皮  | 我要投稿

大家好,我是魚皮,不知道朋友們有沒有試著部署過自己開發(fā)的網(wǎng)站呢?

其實部署網(wǎng)站非常簡單,而且有非常多的花樣。這篇文章就給大家分享幾種主流的前端 / 后端項目部署方式吧!

前端部署

對于前端項目,打包之后往往是一個目錄,目錄中包含 index.html(入口文件)、css、js 等等。

那么我們要做的事情其實就是想辦法 讓用戶訪問到這些文件 ,包含兩個關鍵的問題:

  1. 文件存放到哪里?

  2. 怎么提供文件訪問能力?

圍繞這兩個問題,常見的部署方式有以下五種。

1. web 服務器

將文件放到遠程服務器上(沒有服務器也可以在自己電腦上部署),然后通過 Nginx、Apache、Tomcat 等 web 服務器提供網(wǎng)頁文件訪問能力。

你可以自行安裝上述 web 服務器,然后修改其配置文件,指定用戶通過 哪個端口 訪問到 哪個目錄(網(wǎng)頁文件所在目錄),Nginx 示例配置如下:

server { ?listen 80; # 監(jiān)聽端口,http 80 https 443 ?server_name dogyupi.com; # 域名 ?index index.html; # 主頁文件 ?root /web/xxx; # 網(wǎng)頁文件所在目錄 }

然后用戶訪問 dogyupi.com 就能訪問到網(wǎng)頁了。

2. 寶塔 Linux

這種方式部署網(wǎng)站也是需要 web 服務器的,只不過通過使用寶塔 Linux,能夠可視化地安裝和管理 Linux 服務器上的軟件,比如一鍵安裝 Nginx、更方便地管理配置:

現(xiàn)在我上線訪問量不大的新網(wǎng)站時,一般都會安裝寶塔 Linux,的確非常方便省事兒。

3. 靜態(tài)網(wǎng)站托管

如果我們沒有完整的服務器,也可以把網(wǎng)頁文件放到靜態(tài)網(wǎng)站托管平臺上,比如 GitHub Pages、Gitee Pages、騰訊云靜態(tài)網(wǎng)站托管等。

下圖是 GitHub Pages 提供的網(wǎng)站訪問能力,把代碼上傳到指定分支、指定代碼文件所在目錄即可:

你甚至可以把網(wǎng)頁文件像圖片文件一樣直接扔到云服務商提供的對象存儲平臺上(還可以搭配 CDN 加個速)。但是,這種方式僅限于靜態(tài)頁面(必須每個頁面路由都有對應的 html 文件),否則可能會出現(xiàn)刷新頁面 404 的情況。

4. 容器

通過 Docker 容器技術,我們可以把 web 服務器以及網(wǎng)頁文件打包成一個鏡像,然后在服務器上拉取鏡像并執(zhí)行就好。

大致的步驟就是在網(wǎng)上 copy 一個 Dockerfile 文件,然后執(zhí)行 docker build 命令構建鏡像,最后 docker run 命令執(zhí)行。

5. 容器托管平臺

如果使用上一步提到的部署方式,我們每次代碼更新后都要手動去執(zhí)行鏡像構建、關閉老容器、啟動新容器,非常麻煩,而且沒法對容器進行統(tǒng)一的管理。所以更方便的方式是使用云服務商提供的容器托管平臺(比如微信云托管),可以實現(xiàn)自動化構建以及發(fā)布版本化等一系列強大的功能。

微信云托管

后端部署

后端項目我就拿 Java 來舉例吧,打包后一般有兩種產(chǎn)物形式:依賴 web 服務器部署的 war 包,以及內(nèi)嵌 web 服務器 & 可直接運行的 jar 包。對應的部署方式也不同,加起來共有 5 種。

1. web 服務器

如果你要部署 war 包,最常見的 web 服務器當屬 tomcat 和 jetty 了,和部署前端項目一樣,先手動安裝 tomcat,然后改幾行配置文件,讓 tomcat 能找到 war 包即可。注意盡量不要暴露 tomcat 提供的應用管理頁面哦!

Tomcat 應用管理頁面

2. 直接啟動

如果你使用 SpringBoot 框架開發(fā),打包之后得到的是 jar 包,內(nèi)置了 tomcat 等 web 服務器,因此只需要用一行命令啟動 jar 包即可,比如:

java?-jar?app.jar?--spring.profiles.active=prod

如果想在后臺運行 jar 包,那就給命令開頭補充 nohup ,結尾補充 ?& 。

3. 寶塔面板

和前端部署一樣,如果你懶得自己在服務器上安裝 java、maven、tomcat 等環(huán)境,可以直接用寶塔面板來幫你安裝:

寶塔面板安裝軟件

4. 容器

使用 Docker 容器技術,理論上可以封裝任何環(huán)境和應用,對于后端 Java 項目來說,把 Java 環(huán)境、Maven 和 jar 包封裝成一個鏡像就好了。

在寫 Dockerfile 時,可以直接使用 maven:3.5-jdk-8-alpine 這種基礎鏡像,自帶了 jdk 和 maven,省去了自己寫安裝腳本的麻煩。

當然,有需要的話,你還可以在 Java 容器前加個 Nginx 負載均衡~

5. 容器托管平臺

只要是容器,就可以放到容器托管平臺進行管理,對于后端應用來說也是如此,不再贅述~

扯了那么多種部署方式,你最喜歡或者最常用的網(wǎng)站部署方式是什么呢?

圖文的方式介紹起來比較麻煩,晚上我會在自己的編程知識星球內(nèi)直播帶大家學習幾種前后端項目部署的方式,把之前星球內(nèi)全程直播帶大家開發(fā)的用戶中心項目搞上線(有回放)。

歡迎大家從 http://dogyupi.com 加入星球~ 和近 6000 名小伙伴們一起交流學習,向魚皮等大廠同學 1 對 1 提問、幫你定制學習計劃不迷茫、跟著魚皮直播做項目提升編程能力(往期直播可回看)、領取海量優(yōu)質編程資源等等,我為自己帶鹽~

如何部署網(wǎng)站?來比比誰的方法多的評論 (共 條)

分享到微博請遵守國家法律
望江县| 宁远县| 津市市| 故城县| 舞阳县| 宜丰县| 建平县| 屏东县| 莎车县| 嘉义县| 临西县| 临泽县| 紫金县| 崇义县| 桓仁| 安陆市| 绥芬河市| 桃园县| 康乐县| 钟祥市| 达州市| 天长市| 罗平县| 邳州市| 广安市| 肇源县| 武胜县| 乐山市| 土默特右旗| 监利县| 隆德县| 鄢陵县| 白朗县| 乌海市| 西平县| 临沧市| 门源| 长兴县| 连州市| 吴忠市| 织金县|