我的網站搞好了!

最近有段時間沒有寫原創文章了,恰好這兩天正在翻閱歷史文章的時候,發現文章中的圖片竟然裂了?頓時冒了一身冷汗,因爲每逢遇到這種情況,動輒需要花費一週的時間遷移圖片。。。。。。

當我直接訪問圖片 url 的時候,果不其然出現了令人震驚的一幕。

我一直用的 typora 寫文章,我甚至是尊貴的 typora vip 擁有者,但就是這麼一個人,竟然還在白嫖 ipic 默認的雲存儲圖牀,我自己都看 了。

tva1.sinaimg.cn 也就是新浪圖牀這波把我整的太慘了,這也讓我更加堅定了想法:免費的總有各自的缺陷,還是付費得到技術支持的東西來的實在。

我發現 iPic 又換了新的圖牀,但是我已經沒有繼續使用 iPic 的耐心了,果斷放棄。

由於遷移圖牀工程量浩大,我甚至一度有不想幹了的衝動。不過我還是敗給了現實,現實就是跪着也得堅持下去。

但是今天這文章就寫 xxx 到這吧,憋屈 😃 。

--- 第二天 ---

怎麼辦?這事兒還得幹啊,所以我就找尋各種辦法,決定了把圖牀搞到七牛雲上去(絕無任何打廣告的想法),畢竟它們的圖牀還是很穩定的,訪問也比較快。

於是我決定使用 PicGo + 七牛雲圖牀作爲圖片存儲工具,七牛雲好像有免費的 10GB 存儲空間,只是存儲圖片的話應該夠用,而且它們還有圖片壓縮功能。

如果只使用圖牀功能的話,那麼圖片訪問速度也是需要考慮的因素,這就需要使用到 CDN 加速功能,CDN 加速需要自定義域名,這就要求我弄個域名讓圖牀掛在域名下面。

既然都想到域名這裏了,那我塵封 30 年想要搞個網站的願望是不是該提上日程了?

說到上線網站,我簡直想罵死我自己,因爲我曾經無數次的想要上線一個網站,卻都因爲各種因素耽擱了,這次下定決心一定要上線一個網站,做不到我就一週不喫宵夜!!!對我來說這真是一件很殘忍的事情。

技術網站一般有兩種類型,一種是靜態網站,靜態網站不需要自己建站,直接使用第三方託管工具和模板即可,比如 jekyll ,hexo ,hugo 等,源代碼文件會提前編譯好,需要的功能點比較少,請求資源少,訪問的時候速度比較快,不需要和數據庫交互,以靜態頁面爲主;

動態網站一般就像是 CMS 這種內容管理系統了,這種系統需要你自己寫前端後端代碼,然後自己部署在服務器,需要和數據庫打交道,頁面請求資源多,頁面比較複雜。不過 CMS 也有一些開源項目,比如 wordpress ,halo 等,我這裏用的就是 halo 搭建的 CMS 網站。

上線一個網站,就需要準備域名、服務器、建站代碼、備案申請、備案申請後等一系列操作。

由於這不是一個建站過程帖,也不是一個建站推薦貼,只是我把網站搞好後寫的一個經驗彙總貼,所以一些過程寫的不是很完備。

關於域名

我之前一直斷斷續續的在各種網上上線準備,所以之前就已經申請過域名了,由於是小打小鬧自己建個網站把文章之類的搞上去,加點簡單功能,就沒有必要花銷太大,所以就申請了 cxuan.vip,比較便宜,一個月才 10 塊錢。

關於服務器

出發點也是類似,現在後悔之前沒有白嫖阿里雲服務器了,目前用的只是阿里雲很低端的機器,如果後續訪問量和內容上來的話再說。

建站項目

我使用的是 halo 這個開源項目,版本是 1.6 ,爲什麼選擇這個項目?因爲我認爲這是一個比較成熟的項目,社區人數衆多,github 一直在有人維護,截止到目前 halo 2.2 也已經上線了,而且功能點比較多,基本上想要的都能滿足。爲什麼選擇這個版本?我看到 2.0 之後就加了很多新功能,而且推薦的是使用 docker 部署,官方不再提供 jar 包通過服務的方式訪問,不過你可以把源碼下載下來自己打 jar 包部署。

但是由於我在用 2.1 版本的過程中出現了很多問題,而且尚未解決,我在社區發帖也沒有人回答我的問題,所以還是簡單點使用老版本了。

備案申請

準備好域名服務器就能提出備案申請了,備案申請需要很多資料,也有很多忌諱,而且備案申請後的審覈過程比較漫長。下面是我的備案過程。

比較人性的一點是,由於我買服務器的初衷就想要上線網站,所以在備案的過程中沒有怎麼使用服務器,於是阿里雲給我把使用的開始時間延期到了備案審覈成功的那一天,這點還是不錯的。

備案審覈後

備案審覈後需要在你的網站底部添加 ICP 備案號並連接至 ICP/域名信息備案管理系統。image-20230205095757376

然後在互聯網站安全管理服務平臺填寫新版網站申請,這個審覈也需要等幾天,審覈的時候會有相關人員給你打電話,然後他們會大致查看一下你的網站內容是否合規合法,再給你通過。如果你的網站涉及到評論功能的話,是否是審覈後才予以顯示,還需要填寫一個評估報告。

到這裏是否就完事了呢?

還沒有,如果你的網站搭建完成了,默認的是使用 http 協議進行訪問的,http 協議對安全性沒有保證,很容易被劫持(雖然我的網站是一個只有內容的小破站),但是安全性咱還是要保障一下的。網站想要通過 https 訪問,就需要有官方 CA 認證機構進行認證,阿里雲有免費的 https 證書可以申請使用,寶塔面板也可以授權證書,這個我沒有試過。

申請後需要把證書下載下來,下載完成後有兩個文件,一個是 .pem 文件,一個是 .key 文件,我們需要將這兩個文件上傳至服務器中對應的路徑下,通過修改 nginx.conf 配置文件配置 https。

我在配置 https 的時候花了一些時間,剛開始我不管怎麼配置發現通過 https 訪問後訪問的都是 nginx 主頁,後來發現我沒配置代理地址。。。。。。 彷彿自己是個傻子。完整的配置如下

server {
  listen       443 ssl;
  server_name  cxuan.vip;

  root html;

  index index.html index.htm;

  ssl_certificate pem 地址;
  ssl_certificate_key key 地址;
  ssl_session_timeout 5m;
  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
  ssl_prefer_server_ciphers on;

  location / {
    proxy_pass http://localhost:80;
  }
}

到這裏網站部署基本上差不多了,開始折騰圖牀,圖牀我是使用的七牛雲圖牀,我打算再配置一下 CDN ,配置 CDN 的時候要用到需要加速的域名,使用場景是作爲圖片小文件使用,配置完成後的 CDN 加速配置如下。

現在我的圖片也可以通過 http 進行訪問了,但是我使用 chrome 瀏覽器卻發現網站訪問不到圖片,我換了個 safari 瀏覽器卻可以訪問,這是爲啥呢?

原因是由於我現在的網站是 https 的,但是圖片卻是 http 協議的,當我們想要訪問 https 網站的時候,chrome 會自動把裏面的圖片等內容轉爲 https 的,safari 卻不會,但是我還沒有配置 https 的圖牀,所以訪問不到。所以現在需要配置一下圖牀的 https 訪問。

圖牀配置 https 就比較簡單了,在七牛雲域名管理,https 配置處,修改配置,把服務器上 CA 認證的 .pem 和 .key 內容直接貼上去就好,等幾分鐘就行了。

還需要配置在 typora 上使用的圖片自動上傳工具 PicGo,進行圖牀的相關配置,其中 accesskey 和 securitkey 在密鑰管理中可以看到,然後再設定響應的網址、圖牀和存儲區域即可,配置完成後在 typora 中的圖像頁面驗證一下圖片上傳即可。

至此,我這次上線內容基本上可以說算是整完了。

七牛雲上面好像還有一個圖片優化功能,能節省存儲空間和 CDN 流量,不過得花一點小錢。

然後我就把文章內容和圖片都一個個的放在了服務器路徑下,花了很長時間。halo 有一件上傳 md 文件的功能,這些文章內容都是一鍵上傳的,比較方便。

網站搭建完成後的效果如下。

其實網站也很素了,沒有太多頁面和功能,主要就是文章內容的彙總和整理,後續的個人文章會持續更新在網站上面,圖片內容幾乎都用了動漫人物做首頁,我現在也比較愛看動漫,而且我覺得畫漫畫是一件很棒的事情,如果有時間和機會的話,我也想要嘗試一下畫漫畫這事兒。

我自己設計了一個 Logo,這個 Logo 和我這個網站以及程序員一搭,有點意思。

網站的內容主要涉及操作系統、計算機網絡、Java、C、彙編、計算機書評等內容,這也是我現在寫文章的幾個方向。每個文章最後都可以評論,不過要完整的填寫姓名和郵箱這些內容,這部分做的還不太好,也是後面需要優化的點。

最後,網站地址親自呈上

https://cxuan.vip/

歡迎各位小夥伴們來玩。

如果你在閱讀文章的過程中發現錯誤和問題,請及時與我聯繫!

如果文章對你有幫助,希望小夥伴們三連走起!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章