1. 如何搭建一個(gè)自己的網(wǎng)站-項(xiàng)目篇

        共 1307字,需瀏覽 3分鐘

         ·

        2020-07-22 07:10

        咪哥雜談


        0f086ab39f7bb90c8cc0a94c694ca9d7.webp

        本篇閱讀時(shí)間約為 3 分鐘。


        1

        前言


        這周要來分享的是項(xiàng)目篇。
        簡單的來介紹,我們訪問整個(gè)網(wǎng)頁的流程是什么,從訪問網(wǎng)頁,背后經(jīng)歷了什么,以及我用到的技術(shù)棧。



        2

        訪問網(wǎng)頁的背后


        在 2019 的時(shí)候,當(dāng)初在寫 Python 的 Flask 框架時(shí),寫到過一篇文章:訪問網(wǎng)頁的背后,究竟發(fā)生了什么?
        當(dāng)時(shí)的流程圖是這樣的:

        fcfbe9228561c0191edf9723513c5df7.webp

        但這次的網(wǎng)站服務(wù)有變動(dòng),如下:

        dc5d8e56741e73b8513acb51bc9debaf.webp


        這次后端服務(wù)選用的是 Java 來開發(fā)后臺(tái)應(yīng)用。


        按照流程來簡單的說下:


        當(dāng)通過瀏覽器訪問域名時(shí),會(huì)被 DNS 服務(wù)器解析成 ip,請求到相應(yīng)的阿里云服務(wù)器,第一層走到的是 Nginx 軟件。


        Nginx 是一個(gè)負(fù)載均衡的軟件,可以簡單的理解為它可以將上層調(diào)用過來的請求轉(zhuǎn)發(fā)給下層服務(wù)。


        選擇 Nginx 的目的沒啥,就是為了單純的玩玩,以目標(biāo)來驅(qū)動(dòng)學(xué)習(xí),在之前的公司中并沒有接觸過 Nginx,都是別人配好的。


        通過這次實(shí)戰(zhàn),對 Nginx 的配置了解了不少。


        Nginx 目錄下有個(gè)配置文件叫 nginx.conf,默認(rèn)改它就好:

        721e67938a08c7940918cc5c324b2239.webp

        具體配置就不放了,知道它的主要作用是請求轉(zhuǎn)發(fā)即可。


        在后面,調(diào)用的是 jar 包提供的 web 服務(wù)。具體也不介紹,大家也不會(huì)感興趣,大部分關(guān)注本號(hào)的都是學(xué) Python 的。


        整個(gè) jar 包是用 docker 虛擬化來發(fā)布的。用 docker 也是為了玩技術(shù)?,F(xiàn)在的一線互聯(lián)網(wǎng)公司,大部分項(xiàng)目都會(huì)使用 docker 來虛擬化自己的微服務(wù)。


        docker有 5 個(gè)好處:

        持續(xù)集成、版本控制、可移植性、隔離性、安全性


        個(gè)人項(xiàng)目其實(shí)完全沒必要使用 docker 來部署,但如果你想讓別人使用你的項(xiàng)目,可以利用 docker 打成鏡像服務(wù)提供給別人。


        別人想使用的話,只需要安裝 docker 即可,到時(shí)候把你的鏡像拉下來啟動(dòng) docker 就能完成服務(wù)的遷移。非常的友好和便利。


        最后,關(guān)于部署,如果是傳統(tǒng)公司的運(yùn)維同學(xué),一定經(jīng)歷過自己寫 shell 腳本的痛苦。


        上家公司,我經(jīng)歷過自己用 Linux 腳本來人肉停止,更新,部署,啟動(dòng)項(xiàng)目的整個(gè)流程。不僅消耗精力,而且還浪費(fèi)時(shí)間。


        程序員,懶惰是第一生產(chǎn)力,那有能把流程自動(dòng)化的工具,為什么不用呢?能把這一套流程自動(dòng)化的工具,叫 Jenkins 。


        e3f817544a217357cead390959e1dabb.webp



        可以通過配置,寫好流程,當(dāng)每次項(xiàng)目的代碼有所變更,它會(huì)自動(dòng)從 git 上拉取服務(wù),然后按照腳本中寫好的流程,自動(dòng)停止服務(wù),更新服務(wù),啟動(dòng)服務(wù)。


        配置:

        b87a011b2e8bb80dfb32ddf6089cc670.webp


        以上,就是本項(xiàng)目涉及的東西,感興趣的小伙伴可以自行參考下。不感興趣的忽略本篇內(nèi)容即可。



        3

        總結(jié)


        本篇簡單的介紹了我在這次建站中用到的一些技術(shù)和軟件的選型。


        簡單的總結(jié)下涉及到的技術(shù)關(guān)鍵詞:


        • java

        • Nginx

        • docker

        • Jenkins


        有許多主流技術(shù)都是為了學(xué)習(xí)而選用的,其實(shí)像現(xiàn)在這種小服務(wù),完全沒必要搞這么復(fù)雜。


        但是有目的地學(xué)習(xí),有的時(shí)候?qū)W到的東西效果出奇的好,沒有實(shí)踐,理論上的東西永遠(yuǎn)記不住,編程就是這樣。。。


        多動(dòng)手,多實(shí)踐,多踩坑,才能對新東西快速的了解與熟悉。


        那,本篇到這里就結(jié)束了,如果你有什么想溝通交流的,歡迎留言區(qū)評(píng)論探討!





        ▼往期精彩回顧▼如何搭建一個(gè)自己的網(wǎng)站-服務(wù)器篇




        瀏覽 64
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 色戒未删减版在线观看免费播放 | 快播黄色app | 天操夜夜 | 黑人操少妇 | ass日本白嫩少妇pics |