使用Hugo框架搭建博客的過程 - 部署


前言

完成前期的准備工作后,在部署階段需要配置服務器或對象存儲服務。

對象存儲和服務器對比

對象存儲平台

國內有阿里雲OSS、騰訊COS、又拍雲、七牛雲等。國外有Github Pages、Netlify、Azure、Google等,其中Github Pages免費,但是有個說法:Github屏蔽百度爬蟲,使用Github Pages的網站百度搜不到。

對象存儲平台也可以做為Markdown圖床,配合CDN,加快圖片加載速度。

筆者的服務器是阿里家的,所以對象存儲也用了阿里雲OSS。

阿里雲OSS部署參考

對象存儲的配置非常簡單,哈嘍沃德先生的這篇文章已經很詳細了,按照這篇文章可以完成上傳操作。文章最后的“閱讀全文”可以繞過,方法是在Chrome控制台的Network中找到readmore.js,右鍵Block request URL

需要注意的是,上傳的Bucket要設置為公共讀權限,同時限制Refer,做好防盜鏈。

服務器

平時有使用VPS需求,可選擇使用VPS。

對比

  1. 對象存儲:
    優點:便宜,不需要搭建環境。
    缺點:流量費用,要考慮圖床的防盜鏈。
  2. 服務器:
    優點各種踩坑😔,可以提升技能。
  3. 費用:
    對象存儲平台不考慮流量費:7.2元/年。
    阿里雲服務器,學生黨及年齡小於等於24歲:10元/月;不滿足以上條件的個人:121元/月。
  4. 結論
    對象存儲上手簡單,成本低。

服務器環境

不使用服務器部署的讀者,可跳過這部分。

操作系統Ubuntu

更新安裝源
apt update

修改hostname

hostnamectl --static set-hostname localhost  
重啟  

安裝軟件

apt install git  
apt install nginx   
apt install rz  
apt install unzip  

SSH安全配置

  • 安全組限制IP通過SSH遠程登陸。如果使用Github Action安全組無法限制,Github Action的服務器部署在Azure上,官方文檔中包含幾萬行IP段,不適合做限制。
  • 修改22端口。由於第一個原因,只能修改端口。否則Massscan3分鍾全網段掃描,觸發SSH口令暴力破解,幾乎每天都有告警。注意!修改之后,確定其他端口可以登陸再關閉22端口。
  • 配置SSH key避免執行*git*命令時用戶密碼驗證。

Nginx配置

root權限啟動。避免前端訪問403的問題。/etc/nginx/nginx.conf中啟動配置的用戶與實際啟動nginx的用戶需要保持一致,可修改為低權限用戶啟動。
如果Nginx版本存在漏洞,以root權限啟動,存在被拿到root權限的風險。
配置 /etc/nginx/nginx.conf

...
include /etc/nginx/conf.d/*.conf;
# 注釋下面這行。如果sites-enabled/路徑下存在默認配置文件,可能覆蓋/etc/nginx/conf.d/default.conf配置
# include /etc/nginx/sites-enabled/*;
...

配置 /etc/nginx/conf.d/default.conf配置

server { 
    listen 80; 
    server_name www.xiaodejiyi.com xiaodejiyi.com; # 注意www和沒有www都要配置
    index index.html index.htm; 
    root /var/www/html/public; 
    
    location / { 
        root /var/www/html/public; 
        index index.html; 
    } 
    error_page 404 /404.html; 
}

上傳

將blog的public目錄壓縮為zip格式,使用rz命令上傳到服務器上,unzip命令解壓到Nginx配置的網站根目錄中。

正常情況下,域名解析到CDN,CDN設置源站IP。到這一部可以訪問域名,查看部署結果。如果blog配置未完成,可以先上傳一張圖片做測試。

參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM