linux 服务器进程、端口查找,nginx 配置日记查找,lsof 命令详解 ...

打印 上一主题 下一主题

主题 606|帖子 606|积分 1818

一 、根据端口号 检察文件的部署位置

1.1 利用检察端口号对应的进程信息



  • 方式一 :
    利用netstat命令
  1. netstat -tuln | grep 端口号
复制代码


  • -t:显示TCP毗连
  • -u:显示UDP毗连
  • -l:仅显示监听状态的毗连
  • -n:以数字情势显示端口号,而不是以服务名称显示
通过管道符号|将netstat的输出结果通报给grep命令,用于过滤出包含指定端口号的行。
执行命令后,终端将显示与该端口号相干的进程信息,包罗进程ID(PID)和进程名称。


  • 方法二:利用lsof命令
  1. lsof -i :端口号
复制代码


  • -i:显示与网络相干的文件
  • :端口号:过滤出指定端口号的结果
执行命令后,终端将显示与该端口号相干的进程信息,包罗进程ID(PID)和进程名称。
2. 通过进程pid 查询对应的部署文件的进程文件位置



  • 方式一
    利用/proc/pid
    检察进程的文件的位置
  1. ll /proc/PID
复制代码

cwd符号链接的是进程运行目次;
exe符号毗连就是执行程序的绝对路径;
cmdline就是程序运行时输入的命令行命令;
environ记录了进程运行时的情况变量;
fd目次下是进程打开或利用的文件的符号毗连。


  • 方式二
    通过
  1. ps -ef |grep 服务名
复制代码
显示服务的启动参数 服务名 ,进程pid 进程位置
二 、根据进程pid 查询占用的服务 端口

1、netstat命令

利用netstat命令可以检察系统的网络毗连和监听情况。以下是利用netstat命令检察程序占用端口号的示例:
netstat -tunlp | grep<进程名或PID>
该命令将列出所有正在监听和创建的TCP和UDP毗连,并筛选出与指定进程相干的端口号信息。
2、lsof命令

lsof命令可以列出系统当前打开的文件和进程信息。以下是利用lsof命令检察程序占用端口号的示例:
lsof -i :<端口号>
lsof -i TCP:<端口号>
lsof -i UDP:<端口号>
该命令将列出所有占用指定端口号的进程信息。
3、ss命令

ss是netstat的替换工具,提供更快速和高效的网络毗连信息查询。以下是利用ss命令检察程序占用端口号的示例:
ss -tuln | grep <进程名或PID>
该命令将列出所有正在监听和创建的TCP和UDP毗连,并筛选出与指定进程相干的端口号信息。
4、/proc文件系统

Linux系统中,每个运行的进程都有一个对应的目次在/proc目次下,可以通过访问这些目次中的文件获取相干信息。以下是利用/proc文件系统检察程序占用端口号的示例:
ls -l /proc//fd | grep socket
此中,为进程的PID,该命令将列出指定进程的打开的套接字文件链接,从中可以获取端口号。
或则利用pwdx 命令 检察进程启动时的工作目次
pwdx 命令主要用于检察当前pid进程启动时的工作目次,其语法格式如下:
  1. pwdx pid...
复制代码
  1. [oracle@Oracle ~]$ pwdx 2778                                                                #这样我们就知道了2778这个进程号是属于Oracle的
  2. 2778: /u01/app/oracle/product/12.1.0.2/db_1/dbs
  3. [oracle@Oracle ~]$
复制代码
4. 方式 三

https://blog.csdn.net/tjcwt2011/article/details/129390090
利用以下命令
ss:可以用于转储套接字统计信息。
netstat:可以显示打开的套接字列表。
lsof:可以列出打开的文件。
fuser:可以列出那些打开了文件的进程的进程 ID。
nmap:是网络检测工具和端口扫描程序。
systemctl:是 systemd 系统的控制管理器和服务管理器。
以下我们将找出 sshd 守护进程所利用的端口号。
三 、nginx 通过端口检察配置文件和日记

检察配置

1. 检察nginx的进程id

  1. #查询nginx是9000端口的PID
  2. netstat -lntup | grep 9000
复制代码

2. 查询对应端口的nginx路径

ll /proc/pid/
  1. ll /proc/15029/
复制代码

在nginx 执行目次下检察配置文件的目次

利用-t参数获取改进程对应的配置文件路径
  1. /usr/local/nginx/sbin/nginx -t
复制代码

nginx 服务命令

  1. #启动
  2. sbin/nginx -s start
  3. #停止
  4. sbin/nginx -s stop
  5. #重启
  6. sbin/nginx -s reload
复制代码
nginx 的日记

在默认情况下,Nginx 服务器会将访问日记记录到 access.log 中,错误日记记录到 error.log 中。


  • access.log 主要用于监控 Web 请求,
  • error.log 则用于诊断 Web 服务器的错误和题目
Nginx 日记文件的配置可以在 Nginx 配置文件中举行。以下是几个常用的配置选项:
access_log:指定访问日记文件的路径和名称,可以包含变量和时间格式。例如:
  1. access_log /var/log/nginx/access.log main_log;
复制代码
上述配置将访问日记文件生存在 /var/log/nginx/access.log 中,利用 main_log 作为时间格式。

  • error_log:指定错误日记文件的路径和名称。例如:
  1. error_log /var/log/nginx/error.log info;
复制代码
四、lsof 命令详解

lsof 命令

  1. lsof -i:8080:查看8080端口占用
  2. lsof abc.txt:显示开启文件abc.txt的进程
  3. lsof -c abc:显示abc进程现在打开的文件
  4. lsof -c -p 1234:列出进程号为1234的进程所打开的文件
  5. lsof -g gid:显示归属gid的进程情况
  6. lsof +d /usr/local/:显示目录下被进程开启的文件
  7. lsof +D /usr/local/:同上,但是会搜索目录下的目录,时间较长
  8. lsof -d 4:显示使用fd为4的进程
  9. lsof -i -U:显示所有打开的端口和UNIX domain文件
复制代码

netstat 命令

-a 显示所有毗连
-t 显示tcp毗连
-u 显示udp毗连
-l 显示监听端口的链接
-p 显示监听端口对应的程序
-n 禁止将端口号转换成别名显示
netstat 过滤监听状态的UDP端口

  1. netstat -lup|grep 323
复制代码

说明:
323:代表要过滤的端口号
lup:三个参数表示显示UDP端口监听状态的程序名称
grep:根据端口号到过滤
netstat 过滤监听状态的TCP端口
  1. netstat -ltnp|grep 22
复制代码

说明:
22:代表要过滤的端口号
ltnp:四个参数表示显示TCP端口监听状态的程序名称
grep:根据端口号到过滤
netstat 过滤监听状态的TCP端口别名
  1. netstat -ltp|grep ssh
复制代码

说明:
22:代表要过滤的端口号
ltp:三个参数表示显示TCP端口别名监听状态的程序名称
grep:根据端口别名到过滤
netstat 命令返回值说明
netstat -anp

说明:
Proto:代表协议(tcp、tcp6、udp、udp6)
Recv-Q:数据已经在本地接收缓冲,但是还没有recv()
Send-Q:对方没有收到的数据大概说没有Ack的,还是本地缓冲区
Local Address: 本地IP:本地端口
Foreign Address: 长途IP:长途端口
State:链接状态(监听状态、创建毗连状态等)
PID:进程PID号
Program name:程序名字

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

铁佛

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表