AWS EC2 서버를 재부팅할 때 서비스 시작
이번에는 EC2를 가지고 노는 서버 내 형식으로만 재부팅하기로 했다.
이번에 사용한 Chkconfig에 대해서.
chkconfig이란 시스템(OS)의 상태에 따라 서비스의 시작과 정지를 설정할 수 있는 구조다.
예를 들어 서버를 시작할 때 Nginx를 시작하려면chkconfig를 설정하면 서비스와 프로그램을 자동으로 시작할 수 있습니다.
시작할 때 실행되는 명령에 대한 설명
재부팅할 때 특정 명령을 실행하기 위해
/etc/init.d/app-start
에 다음과 같이 기술되어 있습니다.※ 여기서는 부팅 Nginx에 대해 설명합니다.
app-start
#!/bin/sh
# chkconfig: 345 99 10
# description: start shell
case "$1" in
start)
#実行したいコマンドを記述
systemctl start nginx
;;
stop)
echo "stop!"
;;
*) break ;;
esac
파일을 만든 후 다음 명령을 실행하고 파일 실행 권한을 부여합니다.sudo chmod +x /etc/init.d/app-start
시작할 때 루트 사용자 이외의 사용자가 실행하고자 하는 명령에 대한 설명
또한 방금 설정한 것은 루트 사용자가 실행한 명령입니다.
웹 응용 프로그램 등을 활용할 때 특정 사용자(depuro 전용 사용자)가 응용 서버 등을 실행하고 싶은 경우가 있다고 생각합니다.예를 들어 응용 프로그램 개발을 통해 사용자가 응용 프로그램의 서버를 시작하려고 할 때 등이다.
이 경우 방금 제작된
/etc/init.d/app-start
에 다음과 같은 기술이 추가된다.app-start
#!/bin/sh
# chkconfig: 345 99 10
# description: start shell
case "$1" in
start)
# 実行したいコマンドを記述
systemctl start nginx
# 特定のユーザーで実行したいコマンドを記述
# 以下のようにすることで特定のユーザーのホームディレクトリのstart.shファイルを実行する
su -l ユーザー名 "sh /home/ユーザー名/start.sh"
;;
stop)
echo "stop!"
;;
*) break ;;
esac
/home/ユーザー名
에 start.sh
파일을 만들고 특정 사용자가 실행하고자 하는 명령을 기술합니다.※ 다음은 Rails를 통해 서버를 시작하라는 명령입니다.
cd /var/www/アプリケーション名
bundle exec unicorn -E production -c config/unicorn.rb -D
chkconfig에 로그인
기술이 끝난 후 다음 명령을 실행하여chkconfig에 로그인합니다.
sudo chkconfig --add app-start
sudo chkconfig app-start on
이상의 서버가 재부팅되면 서비스 및 애플리케이션이 자동으로 시작됩니다.
Reference
이 문제에 관하여(AWS EC2 서버를 재부팅할 때 서비스 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/ryouzi/articles/c9223f7ea5df98텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)