服务器上 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
确认占用端口的服务
找到占用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)