運維概述
- 什麼是運維
服務器的運行維護 - 名詞
- IDC(互聯網數據中心)
服務器租用 機櫃租用 - 監控軟件
zabbix nagios cactti - 常用Linux操作系統
- CentOS
- Ubuntu
- RedHat
- 虛擬化
- nginx反向代理
- 流程
客戶端 -> 反向代理服務器 -> 把請求轉發給內部網絡的WEB服務器 - 作用
- 保證內網安全
- 統一調度服務器,是服務器負載均衡,優化網站的負載
- 負載均衡規則(nginx反向代理)
- 輪詢 : 逐一循環調度
- 權重(weight) : 指定輪詢機率,權重值和訪問比例成正比
- ip_hash : 根據客戶端IP分配固定的後端服務器
- 負載均衡的實現(修改nginx配置文件)
在nginx配置文件中做更改:
upstream servers{ # 定義集羣
server 10.10.10.10;
server 10.10.10.11 weight=2;
server 10.10.10.12;
server 10.10.10.13 backup;
}
server{
listen 80;
... ...
}
- 運維工具(XShell)
- xshell(軟件,安裝在windows上)
安全終端模擬軟件 - xshell使用方法
文件 - 新建 - 輸入服務器IP地址 - 用戶名 - 密碼 - 確認連接 - windows <-> Linux 文件傳輸
- 安裝lrzsz
sudo apt-get install lrzsz - windows -> Linux
xshell終端 : rz - Linux -> windows
xshell終端 : sz 文件名 - Linux常用命令
- ifconfig : 查看IP地址和MAC地址
windows: ipconfig
- ping : 測試網絡連通性
ping IP地址/域名 -c 2 - nslookup : 解析域名對應的IP地址
nslookup www.baidu.com - top : Linux下任務管理器,動態顯示當前進程CPU及內存使用率,q退出
top
按 shift + > 或者 < 進行翻頁
按 q 退出 - ps -aux : 顯示進程號(PID)
ps -aux | grep “mysql” - kill : 殺死1個進程
sudo kill [-9] PID號 - df -h : 查看磁盤使用情況
- ls -lh : h提供易讀單位
ls -lh 文件名 - chmod : 修改文件權限
查看權限 : ls -l
chmod +x test.py
chmod 644 文件名
rw-r–r-- : r(4) w(2) x(1) - wc -l : 統計文件的行數
wc -l /etc/passwd : Linux下用戶數 - sort : 對文件中內容進行排序
sort 文件名 - uniq -c 需要先排序
去除(相鄰的)重複行,並統計每行出現的次數
sort 文件名 | uniq -c - head -2 顯示前兩行
- tail -2 顯示後兩行
- ssh : 遠程連接到服務器
格式 : ssh 用戶名@IP地址
ssh [email protected] - scp
遠程複製文件/目錄
scp 文件名 用戶名@IP地址:絕對路徑 - 週期性計劃任務
- 進入週期性計劃任務
$ crontab -e
按 4 - 設置週期性計劃任務
* * * * *
分 時 日 月 周
分 : 0-59
時 : 0-23
日 : 1-31
月 : 1-12
周 : 0-6
* : 所有可能值
, : 指定多個時間點
1,5 * * * * : 01分和05分(分鐘)
/ : 指定時間間隔頻率
*/10 * * * * : 每隔10分鐘
*/10 * 1,5 1 * : 1月1號和1月5號每隔10分鐘
- : 指定一個時間段
0 0-6/1 * * * : 0-6點之間每隔1個小時
- 每分鐘執行1次01.py
* * * * * pyhon3 絕對路徑
- 每個週末的0點0分執行backup.py
0 0 * * 0,6 python3 /backup.py - 每天18:00-23:00之間,每小時執行01.py
0 18-23/1 * * * python3 /01.py - awk的使用(按行去執行動作)
- 語法格式 : awk [選項] ‘動作’ 文件列表
- 用法 : Linux命令 | awk [選項] ‘動作’
- 使用示例
- awk ‘{print “abc”}’ a.sh
- df -h | awk ‘{print $1}’
- awk -F “:” ‘{print $2}’ a.sh
a.sh內容
echo:123
echo:456 - 顯示本機的IP地址
ifconfig | head -2 | tail -1 | awk ‘{print $2}’ | awk -F ‘:’ ‘{print $2}’ - nginx的訪問日誌
/var/log/nginx/access.log - 把訪問過自己的IP地址給輸出來
awk ‘{print $1}’ access.log - 統計有多少個IP訪問過我
wc -l access.log - 統計每個IP地址訪問的次數,把訪問最多的前2個IP輸出出來
awk ‘{print $1}’ access.log | sort | uniq -c
awk ‘{print $1}’ access.log | sort | uniq -c | sort -rnk 1 | head -2 - sort的參數
- sort : 排序
- sort | uniq -c : 去重,統計每行次數
- sort -n : 以數值方式來排序
- sort -n -k 1 : 按照第1列來排序
- sort -r : 倒序排列
sort -rnk 1