Linux安装了哪些服务器,linux查看服务器命令是什么?

在 Linux 系统里查看“安装了哪些服务器”,最快的方法是先跑 systemctl list-units --type=service --state=running,再看 ss -tlnp,两者一结合,正在运行的服务和对应端口全都会现出原形。

很多人会把“服务器”理解成物理机,但在日常运维里,这个词通常指服务端软件,Nginx、Apache、MySQL、Redis、vsftpd 这类程序,Linux 本身不限制你装多少个,所以学会查看已安装的服务和正在监听的端口,是排查故障、安全检查的第一步,下面从命令、包管理、实际场景三个角度带你过一遍。

5分钟学会查看Linux端口占用情况
加载中
5分钟学会查看Linux端口占用情况

linux查看已安装服务命令:先分清服务与端口

在 Linux 中,“已安装”和“正在运行”是两个状态,你用 yum install nginx 装了 Nginx,但没启动,那它就不监听端口,所以查看时要分两条线:一条看服务单元,一条看网络端口。

用systemd查看运行中的服务

目前主流发行版(CentOS 7+、Ubuntu 15.04+、Debian 8+)都用 systemd 管理服务,查看正在运行的服务,执行:

  • systemctl list-units --type=service --state=running

这个命令会列出所有 active 状态的服务,每一行包含服务名、加载状态、活跃状态和简介,如果想看所有已安装的服务,不管有没有在运行,用:

  • systemctl list-unit-files --type=service

注意,list-unit-files 只显示服务单元文件存在与否,不代表进程活着,系统里有很多系统服务,systemd-journald、dbus,它们属于系统基础组件,不用太在意。

老系统用service和chkconfig

如果你维护的是一台 CentOS 6 或更老的机器,那可能没有 systemd,这时候可以用:

  • service --status-all 列出所有已知服务当前状态
  • chkconfig --list 查看开机启动项

Linux 查看已安装服务命令在不同版本上差异不小,老命令在 systemd 系统上也能跑,但只能识别写进 /etc/init.d/ 的脚本,很多新服务不会被列出来,所以优先用 systemctl。

linux查看服务状态用systemctl还是service?对比给你看

实际工作中,你可能会在博客或教程里看到两种写法:systemctl status nginx

Linux安装了哪些服务器,linux查看服务器命令是什么?

和 service nginx status,到底用哪个?这取决于你的系统初始化方式。

对比项 systemctl service
适用系统 CentOS 7+、Ubuntu 15.04+ CentOS 6、老 Debian
查看单个服务状态 systemctl status name service name status
查看所有服务 list-units --status-all
对 systemd 服务的支持 原生支持 需兼容层
重启服务 systemctl restart name service name restart

行业共识认为,systemd 已经成为现代 Linux 的标准初始化系统,所以新装的系统直接用 systemctl 就好,service 命令本质上会调用 systemctl,只是语法上兼容老习惯,如果是在脚本里写监控逻辑,为了兼容新旧系统,可以先判断系统里有没有 systemctl 命令再决定用哪种。

很多人在搜索“linux查看服务状态 systemctl和service哪个好”时,其实真正想要的是:一个命令能列出所有正在监听的服务,这时候不要只盯着 systemctl,还得结合端口去查,因为有些服务根本不注册 systemd 单元,比如手动编译安装的 Nginx。

用端口反查服务器程序:ss和netstat实战

对外提供服务的程序一定会占用一个 TCP 或 UDP 端口,反过来,你只要看本机有哪些端口在监听,就能推测出装了哪些服务器。

查看所有监听端口

最推荐的命令是:

  • ss -tlnp

解释一下参数:-t 只看 TCP,-l 只看监听状态,-n 直接显示端口号而不解析服务名,-p 显示对应的进程信息,输出大概长这样:

LISTEN 0 511 0.0.0.0:80 0.0.0.0: users:(("nginx",pid=1234,fd=6))

看到 0.0.0:80 和 nginx 进程,就知道这台机器装了 Nginx 并正在监听 80 端口。

如果你的系统没有 ss 命令(老版本或精简镜像),可以用:

  • netstat -tlnp

注意 netstat 在很多新发行版里默认不安装,需要你自己装

Linux安装了哪些服务器,linux查看服务器命令是什么?

net-tools 包。ss 是 iproute2 套件的一部分,几乎必带。

查某个端口被谁占用

假设你想确认 3306 端口是不是被 MySQL 占了,执行:

  • lsof -i:3306

或者:

  • fuser 3306/tcp

这两个命令需要额外安装 lsof 或 psmisc,如果没有,也可以直接:

  • ss -tlnp | grep 3306

这个操作很小,但如果你的服务器被植入了后门,端口反查往往是第一个发现线索的地方。

查已安装的服务器软件包:rpm/dpkg双管齐下

有时候服务进程没在跑,但你想知道这台机器装没装某个服务器软件,这时候要靠包管理器。

红帽系(CentOS / Rocky / Fedora)

用 rpm 查询安装包:

  • rpm -qa | grep nginx
  • rpm -qa | grep -E 'nginx|httpd|mysql|redis'

rpm -qa 会把所有已安装软件包名全部列出来,比较长,所以必须用 grep 过滤,如果你用的是 yum 或 dnf,也可以这样:

  • yum list installed | grep httpd

Debian系(Ubuntu / Debian)

用 dpkg 查询:

  • dpkg -l | grep apache2
  • dpkg -l | grep mysql

Ubuntu 20.04 之后也可以用:

  • apt list --installed | grep redis

查可执行文件路径

有些服务不是通过包管理器装的,而是源码编译,放到 /usr/local/ 下,这时候用 rpm 或 dpkg 查不到,可以尝试:

  • which nginx
  • find /usr/local -name "nginx" 2>/dev/null

但要注意,which 只能查 PATH 目录里的程序,源码安装一般会放进 /usr/local/sbin,你可以单独看这个目录:

  • ls -l /usr/local/sbin

里面通常躺着 nginx、php-fpm、mysqld 这些可执行文件。

实战场景:怎么判断这台Linux装了什么服务器程序?

无论你用的是简米云 Linux服务器 还是一台自建机房的老机器,刚接手时第一件事就是摸底,以下是一套可执行的流程:

Linux安装了哪些服务器,linux查看服务器命令是什么?

  1. 看监听端口:执行 ss -tlnp,把所有端口记下来。
  2. 看服务单元:执行 systemctl list-units --type=service --state=running,确认哪些服务是被 systemd 正常拉起的。
  3. 查包确认:如果端口显示 80 但没看到进程名,用 lsof -i:80 补查;如果还不行,用 rpm -qa | grep -E 'nginx|httpd' 看看是不是装了个冷门版本。
  4. 测一下响应头:curl -I http://127.0.0.1,如果返回的头里有 Server: nginx 或者 Server: Apache,这就直接告诉你 Web 服务器是谁。
  5. 查数据库服务:关心 MySQL 或 Redis 是否安装,可以直接搜端口:ss -tlnp | grep -E '3306|6379'。

这套方法基本零成本,不需要装监控软件,凭一条命令就能确定一台 Linux 服务器对外暴露了几个服务,如果发现端口比你预期多,就要警惕是不是有人私自开了服务。

关于Linux查看已安装服务器的常见问题

为什么我用 netstat 查不到任何端口?

新安装的 CentOS 或 Ubuntu 默认不带 netstat,它会提示命令未找到,这时候用 ss -tlnp 替代。ss 也没有,说明系统太精简,先安装 iproute2,非 root 用户执行 netstat -tlnp 可能看不到进程名,sudo 一下就好。

服务在跑,但 systemctl list-units 里找不到,怎么回事?

手动编译安装的服务,比如你自己下载 Nginx 源码编译,只要没写 systemd unit 文件,systemctl 就看不到它,但这不代表服务没运行,用 ps -ef | grep nginx 和 ss -tlnp 一样能锁定它,同样,用 rpm -qa 也查不到源码安装的软件。

查看服务器硬件信息算不算“查看安装了哪些服务器”?

两者不是一回事,硬件信息看的是机器配置,CPU、内存、磁盘,用 lscpu、free -h、df -h 查看,而“安装了哪些服务器”指的是软件服务,如果你接手一台机器,建议先看硬件,再按上面的流程看软件,这样才能完整评估这台 Linux 的用途和负载。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/715685.html

赞 (0)
linux服务器运维有哪些关键任务,零基础怎么快速入门?
上一篇 2026年10月6日 11:41
服务器平时吃哪些东西,服务器需要哪些硬件配置?
下一篇 2026年10月6日 11:43

相关推荐

  • unix虚拟机命令有哪些?,新手如何快速入门

    新手学习unix虚拟机命令,不需要背几百条,只需要掌握文件管理、文本处理、权限控制、进程与网络这五类核心命令,配合免费的VirtualBox或VMware Player就能在Windows电脑上练熟, 这篇文章我把当年踩过的坑和真正高频的命令挑出来,按“先懂干什么,再记怎么敲”的顺序给你讲透,unix虚拟机命令……

    2026年9月4日
    300
  • 独立服务器带宽和VPS带宽区别在哪?独立服务器带宽和VPS带宽哪个好?

    独立服务器带宽与VPS带宽的核心区别在于资源的独占性与共享性,独立服务器提供的是物理层面的独享带宽,用户独自占用整条物理线路,性能极其稳定且安全;而VPS(虚拟专用服务器)带宽本质上是共享带宽,通过虚拟化技术从物理服务器分割而来,易受邻居站点流量波动影响,对于追求高性能、高稳定性的企业级应用,独立服务器是首选……

    2026年3月7日
    12300
  • 广安智能制造SAAS云服务讲解,广安智能制造SAAS云服务哪家好

    广安制造企业通过部署智能制造SAAS云服务,能够以最低的投入成本实现生产全流程的数字化透明管理,这是提升区域制造业核心竞争力的关键路径,也是传统工厂迈向工业4.0的必由之路,这种模式无需昂贵的硬件服务器投入,通过云端订阅即可快速构建起高效、协同、智能的生产管理体系,直接解决订单交付延期、库存积压严重、生产数据断……

    2026年4月1日
    8900
  • acs云原生java怎么用?java云原生架构最佳实践

    在阿里云上部署Java应用,首选ACK容器服务结合ARMS应用监控,能实现从代码提交到线上运行的全链路自动化,显著降低运维复杂度并提升系统稳定性,对于大多数开发团队而言,将传统的Java单体或微服务应用迁移至云原生环境,不再仅仅是一个技术选型问题,而是关乎业务敏捷性和成本控制的战略决策,阿里云的云原生Java解……

    服务器宽带 2026年7月1日
    1300
  • 如何绑定解析微信公众号子域名?,子域名解析失败怎么办?

    先在公众平台后台按业务域名、JS接口安全域名、网页授权域名三类分别填写子域名,再去域名DNS服务商处添加对应的CNAME或A记录解析,等待生效后回后台确认保存即可,常见的困惑在于这三类域名的用途各不相同,解析方式也有细微差别,下面按实际操作顺序,拆开讲清楚每个环节该做什么,绑定前必须先理清三类域名的区别微信公众……

    2026年8月31日
    600
  • 数据服务器公司有哪些,哪家性价比高服务好?

    数据服务器公司主要分传统硬件厂商、云服务商和IDC托管商三大阵营,选哪家取决于你自建机房、租云资源还是托管机柜——搞清楚这个前提,选型就完成了一半,数据服务器公司有哪些类型?先分清这三大阵营传统硬件厂商:买机器自建机房这类公司卖的是物理服务器硬件,比如机架式、刀片式、塔式服务器,你付钱买设备,然后放进自己的机房……

    2026年9月26日
    100
  • hp服务器内存怎么开启?hp服务器内存开启步骤详解

    HP服务器内存开启的核心在于进入BIOS/UEFI设置界面,将Memory Remapping(内存重映射)和Above 4G Decoding(4G以上解码)功能设置为Enabled,从而让系统识别并使用全部物理内存,很多IT运维人员在面对HP ProLiant系列服务器时,常遇到内存识别不全的问题,明明插满……

    2026年6月10日
    4500
  • html动态调用数据库数据怎么实现?前端页面实时获取数据

    HTML本身无法直接连接数据库,必须通过后端语言(如PHP、Python、Node.js)作为中间层,将数据库中的数据动态渲染为HTML页面或JSON数据供前端调用,很多初学者常陷入一个误区,认为只要写好HTML标签就能从数据库里“抓”出数据,这就像指望一个只会说话的人(HTML)能直接去仓库(数据库)搬货,但……

    服务器宽带 2026年6月10日
    4900
  • http接口返回大数据量怎么处理?接口返回数据量过大怎么优化

    解决HTTP接口返回大数据量问题的核心在于:采用流式传输替代全量加载,结合分页与压缩技术,并配合前端虚拟滚动,可显著降低内存占用并提升响应速度,当后端服务需要向客户端输送海量数据时,传统的“一次性打包发送”模式往往会导致服务器内存溢出、网络超时以及前端页面卡顿,这不仅是技术实现的瓶颈,更是用户体验的致命伤,业内……

    2026年6月4日
    2800
  • https服务器是什么?https服务器配置教程

    HTTPS服务器是通过SSL/TLS协议对数据进行加密传输,确保信息在客户端与服务器之间安全交换的网络服务载体,它是现代互联网信任体系的基石,想象一下,你正在给银行发送转账指令,如果这封信在邮路上被拆开、偷看甚至篡改,后果不堪设想,HTTPS服务器就像是一个拥有防弹玻璃和密封印章的特快专递箱,它不改变信件内容……

    2026年6月5日
    3100

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注