문제 설명:
npm run dev를 사용하여 프런트 엔드 프로젝트를 시작할 때 특정 포트가 점유되어 페이지에 정상적으로 액세스할 수 없는 경우가 종종 발생하며 오류는 다음과 같습니다.
Error: listen EADDRINUSE: address already in use 0.0.0.0:8090
at Server.setupListenHandle [as _listen2] (net.js:1331:16)
at listenInCluster (net.js:1379:12)
at doListen (net.js:1516:7)
at processTicksAndRejections (internal/process/task_queues.js:83:21) {
code: 'EADDRINUSE',
errno: -98,
syscall: 'listen',
address: '0.0.0.0',
port: 8090
}
해결 방법:
1. 다음 명령을 사용하여 현재 포트를 점유하고 있는 프로세스를 찾을 수 있습니다.
sudo lsof -i tcp:8090
2. 위 명령어 실행 후 해당 프로세스를 찾습니다(nginx가 점유).
xxx@xxx-xxx:/var/www/client/src$ lsof -i tcp:8090
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
node 807863 zph 21u IPv4 17021269 0t0 TCP *:8090 (LISTEN)
3. 다음 명령을 사용하여 이러한 프로세스를 종료합니다.
xxx@xxx-xxx:/var/www/client/src$ kill -9 807863
4. npm run dev를 다시 실행하여 프런트 엔드 프로젝트를 시작하고 정상으로 돌아갑니다.
xxx@xxx-xxx:/var/www/client/src npm run dev
> [email protected] dev /var/www/client> preact watch
BUILD_FOR undefined
Build [ ] 0% (0.0s) compiling
<i> [webpack-dev-server] Project is running at:
<i> [webpack-dev-server] Loopback: http://localhost:8090/
<i> [webpack-dev-server] On Your Network (IPv4): http://xxx:8090/
<i> [webpack-dev-server] Content not from webpack is served from '/var/www/client/src' directory
<i> [webpack-dev-server] 404s will fallback to '/index.html'
Compiled successfully!
You can view the application in browser.
Local: http://0.0.0.0:8090
On Your Network: http://xxx:8090
Build [ ] 0% (12.3s) compiling
Compiled successfully!
You can view the application in browser.
Local: http://0.0.0.0:8090
On Your Network: http://xxx:8090