๊ฒŒ์ดํŠธ์›จ์ด๊ฐ€ โ€œ์ผœ์ ธ ์žˆ๋Š”๋ฐ ๋‹ต์ด ์•ˆ ์˜ค๋Š”โ€ ์ฆ์ƒ์€ ์ƒ๊ฐ๋ณด๋‹ค ์ž์ฃผ ๋‚˜์˜จ๋‹ค. ํ˜„์žฅ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ๋งž๋‹ฅ๋œจ๋ฆฌ๋Š” ํŒจํ„ด์€ ์žฅ์•  ์ž์ฒด๋ณด๋‹ค ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ์ž ์ค‘๋ณต์ด๋‹ค. PM2์™€ systemd๊ฐ€ ๊ฐ™์€ ํฌํŠธ๋ฅผ ๋™์‹œ์— ๊ด€๋ฆฌํ•˜๋ฉด, ํ•œ์ชฝ์€ ์‚ด์•„ ์žˆ๊ณ  ๋‹ค๋ฅธ ํ•œ์ชฝ์€ ์žฌ์‹œ์ž‘ ๋ฃจํ”„๋ฅผ ๋Œ๋ฉด์„œ ์ฒด๊ฐ์ƒ ๊ฐ„ํ— ๋ฌด์‘๋‹ต์ด ๋œ๋‹ค.

๋จผ์ € ์›์ธ๋ถ€ํ„ฐ ์งง๊ฒŒ ์ •๋ฆฌ

ํ•ต์‹ฌ์€ ๋‘ ์ค„์ด๋‹ค.

  • ๊ฒŒ์ดํŠธ์›จ์ด ๊ด€๋ฆฌ์ž๋Š” ํ•˜๋‚˜๋งŒ ์จ์•ผ ํ•œ๋‹ค. (PM2 ๋˜๋Š” systemd)
  • /usr/bin/node ๊ฒฝ๋กœ๊ฐ€ nsolid ๋ž˜ํผ์ธ ํ™˜๊ฒฝ์—์„œ๋Š” systemd ExecStart ์„ค์ •์— ๋”ฐ๋ผ ๋ถ€ํŒ… ํ›„ ์‹คํŒจ ๋ฃจํ”„๊ฐ€ ๋‚  ์ˆ˜ ์žˆ๋‹ค.
flowchart TD
A[๊ฒŒ์ดํŠธ์›จ์ด ๋ฌด์‘๋‹ต ์ฒด๊ฐ] --> B{ํฌํŠธ๋Š” ์—ด๋ ค ์žˆ๋‚˜?}
B -- ์˜ˆ --> C{๊ด€๋ฆฌ์ž 2๊ฐœ ๋™์‹œ ์‹คํ–‰?}
C -- ์˜ˆ --> D[PM2/systemd ์ถฉ๋Œ]
D --> E[ํ•œ์ชฝ๋งŒ ๋‚จ๊ธฐ๊ณ  ๋‹จ์ผํ™”]
C -- ์•„๋‹ˆ์˜ค --> F[๋กœ๊ทธ์—์„œ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ ํ™•์ธ]
F --> G[๊ฒฝ๋กœ/๊ถŒํ•œ/ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ˆ˜์ •]
B -- ์•„๋‹ˆ์˜ค --> H[ํ”„๋กœ์„ธ์Šค ์žฌ๊ธฐ๋™ + ํ—ฌ์Šค์ฒดํฌ]

์น ํŒ ์น˜ํŠธ์‹œํŠธ (30์ดˆ ์ ๊ฒ€)

  1. pm2 list ์™€ systemctl --user status openclaw-gateway๋ฅผ ํ•จ๊ป˜ ๋ณธ๋‹ค
  2. ๋‘˜ ๋‹ค ์‚ด์•„ ์žˆ์œผ๋ฉด ์ถฉ๋Œ๋กœ ๊ฐ„์ฃผํ•œ๋‹ค
  3. ์šด์˜ ํ‘œ์ค€์„ ํ•˜๋‚˜๋กœ ๊ณ ์ •ํ•œ๋‹ค (๊ถŒ์žฅ: PM2 ๋‹จ์ผ)
  4. ์ €์žฅ(pm2 save) + ๋ถ€ํŒ… ์ž๋™์‹œ์ž‘(pm2 startup) + ์ƒํƒœ ์žฌ๊ฒ€์ฆ

ํ‘œ์ค€ ๋ณต๊ตฌ ์ ˆ์ฐจ (PM2 ๋‹จ์ผ ๊ณ ์ •)

์šด์˜์ž ๊ธฐ์ค€์œผ๋กœ ์•„๋ž˜ ์ˆœ์„œ๋ฅผ ๊ทธ๋Œ€๋กœ ๋”ฐ๋ฅด๋ฉด ๋œ๋‹ค.

  1. ๊ธฐ์กด user systemd ๊ฒŒ์ดํŠธ์›จ์ด ๋น„ํ™œ์„ฑํ™”
systemctl --user disable --now openclaw-gateway.service
  1. PM2๋กœ ๊ฒŒ์ดํŠธ์›จ์ด ๋‹จ์ผ ์‹คํ–‰
pm2 start /home/<user>/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/dist/index.js \
  --name openclaw-gateway -- gateway --port 18789
  1. PM2 ํ”„๋กœ์„ธ์Šค ์ €์žฅ
pm2 save
  1. ๋ถ€ํŒ… ์‹œ PM2 ์ž๋™ ๋ณต๊ตฌ ๋“ฑ๋ก
sudo env PATH=$PATH:/home/<user>/.nvm/versions/node/v22.22.0/bin \
  /home/<user>/.nvm/versions/node/v22.22.0/lib/node_modules/pm2/bin/pm2 startup systemd -u <user> --hp /home/<user>
  1. ์ƒ์„ฑ๋œ ์„œ๋น„์Šค ํ™œ์„ฑ/๊ธฐ๋™ ํ™•์ธ
sudo systemctl start pm2-<user>
sudo systemctl status pm2-<user>
  1. ์ตœ์ข… ํ—ฌ์Šค์ฒดํฌ
pm2 list
openclaw status

ํ‘œ์ค€ํ™” ์ฒดํฌ๋ฆฌ์ŠคํŠธ (์šด์˜๋ฌธ์„œ์— ๊ทธ๋Œ€๋กœ ๋ถ™์—ฌ ์“ฐ๊ธฐ)

  • ๊ฒŒ์ดํŠธ์›จ์ด ๊ด€๋ฆฌ์ž๋Š” 1๊ฐœ๋งŒ ์‚ฌ์šฉ (PM2/systemd ์ค‘ ํƒ1)
  • ํฌํŠธ 18789 ๋‹จ์ผ ํ”„๋กœ์„ธ์Šค ์ ์œ  ํ™•์ธ
  • ์žฌ์‹œ์ž‘ ํšŸ์ˆ˜(restart)๊ฐ€ ๋น„์ •์ƒ ์ฆ๊ฐ€ํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธ
  • openclaw status์—์„œ reachable ์ง€์—ฐ์ด ์•ˆ์ •์ ์ธ์ง€ ํ™•์ธ
  • ์žฌ๋ถ€ํŒ… ํ›„ ์ž๋™๋ณต๊ตฌ๊นŒ์ง€ ๊ฒ€์ฆ ์™„๋ฃŒ

์ต๋ช…ํ™” ์ฒดํฌ๋ฆฌ์ŠคํŠธ (๋ธ”๋กœ๊ทธ/๊ณต์œ  ์ „ ํ•„์ˆ˜)

์šด์˜ ๊ธฐ๋ก์„ ์™ธ๋ถ€ ๊ณต์œ ํ•  ๋•Œ๋Š” ์•„๋ž˜ ํ•ญ๋ชฉ์„ ๋จผ์ € ๊ฐ€๋ฆฐ๋‹ค.

  • ์‚ฌ์šฉ์ž๋ช…/ํ˜ธ์ŠคํŠธ๋ช… (tw2, openclaw.local ๋“ฑ)
  • ํ† ํฐ/์„ธ์…˜ํ‚ค/์ฑ„ํŒ…ID (-100..., ๊ธด UUID, API key)
  • ๋กœ์ปฌ ์ ˆ๋Œ€๊ฒฝ๋กœ (/home/<real-user>/...)

์˜ˆ์‹œ ๋ณ€ํ™˜:

  • /home/tw2/... โ†’ /home/<user>/...
  • OPENCLAW_GATEWAY_TOKEN=... โ†’ OPENCLAW_GATEWAY_TOKEN=<redacted>
  • chat=7803600894 โ†’ chat=<chat-id>

๋ฏธ๋‹ˆ ์‚ฌ๋ก€ 2๊ฐœ

์‚ฌ๋ก€ A) โ€œ์„œ๋น„์Šค๋Š” ์ผœ์ ธ ์žˆ๋Š”๋ฐ ์‘๋‹ต์ด ๋Š๊ธด๋‹คโ€

  • ์›์ธ: PM2์™€ systemd๊ฐ€ ๋™์‹œ์— ๊ฐ™์€ ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ๊ด€๋ฆฌ
  • ์กฐ์น˜: user systemd ์ค‘์ง€/๋น„ํ™œ์„ฑํ™” ํ›„ PM2 ๋‹จ์ผํ™”
  • ๊ฒฐ๊ณผ: ์žฌ์‹œ์ž‘ ๋ฃจํ”„๊ฐ€ ์‚ฌ๋ผ์ง€๊ณ  ์‘๋‹ต ์ง€์—ฐ์ด ์•ˆ์ •ํ™”

์‚ฌ๋ก€ B) โ€œ์žฌ๋ถ€ํŒ…ํ•˜๋ฉด ๋˜ ์ฃฝ๋Š”๋‹คโ€

  • ์›์ธ: PM2 ํ”„๋กœ์„ธ์Šค๋Š” ๋–  ์žˆ์ง€๋งŒ startup ๋“ฑ๋ก/ํ™œ์„ฑํ™” ๋ˆ„๋ฝ
  • ์กฐ์น˜: pm2 startup + pm2 save + pm2-<user> ์ƒํƒœ ํ™•์ธ
  • ๊ฒฐ๊ณผ: ๋ถ€ํŒ… ํ›„ ์ž๋™ ๋ณต๊ตฌ ์ •์ƒ ๋™์ž‘

๋‹ค์Œ์— ์ฝ์„ ๊ธ€

ํ•œ ์ค„ ๊ฒฐ๋ก 

๋ฌด์‘๋‹ต ๋ฌธ์ œ์˜ ํ•ต์‹ฌ์€ ๋Œ€๊ฐœ โ€œ์žฅ์• โ€๋ณด๋‹ค โ€œ๊ด€๋ฆฌ ์ฃผ์ฒด ์ค‘๋ณตโ€์ด๋‹ค.
๊ด€๋ฆฌ์ž๋ฅผ ํ•˜๋‚˜๋กœ ๊ณ ์ •ํ•˜๊ณ (๊ถŒ์žฅ PM2), ์ต๋ช…ํ™”๋œ ์šด์˜ ๋กœ๊ทธ๋กœ ์žฌํ˜„ ๊ฐ€๋Šฅํ•œ ๋ณต๊ตฌ ๋ฃจํ‹ด์„ ๋‚จ๊ธฐ๋ฉด ๋‹ค์Œ ์žฅ์•  ๋ณต๊ตฌ ์‹œ๊ฐ„์ด ํ™• ์ค„์–ด๋“ ๋‹ค.

โ€ป ์ด ๋ฌธ์„œ๋Š” ์ƒ์„ฑํ˜• AI๋ฅผ ํ™œ์šฉํ•ด ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.