본문 바로가기



NodeJs 06: Systemd를 이용한 Nginx서버 백그라운드 실행 운영



안녕하세요. 각성한 데브키라입니다. 터미널을 닫아도 서버가 종료되지 않도록 nginx로 구축된 사이트를 Systemd를 통해서 백그라운드로 등록하고 운영관리 할 수 있는 환경을 구축해 봅시다.

1. nodejs사이트 구축

2개의 멀티사이트를 nodejs로 구축후 nginx서버와 연동하였습니다.

SSL인증서를 적용하고 인증서 자동갱신 처리까지 완료하였습니다.

해당 내용까지 준비가 되지 않으셨다면 아래 87번 포스팅을 참조하셔서 먼저 nodejs사이트를 구축하시길 바랍니다.

NodeJs 04: 노드JS사이트에 nginx연동 (alphonse.kr)

2. systemd설정

1번 사이트) /www/site1/app 3000번포트
2번 사이트) /www/site2/app 3001번 포트

 

그럼 systemd를 사용해서 위의 2개의 사이트를 
{start, stop, restart}명령을 통해서 백그라운드에서
운영하고 관리할수 있도록 설정해 보도록 하겠습니다.

 

1. 1번 사이트 설정:
서비스 파일 생성: sudo vi /etc/systemd/system/site1.service 파일을 생성하고 다음과 같이 작성합니다.

[Unit]
Description=Site 1

[Service]
ExecStart=/usr/bin/node /www/site1/app/bin/www
WorkingDirectory=/www/site1/app
Restart=always
User=ubuntu
Group=www-data

[Install]
WantedBy=multi-user.target

 

주의: ExecStart 경로와 WorkingDirectory 경로는 실제 사이트의 경로로 수정해야 합니다. 
User와 Group은 해당 사이트를 실행할 사용자와 그룹으로 수정해야 합니다.

 

2. 2번 사이트 설정:
서비스 파일 생성: sudo vi /etc/systemd/system/site2.service 파일을 생성하고 다음과 같이 작성합니다.

[Unit]
Description=Site 2

[Service]
ExecStart=/usr/bin/node /www/site2/app/bin/www
WorkingDirectory=/www/site2/app
Restart=always
User=ubuntu
Group=www-data

[Install]
WantedBy=multi-user.target

 

주의: ExecStart 경로와 WorkingDirectory 경로는 실제 사이트의 경로로 수정해야 합니다. 
User와 Group은 해당 사이트를 실행할 사용자와 그룹으로 수정해야 합니다.

3. systemd 서비스 관리:
시작: sudo systemctl start site1과 sudo systemctl start site2명령어로 각 사이트를 시작합니다.
정지: sudo systemctl stop site1과 sudo systemctl stop site2명령어로 각 사이트를 정지합니다.
재시작: sudo systemctl restart site1 sudo systemctl restart site2명령어로 각 사이트를 재시작합니다.
위의 절차를 따라서 각 사이트에 대한 systemd 서비스 파일을 생성하고, systemctl 명령어를 사용하여 사이트를 시작, 정지, 재시작할 수 있습니다. 
필요에 따라 사용자 이름과 그룹을 수정하여 해당 사이트를 실행할 사용자와 그룹으로 설정해야 합니다.

 

NodeJs 01: 노드JS의 특징과 활용사례를 소개합니다.
NodeJs 02: 노드JS를 시작하기 위한 설치와 환경설정 
NodeJs 03: 우분투에서 노드 JS 생성하고 구동하기 
NodeJs 04: 노드JS사이트에 nginx연동 
NodeJs 05: nginx에서 SSL인증서 설정 
NodeJs 06: Systemd를 이용한 Nginx서버 백그라운드 실행 운영
NodeJs 07: NodeJs 웹사이트 개발에 필요한 플러그인 목록정리

[ NodeJs강좌 전체목록 ]

 

NodeJs: 기초부터 고급까지 실무 적용 완벽 가이드

안녕하세요. 데브키라입니다. 이 시리즈는 Node.js의 기본부터 고급 기술까지 단계별로 다룹니다. 서버 실행, 페이지 라우팅부터 nginx 연동, SSL 설정까지 실무 적용을 목표로 합니다. Node.js의 모든

devkira.alphonse.kr