-
lsof / npm vs yarn / node.js. / 아파치공부 기록/IT 기술 2022. 12. 6. 00:38728x90
터미널에서 어느 작업을 위해 yarn dev 명령어를 입력했는데 다음과 같은 에러가 나왔다.
Error: listen EADDRINUSE: address already in use :::11040 ......
11040 포트가 사용중이라는 메시지가 있어 lsof를 사용하여 11040 포트가 어디서 사용하는지 보았다.
lsof 사용법에서 안내한대로 다음 명령어 입력
lsof -i TCP:11040 // -i 옵션뒤에 프로토콜과 포트 명시 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME node 56721 xxxx 24u IPv6 0x46252a7dc418bd63 0t0 TCP *:11040 (LISTEN)
프로세스 PID가 56721임을 확인한 후, 해당 프로세스를 강제 종료한다.
kill -9 56721 // 해당 프로세스 강제 종료
내가 참고한 문서 (https://jootc.com/p/201912253249)에서는 강제 종료 후 `npm run`을 입력 -> yarn dev -> 성공!
사실 나는 yarn dev를 사용하려다가 나타난 에러였므로 `npm run`은 굳이 사용하지 않아도 됐을 것 같다.
그럼 yarn과 npm의 차이를 알아보자!
참고: [DEV] npm 과 yarn
결론적으로 둘 다 node.js를 관리하는 package manager이다.
그럼 node.js는 무엇일까?
https://www.w3schools.com/nodejs/nodejs_intro.asp
- node.js는 windows, Linux, macOS 등에서 모두 사용될 수 있는 cross platform
- 서버 환경 관리를 위한 오픈 소스
- Node.js 자체는 프로그래밍 언어가 아님, JavaScript로 작성되어 있음
- JavaScript로 서버측 개발을 할 수 있도록 JavaScript 런타임환경을 제공
- 내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치*와 같은 별도 소프트웨어 없이 웹 서버 동작을 컨트롤 할 수 있음 (예: 이벤트 처리, 네트워킹 등)
- 애플리케이션 서버 측에서 JavaScript를 사용할 수 있도록 하는 백엔드 기술 혹은 서버측 애플리케이션!
- 서버에서 JavaScript를 이용하여 데이터를 관리하거나 서버의 파일들을 관리할 수 있다.
아파치는 무엇일까?
wiki에서는 "크로스 플랫폼 HTTP 웹 서버 소프트웨어"라고 말한다. 결론적으로 웹 서버를 관리할 수 있는 소프트웨어구나. node.js를 사용하면 아파치와 같은 프로그램 없이도 JavaScript만으로도 백앤드 쪽 (서버)을 컨트롤 할 수 있는 것이고.
참고
'공부 기록 > IT 기술' 카테고리의 다른 글
벡터 이미지란? (0) 2023.03.05 Business Logic (Domain Logic) (0) 2022.12.07 [Docker] 컨테이너 생성, 목록 확인, 삭제 (0) 2022.10.03 CORS (0) 2022.07.26 [암호화] Salting (0) 2022.07.11