LIVE집에서 놀고 있던 공폰에서 지금 이 사이트가 돌아가고 있어요

[워프월드 18] 서비스 한 번에 켜는 시작 스크립트

워프월드 18 · 운영과 관리DB, PHP, nginx, 터널을 스크립트 하나로 켜요.
⏱ 예상 10분🧭 난이도 보통📍 SSH
💡 핵심 한 줄 요약

DB, php-fpm, nginx, 터널, sshd를 한 번에 켜는 스크립트를 만들어 두면, 폰이 재시작돼도 명령 한 줄로 서버가 돌아와요.

결과부터 보세요

$ ~/wp-start.sh
WordPress HTTP 301

▲ 301은 도메인 주소로 넘겨 주는 정상 응답이에요. 이 사이트도 이 스크립트로 켜져요.

준비물

  • 설치를 모두 마친 서버 (17편까지)

따라 하기

  1. 스크립트를 만들어요. 이미 켜진 것은 건너뛰도록 만들어서 몇 번을 실행해도 안전해요.
cat > ~/wp-start.sh <<'EOF'
#!/data/data/com.termux/files/usr/bin/sh
termux-wake-lock
pgrep -x sshd > /dev/null || sshd
pgrep -x mysqld > /dev/null || (nohup mariadbd-safe --datadir=$PREFIX/var/lib/mysql > /dev/null 2>&1 &)
pgrep -x php-fpm > /dev/null || php-fpm
pgrep -x nginx > /dev/null || nginx
pgrep -f "cloudflared tunnel run" > /dev/null || (setsid nohup cloudflared tunnel run wp-phone > $HOME/cf-tunnel.log 2>&1 < /dev/null &)
sleep 2; curl -s -o /dev/null -w "WordPress HTTP %{http_code}\n" http://127.0.0.1:8080/
EOF
chmod +x ~/wp-start.sh
  1. 실행해 봐요.
~/wp-start.sh
  1. Termux를 열 때마다 자동으로 실행되게 해요. ~/.bashrc 끝에 한 줄을 넣어요.
echo "~/wp-start.sh > /dev/null 2>&1" >> ~/.bashrc
  1. 상태 확인 명령도 만들어 둬요. 다섯 가지가 모두 보이면 정상이에요.
pgrep -a "sshd|mysqld|php-fpm|nginx|cloudflared"

막히는 곳

공폰이

저는 처음에 DB를 mariadbd라는 이름으로 찾았어요. 그런데 실제 프로세스 이름이 mysqld여서, 켜져 있는데도 또 켜려다 오류가 났어요.
  • DB를 또 켜서 오류가 나요. pgrep -a mysqld와 pgrep -a mariadbd를 둘 다 해 보고, 보이는 이름으로 스크립트의 검사 줄을 맞춰요.
  • SSH 접속이 갑자기 거부돼요. Termux가 종료되면 sshd도 같이 꺼져요. 스크립트에 sshd 줄을 넣어 둔 이유예요.
  • 터널이 두 개 떠 있어요. pkill -f “cloudflared tunnel run” 으로 모두 끄고 스크립트를 다시 실행해요.

받는 결과: 명령 한 줄로 서버 전체가 켜져요. 다음 글에서 재부팅과 절전에도 버티게 만들어요.

다음 글 · 19/21재부팅과 절전에도 살아남게 하기재부팅, 화면 꺼짐, 배터리 절전에도 서버가 살아 있게 해요.

← 이전 글: 워드프레스 주소 고정하고 HTTPS 확인하기

공폰이의 워프월드 전체 목차 (21편)

공유하기

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

위로 스크롤