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.js 환경 구축 설정을 완료했다.
모듈 제거
npm uninstall <모듈명>
# 전역으로 설치한 패키지 제거
npm uninstall -g <모듈명>
모듈 업데이트
npm update <모듈명>
# 전역으로 설치한 모듈
npm update -g <모듈명>
# 로컬에 설치된 모든 패키지를 의존성 명세서에 맞는 최신 버전으로 업데이트
npm update
'node.js' 카테고리의 다른 글
한시간만에 끝내는 Node.js 입문 강의 실습 (0) | 2022.01.15 |
---|---|
맛집(bestfood) 앱을 위한 node.js 설정 (0) | 2021.12.03 |
nodejs 와 MySQL 연동 (0) | 2020.02.09 |
CentOS 6 nodejs 환경 구성하기 (0) | 2020.01.29 |
Node.js 파일 업로드 기능 만들기 (0) | 2018.10.15 |