워프월드 18 · 운영과 관리DB, PHP, nginx, 터널을 스크립트 하나로 켜요.
⏱ 예상 10분🧭 난이도 보통📍 SSH
💡 핵심 한 줄 요약
DB, php-fpm, nginx, 터널, sshd를 한 번에 켜는 스크립트를 만들어 두면, 폰이 재시작돼도 명령 한 줄로 서버가 돌아와요.
결과부터 보세요
$ ~/wp-start.sh
WordPress HTTP 301
▲ 301은 도메인 주소로 넘겨 주는 정상 응답이에요. 이 사이트도 이 스크립트로 켜져요.
준비물
- 설치를 모두 마친 서버 (17편까지)
따라 하기
- 스크립트를 만들어요. 이미 켜진 것은 건너뛰도록 만들어서 몇 번을 실행해도 안전해요.
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
- 실행해 봐요.
~/wp-start.sh
- Termux를 열 때마다 자동으로 실행되게 해요. ~/.bashrc 끝에 한 줄을 넣어요.
echo "~/wp-start.sh > /dev/null 2>&1" >> ~/.bashrc
- 상태 확인 명령도 만들어 둬요. 다섯 가지가 모두 보이면 정상이에요.
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편)
- 시작하기
- 폰 준비
- 서버 설치
- 워드프레스
- 도메인 연결
- 운영과 관리
- 18. 서비스 한 번에 켜는 시작 스크립트
- 19. 재부팅과 절전에도 살아남게 하기
- 20. WP-CLI 설치하고 자주 쓰는 명령
- 21. 백업과 복원 연습, 마지막 점검표