记录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端口上

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

往期好文推荐

相关推荐
程序员黑豆5 分钟前
鸿蒙应用开发之生命周期方法完全指南
前端·harmonyos
一点一木5 分钟前
第 23 届 ChinaJoy 刚结束,我把 965 个展台做成了 3D 云展馆
前端·人工智能
wordbaby8 分钟前
前端请求缓存写了,同一个接口为什么还是打了十几次?
前端·promise
不可能掉发8 分钟前
Env Guard:让浏览器一眼分清生产、测试和开发环境
前端·javascript·chrome·测试工具·html·开源软件·个人开发
饼干哥哥15 分钟前
Codex 必改的8 个基础配置
前端·人工智能·后端
ClouGence20 分钟前
AI Agent 能写测试、跑流程,为什么回归测试还不能完全交给 AI?
前端·测试
码云之上21 分钟前
Context Engineering:让 Agent 在当前步骤看到正确的事实
前端·人工智能·前端工程化
lingran__23 分钟前
Linux 基础常用指令万字详解(上)|文件目录命令,结合底层原理剖析
linux·运维·服务器·后端·centos·linux基础指令
嘟嘟071741 分钟前
从手写 HashRouter 到 React Router:逐层拆解 SPA 前端路由的完整实现
前端·javascript
情可轻 秦任之1 小时前
ASP.NET页面优化,性能提升8倍的方法
后端·asp.net