当前位置: 首页 > article >正文

解决 “Error: listen EACCES: permission denied 0.0.0.0:80“ 错误

前言

在开发过程中,我们经常会遇到各种各样的错误。其中一个常见的错误是 Error: listen EACCES: permission denied 0.0.0.0:80。这个错误通常发生在尝试启动一个开发服务器时,服务器试图绑定到80端口,但由于权限不足而失败。本文将详细介绍这个错误的原因及解决方案。

错误信息

当你尝试启动开发服务器时,可能会看到如下错误信息:

error when starting dev server:
Error: listen EACCES: permission denied 0.0.0.0:80
    at Server.setupListenHandle [as _listen2] (node:net:1446:21)
    at listenInCluster (node:net:1511:12)
    at doListen (node:net:1660:7)
    at processTicksAndRejections (node:internal/process/task_queues:84:21)

错误原因

这个错误的原因是80端口是一个特权端口,通常需要管理员权限才能绑定。在大多数操作系统中,端口号小于1024的端口都是特权端口。如果你的应用程序没有足够的权限,就会导致上述错误。

解决方法

方法一:更改监听端口

最简单的解决办法是更改你的开发服务器配置,使其监听一个大于1024的端口,例如8082。这样就不需要管理员权限也能正常运行你的开发服务器。

修改 .env.development 文件

如果你使用的是idea或其他现代前端构建工具,可以在.env.development文件中修改端口号。例如:

# .env.development
VITE_APP_PORT = 8082
在代码中设置端口

如果你使用的是Node.js,可以在启动命令中指定端口:

PORT=8082 npm start

或者,在代码中直接设置:

const port = process.env.PORT || 8082;
app.listen(port, () => {
  console.log(`Server is running on port ${port}`);
});

在这里插入图片描述

方法二:关闭占用80端口的服务

有时候,80端口可能已经被其他服务占用。你可以通过以下步骤查找并关闭占用80端口的服务。

  1. 查找占用80端口的进程

    打开命令提示符(Windows)或终端(Linux/Mac),输入以下命令:

    netstat -ano | findstr 80
    

    这将列出所有占用80端口的进程及其PID。

  2. 查找PID对应的服务

    使用以下命令查找PID对应的服务:

    netsh http show servicestate
    

    这将显示HTTP服务的状态,包括请求队列和PID。

  3. 关闭占用80端口的服务

    打开任务管理器,找到PID对应的进程,右键点击并选择“结束任务”。

    或者,使用命令行关闭进程:

    taskkill /F /PID <PID>
    

    <PID> 替换为实际的PID值。

总结

通过以上几种方法,你应该能够解决 Error: listen EACCES: permission denied 0.0.0.0:80 错误。最简单和推荐的方法是更改监听端口,使其大于1024。


http://www.kler.cn/a/386308.html

相关文章:

  • React中 修改 html字符串 中某些元素的属性
  • SpringBoot实战(三十一)集成iText5,实现RSA签署PDF
  • 网络技术-定义配置ACL规则的语法和命令
  • 【常见问题解答】远程桌面无法复制粘贴的解决方法
  • Python高级编程模式和设计模式
  • Java结合ElasticSearch根据查询关键字,高亮显示全文数据。
  • Linux·进程控制(system V)
  • 【鉴权】深入了解 Cookie:Web 开发中的客户端存储小数据
  • 使用PHP上传程序配置网页上的文件上传功能
  • 计算机图形学 实验二 三维模型读取与控制
  • 桥接IC lt7911d linux 驱动
  • UML统一建模语言,学习笔记
  • 【C#】用水平滚动条来设定参与运算的序列的长度
  • java 面向对象高级
  • sql之count()函数解析
  • 实战| 使用深度学习分割和计算水体和农田面积【Pytorch附源码】
  • Turtlebot3 buger 硬件与操作平台详细介绍
  • ProcessBuilder调用脚本执行
  • 简记Vue3(四)—— 路由
  • 代码随想录第二十五天
  • 减速机在工业机械中的核心作用!
  • 如何实现Delay_us和Delay_ms延时(SysTick定时器)
  • Flink安装和Flink CDC实现数据同步
  • 05 SQL炼金术:深入探索与实战优化
  • Docker平台搭建方法
  • CST案例分析:TLM算法仿真5G毫米波手机天线和整机