.bashrc 文件修改
cd /root
ll -a
vim .bashrc
文件修改
# .bashrc
# User specific aliases and functions
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias netip="/home/soft/netip.sh"
alias vhost="cd /usr/local/nginx/conf/vhost"
alias www="cd /data/www"
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# 保存後刷新
source .bashrc
查看服務器IP鏈接數
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
1、查看哪些IP鏈接本機
netstat -an
2、查看TCP鏈接數
1)統計80端口鏈接數
netstat -nat|grep -i "80"|wc -l
2)統計httpd協議鏈接數
ps -ef|grep httpd|wc -l
3)、統計已鏈接上的,狀態爲「established
netstat -na|grep ESTABLISHED|wc -l
4)、查出哪一個IP地址鏈接最多,將其封了.
netstat -na|grep ESTABLISHED|awk {print $5}|awk -F: {print $1}|sort|uniq -c|sort -r +0n
netstat -na|grep SYN|awk {print $5}|awk -F: {print $1}|sort|uniq -c|sort -r +0n
---------------------------------------------------------------------------------------------
一、查看apache當前併發訪問數:
netstat -an | grep ESTABLISHED | wc -l
對比httpd.conf中MaxClients的數字差距多少。
二、查看有多少個進程數:
ps aux|grep httpd|wc -l
三、可使用以下參數查看數據
server-status?auto
#ps -ef|grep httpd|wc -l
1388
統計httpd進程數,連個請求會啓動一個進程,使用於Apache服務器。
表示Apache可以處理1388個併發請求,這個值Apache可根據負載狀況自動調整。
#netstat -nat|grep -i "80"|wc -l
4341
netstat -an會打印系統當前網絡連接狀態,而grep -i "80"是用來提取與80端口有關的鏈接的,wc -l進行鏈接數統計。
最終返回的數字就是當前全部80端口的請求總數。
#netstat -na|grep ESTABLISHED|wc -l
376
netstat -an會打印系統當前網絡連接狀態,而grep ESTABLISHED 提取出已創建鏈接的信息。 而後wc -l統計。
最終返回的數字就是當前全部80端口的已創建鏈接的總數。
netstat -nat||grep ESTABLISHED|wc - 可查看全部創建鏈接的詳細記錄
查看Apache的併發請求數及其TCP鏈接狀態:
Linux命令:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
(
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’
TIME_WAIT 8947 等待足夠的時間以確保遠程TCP接收到鏈接中斷請求的確認
FIN_WAIT1 15 等待遠程TCP鏈接中斷請求,或先前的鏈接中斷請求的確認
FIN_WAIT2 1 從遠程TCP等待鏈接中斷請求
ESTABLISHED 55 表明一個打開的鏈接
SYN_RECV 21 再收到和發送一個鏈接請求後等待對方對鏈接請求的確認
CLOSING 2 沒有任何鏈接狀態
網絡查看
iptraf // 不是系統自帶的
安裝:yum install -y iptraf
nload // 不是系統自帶程序
安裝:yum install -y nload
ifstat // 不是系統自帶程序
安裝:yum install -y ifstat
tcpdump // 洞察網絡封包
實例:
# tcpdump -i eth0 not port 22
# tcpdump -c 10 -i eth0
# tcpdump -ni eth0 -c 10 not port 22
# tcpdump -w aloft.cap -s 0
# tcpdump -r aloft.cap
# tcpdump -i eth0 dst port 80
ss // 網絡管理的現代替代品
實例:
# ss -tnap
# ss -tnap6
# ss -tnap
# ss -s
# ss -tn -o state established -p
iftop // 相似top的了網絡鏈接工具
顯示說名:
TX:發送流量
RX:接收流量
TOTAL:總流量
Cumm:運行iftop到目前時間的總流量
peak:流量峯值
rates:分別表示過去 2s 10s 40s 的平均流量
參數說名:
-i設定監測的網卡,如:# iftop -i eth1
-B 以bytes爲單位顯示流量(默認是bits),如:# iftop -B
-n使host信息默認直接都顯示IP,如:# iftop -n
-N使端口信息默認直接都顯示端口號,如: # iftop -N
-F顯示特定網段的進出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
-h(display this message),幫助,顯示參數信息
-p使用這個參數後,中間的列表顯示的本地主機信息,出現了本機之外的IP信息;
-b使流量圖形條默認就顯示;
-f這個暫時還不太會用,過濾計算包用的;
-P使host信息及端口信息默認就都顯示;
-m設置界面最上邊的刻度的最大值,刻度分五個大段顯示,例:# iftop -m 100M
PHP經常使用錯誤排查命令
strace -s 4096 -f -F $(pidof "php" | sed 's/\([0-9]*\)/-p \1/g')
# 查找PHP
which php
# 查找rpm包安裝的PHP相關包
rpm -qa|grep php
# 重命名php命令
mv /usr/bin/php /usr/bin/phpold
# 新建PHP軟鏈接命令
ln -s /usr/local/php/bin/php /usr/bin/php
標題文字
# 查看CPU使用狀況的命令
# 每5秒刷新一次,最右側有CPU的佔用率的數據
vmstat 5
# 查看內存使用狀況的命令
# 用free命令查看內存使用狀況
free -m
# 查看磁盤i/o
# 用iostat查看磁盤/dev/sdc3的磁盤i/o狀況,每兩秒刷新一次
iostat -d -x /dev/sdc3 2
# 如何查看目標主機192.168.0.1開放那些端口
nmap -PS 192.168.0.1
# 查看系統錯誤
dmesg|tail
# 查看服務器TCP鏈接數量
watch -n 1 -d "ss -s "
# 查看服務器帶寬消耗
nload
# top 而後按Shift+P,按照進程處理器佔用率排序
top
# 查詢當前網卡網絡流量
iftop -i eth1
# 查看當前目錄大小
du -sh /data/
# 查看服務器磁盤空間佔用狀況
df -h
# 查看PHP進程通訊信息
strace -s 4096 -f -F $(pidof "php-fpm" | sed 's/\([0-9]*\)/-p \1/g')
文件相關操做
# 對大文件進行切割
# 按每一個文件1000行來分割
split -l 1000 httperr8007.log httperr
# 按照每一個文件5m來分割
split -b 5m httperr8007.log httperr
# 合併文件
# 取出兩個文件的並集(重複的行只保留一份)
cat file1 file2 | sort | uniq
# 取出兩個文件的交集(只留下同時存在於兩個文件中的文件)
cat file1 file2 | sort | uniq -d
# 刪除交集,留下其餘的行
cat file1 file2 | sort | uniq –u