【问题标题】:How to get nginx running exact port on linux如何让 nginx 在 linux 上运行准确的端口
【发布时间】:2023-01-25 01:00:03
【问题描述】:

如果我执行下面的评论,结果将是这样的8060 0.0.0.0

网络统计-antup | grep nginx |awk '{print $4 "\t" $5 }' |剪切-d“:”-f2

但我希望结果是这样的8060

【问题讨论】:

    标签: shell


    【解决方案1】:

    不确定命令的原始响应是什么,但只是再次切断响应是一种方式

    netstat -antup | grep nginx |awk '{print $4 "	" $5 }' | cut -d ":" -f2 | cut -d " " -f1
    

    【讨论】:

    • 8060 0.0.0.0 8060 192.168.1.21它是这样来的
    【解决方案2】:

    解构您提供的命令,netstat -antup 打印这些信息:

    $ netstat -antup
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 127.0.0.1:8060         0.0.0.0:*               LISTEN      XYZ/nginx
    ...
    

    你只需要“8060”,这是 nginx 正在监听的端口。

    下一部分很好。 grep nginx |awk '{print $4}' 给你相应的本地地址。您不需要 " " $5 部分,因为外国地址与此处无关。

    中间结果应如下所示:

    $ netstat -antup | grep nginx | awk '{print $4}'
    127.0.0.1:8060
    

    现在端口是“:”之后的最后一部分。请注意,IPv6 地址也包含“:”。所以我建议剪掉最后一个而不是第二个。 您可以这样做,方法是还原输出、剪切第一位并再次还原:

    $ netstat -antup | grep nginx | awk '{print $4}' | rev | cut -d":" -f1 | rev
    8060
    

    等瞧。所需的输出

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-15
      • 1970-01-01
      • 2019-09-15
      • 1970-01-01
      • 1970-01-01
      • 2016-06-06
      • 1970-01-01
      • 2018-12-26
      相关资源
      最近更新 更多