记录Nginx及解决端口占用

在计算机科学和网络通信中,端口和进程是两个基本的概念。继上一篇的nginx配置,我们可以看出,Nginx 是一个高性能的开源反向代理服务器,它通常用于处理客户端的请求并将这些请求转发到后端的应用服务器,同时还能处理静态资源的服务。Nginx 主要监听端口用于接收客户端请求,我们部署一个nginx来访问web项目,那就需要一个端口,比如8080端口,通过xx.xx.xx.xx/8080来访问web项目,当nginx监听到8080端口有请求的时候,就会做出响应的处理

什么是端口

  • 定义: 端口是一个数字,用于标识计算机上运行的应用程序或服务。

  • 作用: 计算机上的不同应用程序需要进行通信,端口就是用来区分这些不同应用程序的。每个端口都有一个唯一的数字,通常范围是 0 到 65535。

  • 分类:

    • 系统端口(Well-known Ports): 范围是 0 到 1023,用于一些知名的服务,例如 HTTP 使用的端口 80,HTTPS 使用的端口 443。
    • 注册端口(Registered Ports): 范围是 1024 到 49151,用于用户注册的应用程序。
    • 动态或私有端口(Dynamic or Private Ports): 范围是 49152 到 65535,用于动态分配或私有协议。

查找nginx占用端口

js 复制代码
ps -ef|grep nginx

使用 ps -ef|grep nginx 这个命令来查找当前服务器下,正在运行的nginx进程,一个服务器下可以部署多个nginx来为web项目服务

从上图我查找的nignx进程来看,我服务部署了两个nginx,并且可以看到,每个nginx都有一个master process 和worker process ,在这里表示主进程和工作进程

主进程只有一个,但是工作进程可以有多个。

主进程(Master Process)主要负责管理工作进程,处理配置文件的重新加载等任务。

工作进程(Worker Process)主要用于实际处理客户端请求

什么是进程

  • 定义: 进程是计算机中正在运行的程序的实例。一个程序可以同时运行多个进程,每个进程都有自己的内存空间和系统资源。

  • 作用: 进程是计算机执行任务和管理资源的基本单位。每个进程都有自己的代码、数据、内存空间,以及与其他进程隔离的执行环境。

  • 特点:

    • 独立性:进程之间是相互独立的,一个进程的错误不会影响其他进程。
    • 并发执行: 计算机可以同时运行多个进程,提高系统的效率和资源利用率。
    • 通信: 进程之间可以通过进程间通信(IPC)进行数据交换和协作。

清除进程

由于进程的独立性,每个进程都会拥有自己的端口,昨天在部署前端环境的时候,起了8088的nginx配置, 会出现以下的情况

会显示nginx想要在8088端口上面启动,但是发现该端口已经被占用了, Address already in use,地址已经被使用了,当前的nginx想要再次在这个端口启动服务是不行的。

因为在计算机上的应用程序需要和网络进行通信时,它会使用端口来标识自己,而网络上的其他计算机可以通过指定端口来连接到该应用程序,所以每个端口也可以说是地址都应该是唯一的

当遇到这个情况可以找到已经使用的端口来进行清除,前提你知道这个端口用的服务是不重要的,可以直接kill的

最后

使用 sudo netstat -tulpn | grep :8088 来查找某个端口使用的进程

可以看到是某个以321结尾的进程号的进程占用了8088的端口,我们直接清除即可

清除完成之后即可重新启动nginx在8088端口上

🙏 感谢您花时间阅读这篇文章!如果觉得有趣或有收获,请关注我的更新,给个喜欢和分享。您的支持是我写作的最大动力!

往期好文推荐

相关推荐
kyriewen6 分钟前
奥特曼借GPT-5.5干杯,而你的Copilot正按Token收钱
前端·github·openai
AC赳赳老秦11 分钟前
投标合规提效:用 OpenClaw 实现标书 / 合同自动审核、关键词校验、格式优化,降低废标风险
开发语言·前端·python·eclipse·emacs·deepseek·openclaw
kyriewen18 分钟前
代码写成一锅粥?3个设计模式让你的项目“起死回生”
前端·javascript·设计模式
千寻girling1 小时前
《 Git 详细教程 》
前端·后端·面试
之歆2 小时前
DAY08_CSS浮动与行内块布局实战指南(下)
前端·css
0xDevNull2 小时前
Linux 中 Nginx 代理 Redis 的详细教程
redis·后端
GetcharZp2 小时前
告别 Nginx 手动配置!这款 Go 语言开发的云原生网关,才是容器化时代的真香神器!
后端
yqcoder2 小时前
CSS Position 全解析:5 种定位模式详解
前端·css
jinanwuhuaguo2 小时前
(第三十三篇)五月的文明奠基:OpenClaw 2026.5.2版本的文明级解读
android·java·开发语言·人工智能·github·拓扑学·openclaw
RuoyiOffice2 小时前
SpringBoot+Vue3 企业考勤如何处理法定假期?节假日方案、调休补班与工作日判断链路拆解
spring boot·后端·vue·anti-design-vue·ruoyioffice·假期·人力