服务器80端口被占用的解决办法

V+变量
2025-01-02 / 0 评论 / 29 阅读 / 正在检测是否收录...

服务器上 80端口被占用 是问题的根源。虽然你没有安装 Nginx,但其他服务(如 Apache、OpenResty、Docker 中的某些容器等)也可能在占用该端口。以下是排查和解决步骤:

检查80端口占用情况

使用以下命令检查哪个进程占用了80端口:

sudo netstat -tulnp | grep :80

sudo lsof -i :80

输出会显示类似以下内容:

tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN /

是进程 ID

是进程名

确认占用端口的服务

找到占用80端口的进程后,可以用以下命令确认详情:

ps -p

关闭冲突的进程

如果确认这个进程不应该占用80端口,可以终止它:

sudo kill

如果占用端口的服务是必要的

若占用80端口的服务(如 Apache、Docker 容器等)是必要的,你需要重新配置 1Panel-openresty 使用其他端口,比如 8080。编辑 openresty 的配置文件,通常位于 /etc/nginx/nginx.conf 或 /usr/local/openresty/nginx/conf/nginx.conf,修改 listen 指令:

server {

listen 8080;

...
}

然后重启服务:

sudo systemctl restart nginx

验证端口占用情况

完成上述步骤后,确认80端口已被正确释放或被期望的服务占用:

sudo netstat -tulnp | grep :80

检查Cloudflare设置

如果错误代码 521 依然出现,请确保:

Cloudflare 的 DNS 设置指向你的服务器 IP。

服务器的防火墙允许 Cloudflare 的 IP 地址访问(通常 Cloudflare 使用代理连接到你的服务器,可能被防火墙拦截)。

允许 Cloudflare IP 地址的规则可以参考 Cloudflare 官方文档:

sudo ufw allow from <Cloudflare_IP_Range>

完成后,重试访问,问题应能解决。

0

评论 (0)

取消