ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • lsof / npm vs yarn / node.js. / 아파치
    공부 기록/IT 기술 2022. 12. 6. 00:38
    728x90

     

    터미널에서 어느 작업을 위해 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

    댓글

Designed by Tistory.