建站/快速入門
视频配音通过GPT-SoVITS生成,采用陈酿煤气罐头@bilibili训练的27(井芹仁菜)模型,参考音频nina3 (3).wav
、语速1.1倍。
由于我缺少精力配额、不善制作视频指南,所以这是个测试性质的文章,有待进一步优化。
視頻
文本
當我們訪問域名時,就能看到一些精美的網頁,這是如何實現的呢?
0. 站點資源
站點資源可以簡單解構為兩個部分:域名、伺服器。
我們訪問域名
,實際上就是在訪問服务器
,伺服器就像你的電腦一樣是真實存在的硬體設備[1],託管於伺服器提供商的機房中[2]。
[1]:個人博客用途的伺服器配置通常在2c2g及以內,伺服器商不可能維護一堆低配置的硬體,因此,我們於網絡上購買的伺服器通常是來自於高配置伺服器所創建的虛擬機。同理的還有寬帶,我們使用的是高配置機器通過軟體劃撥的一部分資源,如此也形成了「彈性性能」,比如設定我們只有3Mbps帶寬,但實際峰值能跑到30Mbps及以上,以應對短期的高爆發需求(長期如此會被限速),也稱為「共享寬帶」,優點是便宜,缺點是如果伺服器商超售、大量的人同時使用,我們能利用的性能就會變低。一般如阿里雲這類大服務商正經售賣的機器不用擔心此類情況,主要發生於那些三無小企業。
[2]:部分伺服器提供商其實沒有自己的機房,而是委託給專門的機房、數據中心,自己有租售權,然後轉賣給用戶。像阿里雲這種巨型體量的則為自建數據中心。
1. 通過域名訪問伺服器
我們在瀏覽器輸入域名並訪問站點時:
- 首先會檢查本地緩存[3],看瀏覽器及系統[4]是否有對應記錄,若有則直接訪問記錄的IP,若無則:
- 檢查hosts文件,看是否手動設定了域名及IP的對應關係,若有則按照我們設置的為準,若無則:
- 向DNS伺服器發送查詢請求,設置DNS伺服器的場景通常有兩個:本地設備、路由器[5],查詢的情況可以簡單分為兩種:
- DNS伺服器有該域名的緩存,則直接返回對應的IP位址,若無:
- DNS伺服器沒有該域名的緩存或緩存過期,則發起遞歸查詢[6]:
- 查詢
根DNS服务器
,返回對應的TLD DNS服务器
(頂級域,例如.com
); TLD DNS服务器
返回該域名的权威DNS服务器
地址;权威DNS服务器
返回對應的IP
。
- 查詢
- 獲得受訪域名對應的IP位址。
因此,我們需要在域名提供商處進行設置dns解析,將域名指向伺服器的IP位址,並等待1-10分鐘使設置生效。
[3]:緩存指臨時的存儲內容,比如即時通訊工具中我們沒有下載的聊天記錄(包括圖片和視頻),都是被緩存——即暫時性的存儲——到本地設備中,如此我們下次訪問目標資源時會直接從本地緩存加載內容而不需要向伺服器重新請求資源,可以提高訪問速度。緩存的缺點是「所訪問內容可能是過期的」,比如我們通過瀏覽器訪問網站,瀏覽器也會緩存部分資源以在下次訪問時直接從緩存加載從而提高訪問速度,如果此時我們更改網頁內容,則我們再訪問網站所看到的內容還是舊的。需要通過ctrl+f5
、ctrl+shift+r
來強制刷新緩存,或等待一段時間直至緩存過期。DNS伺服器同理,我們在訪問站點時,瀏覽器和系統也會緩存解析記錄,從而使下次訪問時免去重新解析的步驟以提高訪問速度,但DNS緩存也可能會過時,需要刷新緩存來解決。
[4]:Linux系統以Ubuntu為代表的眾多發行版默認只有DNS解析而未開啟緩存功能。
[5]:如果我們在本地設備設置了DNS伺服器則會以本地設備的設置為準,無論解析結果如何都不會通過路由器設置的DNS伺服器;在本地設備未設置DNS伺服器時,才會由路由器設定的DNS伺服器解析域名。
2. 通過伺服器獲得網站資源
前面已經提到,伺服器是真實存在的設備,它的身份標識是IP位址[7],域名只是橋梁,彌足IP位址不易記憶及不具風格等缺陷的產物。
我們訪問域名,並解析出伺服器的IP位址,只是讓我們知道該域名指向的伺服器,具體能獲得什麼內容,還要看伺服器的配置。
以建站為例,我們需要部署(通過ssh)web環境以返回正確的資源,其中必不可缺的是提供web服務的軟體,安裝並運行任意一款(本文以apache2為例)後,我們再訪問域名或ip就能看到對應軟體提供的歡迎頁。
不同的web服務軟體的配置不同,以apache2為例,網站資源路徑是/var/www/html/
,您可以在此放置一些網頁文件,並通過瀏覽器訪問。
到此為止,您已經擁有了一個用於建站的網絡伺服器。
但目前只支持解析靜態網頁資源(html+css+js),如果我們需要實現更高級的功能,例如部署一個您現在訪問的基於mediawiki的動態網站,則需要安裝必要的拓展,例如:
- 提供動態交互的腳本語言(如PHP);
- 存儲各種數據以配合動態需求的資料庫(如Mysql);
- 其他必要的依賴、拓展。
安裝及配置好上述服務後,我們就可以下載mediawiki框架,將框架文件放置於網站資源目錄內,訪問網站並經過初始化設置後(並將默認項設置為index.php),您就擁有了一個動態網站。
[7]:我們的電腦、手機也是真實存在的設備,為什麼無法通過IP位址進行訪問呢?因為我們的IP不是公網IP。
3. 結語
這則視頻主要目的是配合思維導圖向您簡要的介紹「訪問網站」時所發生的事,以此讓您知道您每一個步驟都具有什麼意義。我本身並不喜歡視頻創作,具體細節請以文章為主。
這就是建站的簡要流程,其中還有很多細節,例如購買域名/伺服器的建議、防火牆、ssl、web服務軟體的配置、多站點配置、其他形式的網站(如靜態網站生成器)、具體的操作和技術細節等等。
簡單來說,這是需要您做的(一般動態網站所需要的):
- 購買域名;
- 購買伺服器;
- 安裝web服務軟體(apache2);
- 安裝動態網站必要的軟體(php+mysql);
- 下載並將框架文件放置於網站資源目錄內;
- 大功告成。
建站就是搭積木,我們將不同用途的積木以適宜的方式組織到一塊,以此實現預期功能。通過積木自主搭建模型比較困難,但如果給了您圖紙,您只需要按照需求複製粘貼所提供的命令即可,至少簡單的搭建網站沒有什麼技術門檻。唯一需要您突破的或許是因刻板印象及未知而對「命令行」產生的畏懼。
QA
Q:為什麼不自己訓練聲音模型?
A:啊,我打標日文?因為我不懂日語,我自己上也是手動扣人聲素材、ai去背景音、ai識別語音內容、手動靠機翻/AI打標,既然有現成的,就不這麼麻煩了。
Q:看不懂怎麼辦?
A:這個視頻及介紹非常簡陋,這個問題的責任方應當在於我。不過您具體是對哪裡有疑問,或者說,您想了解的是哪部分?
Q:那麼多文章我看哪個?
A:誠如結語所言:
- 您需要購買伺服器、域名,按照其中的指引和說明選擇每個文章中的任意一個方案,包括了您需要對兩者做什麼;
- 而後閱讀web環境了解您需要掌握的基礎知識;
- 由於我只提供了安裝LAMP環境的指南,所以您只能以此作為Web環境的基礎,它包括了web服務軟體和動態網站必要的組件;
- 然後安裝您需要的框架,例如本站使用的:Mediawiki框架;如果您不想使用它也可以閱讀框架參考其他推薦;
大功告成,您也可以直接按照建站的索引,逐個閱讀文章,它們頂部都有描述您需要做的事(包括在當篇文章及之後)。