在服务器运维过程中,了解服务器上实际运行着哪些网站或服务是一项基础且重要的工作,这有助于进行安全审计、排查冲突以及合理分配资源,对于使用 Linux 作为操作系统的服务器,无论是 Nginx 还是 Apache,都有简单高效的方法来查看已绑定的域名或 IP。
本文将详细介绍几种常用的命令行技巧,帮助你快速获取服务器上的网站绑定信息。
查看 Nginx 服务器绑定的网站
Nginx 是目前最流行的 Web 服务器之一,其配置文件通常位于 /etc/nginx/ 目录下,要查看所有绑定的域名,最直接的方法是递归搜索配置文件中的 server_name 指令。

操作命令:
grep -r "server_name" /etc/nginx/
命令解析:
-r参数表示递归搜索,即查看指定目录及其子目录下的所有文件。server_name是 Nginx 配置中用于定义虚拟主机(网站)名称的关键字。
进阶用法(不区分大小写并显示行号):
grep -ri "server_name" /etc/nginx/ | grep -v "#"
grep -v "#"会过滤掉注释行,只显示实际配置的域名信息。
查看 Apache 服务器绑定的网站
Apache 的配置方式与 Nginx 略有不同,主要通过 <VirtualHost> 标签来定义虚拟主机,查看 Apache 的绑定信息,主要查找 ServerName 或 ServerAlias。
操作命令:
grep -r "ServerName\|ServerAlias" /etc/httpd/
或者针对 Debian/Ubuntu 系统:
grep -r "ServerName\|ServerAlias" /etc/apache2/
命令解析:
- 符号在 grep 中表示“或”,这行命令会同时查找
ServerName(主域名)和ServerAlias(别名)。
查看服务器当前监听的端口
除了查看配置文件,你还可以通过查看服务器当前正在监听的端口来推断绑定了哪些服务,80 端口通常绑定 HTTP 网站,443 端口绑定 HTTPS 网站。
操作命令:
ss -tlnp | grep LISTEN
或者使用老版本的 netstat:
netstat -tlnp
命令解析:
-t表示显示 TCP 连接。-l表示仅显示监听状态的端口。-n表示以数字形式显示地址和端口(不进行 DNS 解析,速度更快)。-p表示显示进程 ID (PID) 和程序名称,这能让你知道哪个程序(如 nginx 或 apache)正在占用该端口。
通过以上三种方法,你可以全面掌握 Linux 服务器上的网站绑定情况:
- 看配置文件(
grep server_name或grep VirtualHost):最准确,能看到完整的域名列表和配置路径。 - 看监听端口(
ss -tlnp):最直观,能看到服务器当前正在对外提供服务的端口。
掌握这些命令,不仅能帮助你理清服务器现状,
文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

