如何在 Linux 上查看 Web 服务端口是否被占用?
在 Linux 上部署 Web 服务时,经常会遇到端口冲突的问题。比如启动 Nginx 或自定义应用时提示“端口已被占用”,这时就需要快速定位并解决问题。
方法一:结合 ps 与 netstat 命令
如果你已经知道是哪个进程可能占用了端口,可以先使用 ps -ef | grep xxx(将 xxx 替换为服务名,如 nginx、java 等)查找对应进程的 PID。拿到 PID 后,再执行 netstat -anp | grep <PID>,就能看到该进程正在使用的端口号。这种方式适合当你已有目标进程时使用。
方法二:使用 lsof 直接查看端口占用
更直接的方式是使用 lsof -i :端口号,例如 lsof -i :80,系统会列出所有占用 80 端口的进程信息,包括进程名、PID 和连接状态。如果没有结果,说明该端口未被使用。这个命令简洁高效,是日常排查的首选。
此外,如果系统中没有 netstat 或 lsof,可以使用 ss -tulnp | grep :端口 作为替代,它更现代、速度更快。
部署 Web 服务前,建议先检查常用端口(如 80、443、3000、8080)是否空闲。一个简单的 lsof -i :8080 可能就帮你避免了启动失败的尴尬。掌握这些命令,能让你在服务器管理中更加得心应手。
评论
暂无评论,来做第一个评论的人吧。