728x90

CentOS 7.9 환경에서 Node.js 환경을 테스트하고 적어둔다.

 

CentOS 7 환경이 없다면 "윈도우10 환경에서 CentOS 7 설치하기" https://link2me.tistory.com/1885 을 참조하시라.

CentOS 7 기반에서 Node.js 사용 환경 구축은 아래 과정을 따라하기만 하면 된다.

 

먼저 방화벽 설정하는 부분이다.

Node.js 에서 기본 사용하는 3000번 포트를 방화벽에서 허용하도록 한다.

# 아래 코드는 root 권한을 가진 관리자 모드에서 실행하기 때문에 #은 주석을 의미한다.
# 방화벽 포트 확인
firewall-cmd --permanent --zone=public --add-port=3000/tcp
firewall-cmd --reload
firewall-cmd --list-all
 

 

# Node.js 설치

yum -y install python gcc-c++ make

 

# 아래 2줄로 설치하면 버전이 낮으니까 이 방식으로 설치하지 말자.
yum -y install epel-release
yum -y install nodejs
yum -y remove nodejs

 

https://nodejs.org/ 에서 최신버전 LTS를 확인한다.

 

# LTS 버전에 맞게 아래 빨간색을 수정해주고 붙여넣기 하면 된다.

# LTS(Long Term Supported) 버전은 서버 환경에서 안정적으로 동작하도록 지원하는 버전이다.

cd /home
wget https://nodejs.org/dist/v14.15.3/node-v14.15.3-linux-x64.tar.gz
tar xvzf node-v14.15.3-linux-x64.tar.gz
mv node-v14.15.3-linux-x64 nodejs

 

# 실행파일 PATH 지정하기
vi /etc/profile
# pathmunge 윗 줄에 아래 2행 추가
export NODE_HOME=/home/nodejs
export PATH=$PATH:$NODE_HOME/bin
:wq

 

# 작성한 PATH 적용 시키기
source /etc/profile

 

# nodejs 버전 확인
node -v
npm -v

 

# npm(Node Package Manager)는 노드의 패키지를 사용할 수 있도록 설치 및 삭제 등을 지원하는 프로그램

# nodejs를 실제 설치할 폴더를 만들고 관련 모듈을 설치한다.
cd /home
mkdir node

 

# http 모듈만 사용해서 웹 서버를 구성할 때는 많은 것들을 직접 만들어야 한다.

# express 모듈을 사용하면 익스프레스에서 제공하는 미들웨어와 라우터를 사용하여 기능을 편리하게 구성할 수 있다.

 

cd node

npm install express-generator -g

 

# npm install [모듈명] -g  ← 모듈을 전역으로 설치할 때 사용하는 방식이다.


# express-generator 로 설치하면 기본적으로 ejs, jade 모듈은 설치된다.
# jade 기본 형식에서 가장 중요한 것은 들여쓰기이다.
# 들여쓰기는 탭과 띄어쓰기 중 한가지 형태만 사용해야 한다. 혼용하면 에러가 발생한다.

# 일반적으로 4간 들여쓰기를 한다.

 

# view engine 속성은 뷰 엔진을 설정하는 것으로 ejs 나 pug를 많이 사용한다.

# 원래 프로젝트를 생성할 때는 npm init 명령을 사용하지만 express -e www 을 하면 자동으로 만들어진다.
express -e www

 

cd www
npm install

 

 

# 외부 모듈 설치
npm install formidable mysql --save

 

 

 

 

# body-parser : POST 요청 데이터를 추출하는 미들웨어

npm install body-parser --save

 

# cookie-parser : 쿠키 요청을 추출하거나 확인하는 미들웨어 모듈
npm install cookie-parser --save

 

# express-session : 세션을 쉽게 생성할 수 있게 도와주는 미들웨어 모듈
npm install express-session --save

 

# 예상하지 못한 오류가 발생했을 때 그 오류를 처리할 수 있는 미들웨어
npm install express-error-handler --save

# 암호화 저장 미들웨어

npm install crypto --save

 

# multer : 파일 업로드하기 위한 미들웨어
# 파일을 업로드할 때는 멀티 파트(multipart) 포멧으로 된 파일 업로드 기능을 사용하며,
# 파일 업로드 상태 등을 확인할 수 있다.
npm install multer --save

 

npm install serve-favicon --save

 

# 로그를 출력하는 미들웨어 모듈 (express 에서 설치되어 있으면 설치할 필요 없음)
npm install morgan --save

# 서버 실행 모듈
npm install -g supervisor

 

# nodejs 같은 단일 쓰레드 기반의 웹 서비스는 예외 하나로 웹 서비스 전체가 죽어버린다.
# 이러한 예외 상황을 대비하고자 만들어진 모듈이 forever 모듈이다.
npm install -g forever

#package.json 파일에 추가(fsevents 패키지 모듈은 macOS(OSX)용 이므로 경고 메시지 출력되므로 경고 메시지 제거 목적)
vi package.json
  "optionalDependencies": {
    "fsevents": "*"
  }

 

 

# nodemon을 어떤 프로젝트에서도 사용할 수 있게 전역으로 설치한다.

# Nodemon은 프로젝트 폴더의 파일들을 모니터링 하다가 파일 수정되면 서버를 자동 restart 시켜주는 패키지이다.
# nodemon 을 하면 npm start 한 것과 같이 실행된다.
npm install nodemon -g


modemon &

 

파일 수정시 잘못하면 에러 메시지를 보여주기도 하고, 수정사항을 node 재기동없이 처리할 수 있어서 매우 편리하다.

 

이것으로 기본 node.js 환경 구축 설정을 완료했다.

 

모듈 제거

npm uninstall <모듈명>

 

# 전역으로 설치한 패키지 제거

npm uninstall -g <모듈명>

 

모듈 업데이트

npm update <모듈명>

 

# 전역으로 설치한 모듈

npm update -g <모듈명>

 

# 로컬에 설치된 모든 패키지를 의존성 명세서에 맞는 최신 버전으로 업데이트

npm update

 

블로그 이미지

Link2Me

,