관련 패키지 및 버전
nginx — 1.26.2, node.js — 16.20.2, npm — 8.19.4, pm2–5.4.2
selinux 설정 끄기
sudo getenforce # enforce 상태 확인.
sudo setenforce 0 # enforce 상태 변경. (끄기)
📌 selinux 영구적으로 끄는 법
# 파일 수정.
sudo vi /etc/selinux/config
# 이 항목을 찾는다.
SELINUX=enforcing
# 다음과 같이 변경.
SELINUX=disabled
# 시스템 재부팅.
sudo reboot
# 적용되었는지 확인.
sestatus
커널 sysctl 수정 (소켓 maxconn 셋팅값 수정.) -> maxconn 값은 상황에 따라 수정 가능
# maxconn 상태 조회.
sudo sysctl -a | grep net.core.somaxconn
# maxconn 상태 수정.
sudo /sbin/sysctl -w net.core.somaxconn=4096
---
net.core.somaxconn = 65535
port 체크
sudo netstat -nltup
시스템 업데이트 및 필수 패키지 설치
sudo dnf update -y
sudo dnf install -y curl wget tar gcc-c++ make
Nginx 셋팅 (version : 1.26.2)
# 필요한 패키지 설치
sudo dnf install -y gcc pcre-devel zlib-devel make openssl-devel
# Nginx 소스 다운로드
wget https://nginx.org/download/nginx-1.26.2.tar.gz
# 압축 해제 및 설치
tar -zxvf nginx-1.26.2.tar.gz
cd nginx-1.26.2
# Nginx 컴파일 및 설치
./configure
make
sudo make install
# Nginx 실행 확인
/usr/local/nginx/sbin/nginx -v
Nginx 환경변수 설정
vi ~/.bashrc # 해당 파일에 아래와 같은 내용 추가.
export PATH=$PATH:/usr/local/nginx/sbin
source ~/.bashrc # 적용.
nginx -v # 확인.
Nginx 서비스 설정
root ~ # vi /etc/systemd/system/nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
---
systemctl daemon-reload
systemctl status nginx
systemctl start nginx
systemctl enable nginx
Node.js 16.20.2 설치
# nvm 설치
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
source ~/.bashrc
# nvm으로 Node.js 16.20.2 설치
nvm install 16.20.2
nvm use 16.20.2
# 설치된 Node.js 버전 확인
node -v
npm -v
NPM 8.19.4 설치
#### 위에서 버전이 나오면 따로 설치 안해도 됨.
npm install -g npm@8.19.4
# 설치된 NPM 버전 확인
npm -v
PM2 5.4.2 설치
npm install -g pm2@5.4.2
# PM2 버전 확인
pm2 -v
PM2 사용법
# 애플리케이션 시작
pm2 start app.js
# 모든 애플리케이션 목록 확인
pm2 list
# 애플리케이션 로그 확인
pm2 logs
# 애플리케이션 재시작
pm2 restart app
# PM2 상태 저장 (서버 재부팅 시 자동 시작)
pm2 save
pm2 startup