【宝塔】网站80端口被占用问题

问题描述

80端口永远是被占用的状态,不管关闭所有网站和docker都无效
在这里插入图片描述

问题解决

大部分被占用的原因都是nginx
最后定位到问题是/www/server/panel/vhost/nginx/目录中的0.default.conf 文件里面占用了80端口

在这里插入图片描述
把这个80改成别的9527或者其他的空闲端口,重载nginx:sudo systemctl reload nginx,问题解决!!!

诊断方法

80端口被占用,而且尝试访问时出现404错误,通常意味着Nginx正在监听该端口,但未能找到与请求的路径相匹配的任何内容。可以使用netstatlsof系统管理工具,找出哪个程序占用了80端口。

  1. 使用netstat命令
    打开终端,然后输入以下命令:
    netstat -tulnp | grep ':80'
    
    这将列出所有监听80端口的进程。-tulnp选项的意思是:
    • -t:仅显示TCP连接
    • -u:仅显示UDP连接
    • -l:仅显示正在监听的socket
    • -n:显示数字地址和端口(而不是名字)
    • -p:显示进程ID和程序名称
      查找LISTEN状态且本地地址为0.0.0.0:80:80的行,然后查看PID/PROGRAM列以确定哪个进程正在监听该端口。
  2. 使用lsof命令
    如果netstat没有提供足够的信息,可以使用lsof命令:
    lsof -i :80
    

列出所有打开文件,包括网络套接字。

如果确定是Nginx占用了端口,首先从目录/www/server/panel/vhost/nginx/检查conf文件,查看是不是有文件使用了80端口,如果有占用,把他改成别的端口:
在这里插入图片描述

测试nginx 配置文件,重新加载Nginx:

sudo nginx -t      # 测试配置文件是否正确
sudo systemctl reload nginx  # 重新加载Nginx配置

重新访问80端口的网址,成功访问到正确的服务:
在这里插入图片描述

### 宝塔面板中Node端口占用解决方案 当遇到宝塔面板中的Node应用端口被其他进程占用的情况时,可以通过一系列方法排查并解决问题。 #### 1. 查找占用端口的进程ID (PID) 首先需要确认哪个具体的应用正在使用目标端口。这一步骤对于后续的操作至关重要。可以利用`netstat`或`lsof`工具来查找: ```bash sudo netstat -tuln | grep :<port_number> ``` 或者更直观的方式是采用`lsof`命令: ```bash sudo lsof -i:<port_number> ``` 上述两条命令均需替换`<port_number>`为目标端口号,例如8000[^2]。 #### 2. 终止不必要的进程 一旦找到了占用指定端口的服务及其对应的PID之后,就可以决定是否终止该服务。如果是误启动或其他不需要的服务,则可以直接杀死这个进程: ```bash kill -9 <pid> ``` 这里的`<pid>`代表上一步查找到的具体进程编号。需要注意的是,在执行此操作之前应当确保不会影响系统的正常运作或者其他重要业务的功能。 #### 3. 修改应用程序监听端口 如果无法停止现有程序或是希望保留其运行状态的话,那么可以选择调整自己的Node.js应用所绑定的端口。修改配置文件内的端口参数即可实现这一点;另外一种方式是在启动脚本里指明不同的端口选项。比如在package.json里面定义scripts字段下的start指令加上环境变量PORT=xxxx的形式传递给node process。 #### 4. 配置防火墙规则允许新端口通信 更改后的端口可能不在开放列表之内,因此还需要更新服务器上的防火墙设置以放通新的TCP连接请求。对于基于iptables的系统来说,添加如下规则将会有所帮助: ```bash sudo iptables -A INPUT -p tcp --dport <new_port> -j ACCEPT ``` 而对于使用firewalld作为防护机制的情况下,则应考虑运用以下语句完成同样的目的: ```bash sudo firewall-cmd --zone=public --add-port=<new_port>/tcp --permanent && sudo firewall-cmd --reload ``` 同样地,请记得把`<new_port>`替换成实际要开通的新端口号。 #### 5. 更新反向代理设置 最后不要忘记同步更新任何涉及到了原端口映射关系的地方——特别是那些用于负载均衡器、CDN服务商以及本地开发环境中模拟生产环境场景下设立起来的各种形式的reverse proxy server。确保它们能够正确识别并路由至最新的地址信息上去。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一如既往の

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值