在Linux系统的网络通信体系中,端口是用于区分不同网络服务的逻辑标识,取值范围是0到65535,其中80端口属于知名端口范畴,默认和HTTP协议绑定,是Web服务最常用的端口之一。

Linux 80端口的基础定义
Linux系统中的端口分为三类,0到1023是知名端口,通常由系统服务或者标准网络服务占用,需要root权限才能绑定;1024到49151是注册端口,供用户进程注册使用;49152到65535是动态端口,用于临时通信。80端口属于知名端口,IANA(互联网号码分配局)将其默认分配给HTTP协议使用,也就是说当我们在浏览器输入网址访问普通网页时,默认请求的就是目标服务器的80端口。
80端口的常见使用场景
80端口最常见的用途是承载HTTP协议的Web服务,比如常见的Nginx、Apache等Web服务器,默认就会监听80端口,接收用户的HTTP请求并返回网页内容。除此之外,部分内部系统的接口服务也会选择使用80端口,减少用户访问时需要手动输入端口号的步骤。需要注意的是,80端口只支持明文传输,若需要加密传输,通常会使用443端口承载HTTPS协议。
如何查看Linux 80端口的占用情况
在Linux系统中,我们可以通过多种命令查看80端口的占用状态,以下是常用的几种方法:
使用netstat命令查看
netstat是传统的网络状态查看工具,需要安装net-tools工具包才能使用,查看80端口占用的命令如下:
# 查看所有监听80端口的进程,-t表示TCP协议,-u表示UDP协议,-l表示监听状态,-n表示显示数字端口,-p表示显示进程信息 sudo netstat -tulnp | grep :80
使用ss命令查看
ss是比netstat更高效的网络工具,属于iproute2工具包,默认大部分Linux系统都会预装,查看命令如下:
# 查看监听80端口的进程 sudo ss -tulnp | grep :80
使用lsof命令查看
lsof可以列出系统中打开的文件,网络端口也属于文件范畴,查看命令如下:
# 查看占用80端口的进程 sudo lsof -i :80
如何配置Linux 80端口
Web服务绑定80端口
以Nginx为例,修改其配置文件即可让Nginx监听80端口,默认的Nginx配置文件路径为/etc/nginx/nginx.conf或者/etc/nginx/conf.d/default.conf,修改配置如下:
server {
# 监听80端口
listen 80;
# 服务器域名,根据实际需求修改
server_name localhost;
# 网站根目录
root /usr/share/nginx/html;
# 默认首页文件
index index.html index.htm;
}
修改完成后需要重启Nginx服务让配置生效:
# 重启Nginx服务 sudo systemctl restart nginx
防火墙开放80端口
如果Linux系统开启了防火墙,需要手动开放80端口才能让外部访问,常见的防火墙工具配置方法如下:
如果使用firewalld防火墙:
# 开放80端口 sudo firewall-cmd --add-port=80/tcp --permanent # 重新加载防火墙规则 sudo firewall-cmd --reload
如果使用ufw防火墙:
# 开放80端口 sudo ufw allow 80/tcp # 重新加载防火墙规则 sudo ufw reload
80端口相关的常见问题
- 普通用户无法绑定80端口:因为80端口属于知名端口,Linux系统默认只有root用户有权限绑定,普通用户启动Web服务时需要使用sudo提权,或者将Web服务监听端口改为1024以上的端口。
- 80端口被占用无法启动服务:可以通过上述查看占用的命令找到占用进程,确认无用后可以结束该进程,或者修改自己的服务监听其他端口。
- 外部无法访问80端口:首先检查Web服务是否正常监听80端口,然后检查防火墙是否开放80端口,最后检查云服务器的安全组规则是否允许80端口的入站流量。