一 、根據(jù)端口號 查看文件的部署位置
1.1 使用查看端口號對應(yīng)的進(jìn)程信息
- 方式一 :
使用netstat命令
netstat -tuln | grep 端口號
-
-t:顯示TCP連接
-
-u:顯示UDP連接
-
-l:僅顯示監(jiān)聽狀態(tài)的連接
-
-n:以數(shù)字形式顯示端口號,而不是以服務(wù)名稱顯示
通過管道符號|將netstat的輸出結(jié)果傳遞給grep命令,用于過濾出包含指定端口號的行。
執(zhí)行命令后,終端將顯示與該端口號相關(guān)的進(jìn)程信息,包括進(jìn)程ID(PID)和進(jìn)程名稱。
- 方法二:使用lsof命令
lsof -i :端口號
-
-i:顯示與網(wǎng)絡(luò)相關(guān)的文件
-
:端口號:過濾出指定端口號的結(jié)果
執(zhí)行命令后,終端將顯示與該端口號相關(guān)的進(jìn)程信息,包括進(jìn)程ID(PID)和進(jìn)程名稱。
2. 通過進(jìn)程pid 查詢對應(yīng)的部署文件的進(jìn)程文件位置
- 方式一
使用/proc/pid
查看進(jìn)程的文件的位置
ll /proc/PID
cwd符號鏈接的是進(jìn)程運(yùn)行目錄;
exe符號連接就是執(zhí)行程序的絕對路徑;
cmdline就是程序運(yùn)行時輸入的命令行命令;
environ記錄了進(jìn)程運(yùn)行時的環(huán)境變量;
fd目錄下是進(jìn)程打開或使用的文件的符號連接。
- 方式二
通過
ps -ef |grep 服務(wù)名
顯示服務(wù)的啟動參數(shù) 服務(wù)名 ,進(jìn)程pid 進(jìn)程位置
二 、根據(jù)進(jìn)程pid 查詢占用的服務(wù) 端口
1、netstat命令
使用netstat命令可以查看系統(tǒng)的網(wǎng)絡(luò)連接和監(jiān)聽情況。以下是使用netstat命令查看程序占用端口號的示例:
netstat -tuln | grep<進(jìn)程名或PID>
該命令將列出所有正在監(jiān)聽和建立的TCP和UDP連接,并篩選出與指定進(jìn)程相關(guān)的端口號信息。
2、lsof命令
lsof命令可以列出系統(tǒng)當(dāng)前打開的文件和進(jìn)程信息。以下是使用lsof命令查看程序占用端口號的示例:
lsof -i :<端口號>
lsof -i TCP:<端口號>
lsof -i UDP:<端口號>
該命令將列出所有占用指定端口號的進(jìn)程信息。
3、ss命令
ss是netstat的替代工具,提供更快速和高效的網(wǎng)絡(luò)連接信息查詢。以下是使用ss命令查看程序占用端口號的示例:
ss -tuln | grep <進(jìn)程名或PID>
該命令將列出所有正在監(jiān)聽和建立的TCP和UDP連接,并篩選出與指定進(jìn)程相關(guān)的端口號信息。
4、/proc文件系統(tǒng)
Linux系統(tǒng)中,每個運(yùn)行的進(jìn)程都有一個對應(yīng)的目錄在/proc目錄下,可以通過訪問這些目錄中的文件獲取相關(guān)信息。以下是使用/proc文件系統(tǒng)查看程序占用端口號的示例:
ls -l /proc//fd | grep socket
其中,為進(jìn)程的PID,該命令將列出指定進(jìn)程的打開的套接字文件鏈接,從中可以獲取端口號。
4. 方式 三
https://blog.csdn.net/tjcwt2011/article/details/129390090
使用以下命令
ss:可以用于轉(zhuǎn)儲套接字統(tǒng)計(jì)信息。
netstat:可以顯示打開的套接字列表。
lsof:可以列出打開的文件。
fuser:可以列出那些打開了文件的進(jìn)程的進(jìn)程 ID。
nmap:是網(wǎng)絡(luò)檢測工具和端口掃描程序。
systemctl:是 systemd 系統(tǒng)的控制管理器和服務(wù)管理器。
以下我們將找出 sshd 守護(hù)進(jìn)程所使用的端口號。
三 、nginx 通過端口查看配置文件和日志
查看配置
1. 查看nginx的進(jìn)程id
#查詢nginx是9000端口的PID
netstat -lntup | grep 9000
2. 查詢對應(yīng)端口的nginx路徑
ll /proc/pid/
ll /proc/15029/
在nginx 執(zhí)行目錄下查看配置文件的目錄
使用-t參數(shù)獲取改進(jìn)程對應(yīng)的配置文件路徑
/usr/local/nginx/sbin/nginx -t
nginx 服務(wù)命令
#啟動
sbin/nginx -s start
#停止
sbin/nginx -s stop
#重啟
sbin/nginx -s reload
nginx 的日志
在默認(rèn)情況下,Nginx 服務(wù)器會將訪問日志記錄到 access.log 中,錯誤日志記錄到 error.log 中。
- access.log 主要用于監(jiān)控 Web 請求,
- error.log 則用于診斷 Web 服務(wù)器的錯誤和問題
Nginx 日志文件的配置可以在 Nginx 配置文件中進(jìn)行。以下是幾個常用的配置選項(xiàng):
access_log:指定訪問日志文件的路徑和名稱,可以包含變量和時間格式。例如:
access_log /var/log/nginx/access.log main_log;
上述配置將訪問日志文件保存在 /var/log/nginx/access.log 中,使用 main_log 作為時間格式。
- error_log:指定錯誤日志文件的路徑和名稱。例如:
error_log /var/log/nginx/error.log info;
四、lsof 命令詳解
lsof 命令
lsof -i:8080:查看8080端口占用
lsof abc.txt:顯示開啟文件abc.txt的進(jìn)程
lsof -c abc:顯示abc進(jìn)程現(xiàn)在打開的文件
lsof -c -p 1234:列出進(jìn)程號為1234的進(jìn)程所打開的文件
lsof -g gid:顯示歸屬gid的進(jìn)程情況
lsof +d /usr/local/:顯示目錄下被進(jìn)程開啟的文件
lsof +D /usr/local/:同上,但是會搜索目錄下的目錄,時間較長
lsof -d 4:顯示使用fd為4的進(jìn)程
lsof -i -U:顯示所有打開的端口和UNIX domain文件
netstat 命令
-a 顯示所有連接
-t 顯示tcp連接
-u 顯示udp連接
-l 顯示監(jiān)聽端口的鏈接
-p 顯示監(jiān)聽端口對應(yīng)的程序
-n 禁止將端口號轉(zhuǎn)換成別名顯示
netstat 過濾監(jiān)聽狀態(tài)的UDP端口
netstat -lup|grep 323
說明:
323:代表要過濾的端口號
lup:三個參數(shù)表示顯示UDP端口監(jiān)聽狀態(tài)的程序名稱
grep:根據(jù)端口號到過濾
netstat 過濾監(jiān)聽狀態(tài)的TCP端口
netstat -ltnp|grep 22
說明:
22:代表要過濾的端口號
ltnp:四個參數(shù)表示顯示TCP端口監(jiān)聽狀態(tài)的程序名稱
grep:根據(jù)端口號到過濾
netstat 過濾監(jiān)聽狀態(tài)的TCP端口別名
netstat -ltp|grep ssh
說明:
22:代表要過濾的端口號
ltp:三個參數(shù)表示顯示TCP端口別名監(jiān)聽狀態(tài)的程序名稱
grep:根據(jù)端口別名到過濾
netstat 命令返回值說明
netstat -anp
說明:
Proto:代表協(xié)議(tcp、tcp6、udp、udp6)
Recv-Q:數(shù)據(jù)已經(jīng)在本地接收緩沖,但是還沒有recv()
Send-Q:對方?jīng)]有收到的數(shù)據(jù)或者說沒有Ack的,還是本地緩沖區(qū)
Local Address: 本地IP:本地端口
Foreign Address: 遠(yuǎn)程IP:遠(yuǎn)程端口
State:鏈接狀態(tài)(監(jiān)聽狀態(tài)、建立連接狀態(tài)等)
PID:進(jìn)程PID號文章來源:http://www.zghlxwxcb.cn/news/detail-765921.html
Program name:程序名字文章來源地址http://www.zghlxwxcb.cn/news/detail-765921.html
到了這里,關(guān)于linux 服務(wù)器進(jìn)程、端口查找,nginx 配置日志查找,lsof 命令詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!