伺服器就像飛機一樣,裡面有一個「黑盒子」(/var/log)。當網站出現 500 錯誤,或是有人嘗試暴力破解你的 SSH 密碼時,第一時間絕對不是盲目猜測,而是打開 Log 尋找蛛絲馬跡。
必備日誌排查工具與路徑
| 日誌檔路徑 | 記錄內容 | 適用情境 |
|---|---|---|
| /var/log/syslog | 系統綜合日誌 | 系統服務出錯、硬體或核心訊息排查 |
| /var/log/auth.log | 身份驗證日誌 | 查看 SSH 登入成功/失敗紀錄、sudo 指令使用紀錄 |
| /var/log/nginx/access.log | Nginx 存取日誌 | 紀錄哪些 IP 在什麼時間存取了什麼網頁 |
| /var/log/nginx/error.log | Nginx 錯誤日誌 | 網頁開不起來、500 Internal Server Error 排查 |
實作
搜尋身份驗證與授權紀錄
執行指令:sudo grep "accepted" /var/log/auth.log
操作目的:從系統安全日誌中篩選出成功驗證(如 SSH 登入或 sudo 提權)的紀錄。
解析:系統會詳細紀錄發起動作的帳號、時間點以及所使用的終端機編號(TTY)。
即時監控網站造訪日誌
執行指令:tail -f /var/log/nginx/access.log
操作目的:即時捕捉來訪者的 IP、請求時間、造訪路徑與 HTTP 回應狀態碼(如 200 正常存取、304 調用快取、404 找不到頁面)。
結束方式:按下 Ctrl + C 即可中斷即時監控並返回終端機。
查看網站伺服器錯誤紀錄
執行指令:sudo tail -n 10 /var/log/nginx/error.log
操作目的:只讀取錯誤日誌檔案的最後 10 行,快速排查網站是否有發生 500 錯誤或服務異常。
解析:若僅顯示 [notice] 級別訊息且無 [error],代表網頁伺服器目前狀態正常無虞。