天天看點

個人伺服器運維指南 (持續更新)

去年我寫了一篇文章: 當我有一台伺服器時做了什麼

。當時為了不至于浪費我在阿裡雲低價優惠買的伺服器,于是使用 docker 跑了一個應用,并參照我司的技術架構搭建了相關的基礎設施。

現在仔細想來,這些經驗也非常有益于有一台伺服器卻不知所措的人,于是有了本系列文章,希望能夠幫助到那些伺服器買來已久卻在吃灰的人。 另外如果你是一個自由開發者,本系列文章或許對你環境搭建也會有些許啟發。

如果對你能夠有所幫助,可以幫我在 shfshanyue/op-note 上點個 star。

如果你是新人的話,目前在阿裡雲買機器會有優惠,可以點選

連結

購買

目錄

    1. 序·當我有一台伺服器時我做了什麼
    2. [序·當我有一台伺服器時我做了什麼(2019)]() - TODO
  1. 如果沒有伺服器
    1. 如果你隻想搭一個部落格
    2. [靜态網站托管: netlify]() - TODO
    3. [免費的 API Server 與資料存儲]() - TODO
    4. [申請你的域名郵箱]() - TODO
    5. [使用 sentry 做異常監控]() - TODO
  2. 伺服器初始化配置
    1. 伺服器初始登入配置:ssh-config
    2. 伺服器ssh key 以及 git 的配置 · (掘金)
    3. 系統資訊檢視相關指令
    4. 使用 vim 及其配置
    5. 視窗複用與 tmux
    6. openvpn 配置與内網安全 - TODO
  3. 自動化運維
    1. 使用 ansible 做自動化運維
    2. ansible 中的細節問題
  4. docker 與應用開發
    1. 使用 docker 高效部署前端
    2. 部署異常監控服務 Sentry
  5. k8s 與應用開發
    1. 搭建一個 k8s 叢集
    2. 部署你的第一個應用: Pod,Deployment 與 Service
    3. 通過外部域名通路你的應用: Ingress
    4. 自動為你的域名添加 https
    5. 部署利器 Helm 安裝及簡介
  6. 監控
    1. linux 各項監控名額
    2. [linux 監控與報警]() - TODO
  7. 高頻 linux 指令
    1. sed
    2. awk
    3. jq
    4. iptables
    5. htop

00 如果沒有伺服器 · PaaS

随着 PaaS 的流行, 沒有錢沒有伺服器也可以作很多事情。如

  • netlify

    托管網站
  • github

    托管私有倉庫,并結合

    github action

    CI/CD

  • quay

    建構鏡像
  • cloudflare

    免費的 CDN
  • sentry

    異常上報
  • aws-lambda

    簡單的 API

如果說有什麼缺陷的話,那就是因為網絡而造成的速度問題了。 本章目錄如下

01 伺服器初始化配置

當我有了伺服器時,我應該先在上邊做點什麼準備工作?

  • ssh-config: 友善很快地進入伺服器
  • ssh key: 友善 git 的設定,以及與其它伺服器互相 ssh
  • vim/tmux: 友善在 linux 下工作
  • htop/rsync/lsof/git/...: 等基礎軟體與依賴的配置

如果使用

ansible

,能夠在三分鐘内快速配置完所有前置準備工作。 本章目錄如下

02 自動化運維

在做伺服器初始的準備工作中,如果隻有一台伺服器就很簡單,但是有了多台就需要考慮一下自動化運維了

03 docker 與應用開發

當伺服器的準備工作結束後,就可以使用它部署一些服務或者簡單的應用了:

  • 一個簡單的靜态部落格,能夠了解前端部署的大緻流程
  • postgres/redis,做一些測試,存一些有用的資料
  • 一個有狀态的後端應用,并用 docker 部署,簡單了解後端部署以及前後端配合的大緻流程
  • nginx 的反向代理
  • https 證書

如果你剛剛接觸伺服器,我建議你學習并實踐下 docker,不管你是一個前端還是後端都會大有裨益,目錄如下

04 kubernetes 與應用開發

如果你有多台伺服器,建議盡可能搭建一個 k8s cluster。結合

kubernetes

helm

,部署也變得相當簡單了

05 監控

06 高頻 linux 指令

記錄下來備忘