LDTstore.com.cn Changelog(劃掉)重大更新ReleaseNote
本次更新之重大可謂脫胎換骨,準(zhǔn)備了很久,所以有可能出現(xiàn)列舉不全的情況()
全局
將所有與網(wǎng)站服務(wù)相關(guān)的文件從/root轉(zhuǎn)移到/server,并繼之前移出cert,進(jìn)一步將wwwroot也移出nginx文件夾。
這里多解釋兩句。最早網(wǎng)站的需求特別簡單,所以我的設(shè)想是將所有與網(wǎng)站相關(guān)的文件都放在一個(gè)nginx文件夾,然后每次更新的時(shí)候先停止nginx,然后直接下載并刪除舊的包含日志的文件夾,最后上傳新的。這被我稱為部署-回收機(jī)制,好處是在簡單的情況下方便衛(wèi)生,日志與所有其他文件一一對(duì)應(yīng)。但后來隨著網(wǎng)站功能越來越復(fù)雜,尤其是在本次更新以后各個(gè)功能逐漸分化出來,這種機(jī)制使得nginx和各個(gè)功能耦合在一起而不方便更新的問題逐漸變得突出。這次更新之后nginx配置文件本身需要的更改也變得很少,只有增加新的功能時(shí)才會(huì)去改動(dòng)一下。(之前重定向路徑也hardcode在nginx配置文件里,現(xiàn)在也作為服務(wù)獨(dú)立出去了。)所以現(xiàn)在還需要還保持這種強(qiáng)對(duì)應(yīng)關(guān)系的,只有nginx的日志及配置文件了。于是我決定以后nginx的日志及配置文件仍然走部署-回收流程,nginx配置文件仍然保持用版本號(hào)區(qū)分版本的設(shè)定;其他目前包括頁面和重定向服務(wù)的功能都在各自的文件夾里單獨(dú)部署,反正也沒有東西需要回收。
nginx相關(guān)(配置文件版本0.4.0)
- 由于全局改動(dòng),以nginx用戶而非root用戶運(yùn)行nginx(所以之前沒辦法user nginx其實(shí)是個(gè)很低級(jí)的錯(cuò)誤,放在root的用戶文件夾里可不是訪問不到,之前沒想通)
- 增加請(qǐng)求限制措施,全局限速10請(qǐng)求每客戶端每秒,并在測(cè)試環(huán)境下經(jīng)過壓力測(cè)試證明有效
- 移除所有在配置文件中的重定向路徑,增加對(duì)新增重定向服務(wù)的反向代理配置
- 增加對(duì)新增靜態(tài)資源服務(wù)器的重定向規(guī)則(暫時(shí)還沒用上)
重定向相關(guān)
- 用Rust實(shí)現(xiàn)了一個(gè)通用的輕量級(jí)HTTP重定向服務(wù)(https://github.com/stackinspector/http-redirector),能夠在啟動(dòng)時(shí)下載重定向路徑列表文件并解析,這樣更新重定向路徑就只需要修改存儲(chǔ)庫中的路徑列表文件,然后重啟服務(wù)即可(通過jsdelivr加載路徑列表文件)。未來這個(gè)服務(wù)作為獨(dú)立項(xiàng)目可能會(huì)添加可選的通過HTTP API觸發(fā)的熱更新功能,但綜合考慮安全性和增加的復(fù)雜度,不會(huì)在LDTstore網(wǎng)站中啟用。
- 增加了YouTube、喵喵折、愛發(fā)電贊助三個(gè)平臺(tái)賬號(hào)的重定向路徑
頁面構(gòu)建系統(tǒng)相關(guān)
- 用Deno/TypeScript實(shí)現(xiàn)了一個(gè)簡單可擴(kuò)展的靜態(tài)頁面構(gòu)建系統(tǒng)(存儲(chǔ)庫里的/build/build.ts),能夠在模板頁面中插入HTML/CSS/JS片段(因?yàn)楝F(xiàn)階段CSS和JS都很短,所以選擇仍然直接嵌入頁面),并可以包含動(dòng)態(tài)生成HTML片段的函數(shù)(目前那一排按鈕就是根據(jù)/build/buttons.yml動(dòng)態(tài)生成的,大幅提高了可維護(hù)性),并在最后縮短HTML并在開頭加入注釋,包含版權(quán)信息和替代版本號(hào)區(qū)分版本的commit hash。目前的流程是在本地運(yùn)行構(gòu)建腳本再上傳,未來考慮把構(gòu)建流程轉(zhuǎn)移到GitHub Actions。
這檢票真能造輪子
頁面靜態(tài)資源相關(guān)
- 將頁面圖片資源放置在了單獨(dú)的存儲(chǔ)庫中,統(tǒng)一通過jsdelivr加載
頁面內(nèi)容相關(guān)
- 站外官方賬號(hào)部分增加了喵喵折賬號(hào),補(bǔ)充了YouTube賬號(hào)的鏈接
- 增加了愛發(fā)電贊助按鈕
- 調(diào)整了運(yùn)營賬號(hào)按鈕的位置和相關(guān)文字
- 在頁面底部增加了我和朋友@841973620的個(gè)人空間鏈接和項(xiàng)目主存儲(chǔ)庫鏈接
- 微調(diào)頁面布局,并換用64px的滑稽果作為頭圖和favicon
