NodeJs/Server 만들기/
안드로이드 기기를 Linux 머신으로 (6) 기타 설정
2020. 10. 28.
편의성 설정
터미널을 껏다 켯을 때 ssh가 자동으로 실행되게 만들고싶다.
서버에 문제가 있을 때 간단하게 재시작하고싶다.
등등 편의성을 조금만 추가해보자.
재시동시 ssh자동 실행
~/files/home 디렉토리에서 .bashrc 파일생성
처음에는 빈파일상태일것이다.
ssh 실행 명령어인 sshd를 입력해주고 저장.
이제 터미널 재가동시 ssh가 기본으로 켜진다.
서버 재시작 설정
서버 재시작은 쉘 스크립트를 사용해서 진행해야한다.
서버 프로젝트 폴더에서
package.json 파일을 열어 다음과 같이 바꿔준다.
{
"name": "test-node",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node index.js &",
"restart": "bash restart.sh"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1"
}
}
scripts object를 수정해주었다.
npm restart
명령을 주었을 때 restart.sh 파일을 실행하는것이다.
restart.sh 작성
restart.sh 파일은 현재 실행중인 process중에서 node관련을 모두 kill 하고 서버를 재가동 해주도록 짜놨다.
소스는 다음과 같다.
#!/bin/bash
echo -e "\nThe following node process were found : \n"
ps aux | grep "node" | grep -v grep
nodepids=$(ps aux | grep "node" | grep -v grep | cut -c10-15 )
echo -e "\nOK, so we will stop these process/es now...\n"
for nodepid in ${nodepids[@]}
do
echo "stopping PID : "$nodepid
kill -9 $nodepid
done
echo -e "\nDone!"
echo -e "\nRestart...\n"
npm start &