๊ฒ์ดํธ์จ์ด๊ฐ โ์ผ์ ธ ์๋๋ฐ ๋ต์ด ์ ์ค๋โ ์ฆ์์ ์๊ฐ๋ณด๋ค ์์ฃผ ๋์จ๋ค. ํ์ฅ์์ ๊ฐ์ฅ ๋ง์ด ๋ง๋ฅ๋จ๋ฆฌ๋ ํจํด์ ์ฅ์ ์์ฒด๋ณด๋ค ํ๋ก์ธ์ค ๊ด๋ฆฌ์ ์ค๋ณต์ด๋ค. 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์ด ์ ๊ฒ)
pm2 list์systemctl --user status openclaw-gateway๋ฅผ ํจ๊ป ๋ณธ๋ค- ๋ ๋ค ์ด์ ์์ผ๋ฉด ์ถฉ๋๋ก ๊ฐ์ฃผํ๋ค
- ์ด์ ํ์ค์ ํ๋๋ก ๊ณ ์ ํ๋ค (๊ถ์ฅ: PM2 ๋จ์ผ)
- ์ ์ฅ(
pm2 save) + ๋ถํ ์๋์์(pm2 startup) + ์ํ ์ฌ๊ฒ์ฆ
ํ์ค ๋ณต๊ตฌ ์ ์ฐจ (PM2 ๋จ์ผ ๊ณ ์ )
์ด์์ ๊ธฐ์ค์ผ๋ก ์๋ ์์๋ฅผ ๊ทธ๋๋ก ๋ฐ๋ฅด๋ฉด ๋๋ค.
- ๊ธฐ์กด user systemd ๊ฒ์ดํธ์จ์ด ๋นํ์ฑํ
systemctl --user disable --now openclaw-gateway.service- PM2๋ก ๊ฒ์ดํธ์จ์ด ๋จ์ผ ์คํ
pm2 start /home/<user>/.nvm/versions/node/v22.22.0/lib/node_modules/openclaw/dist/index.js \
--name openclaw-gateway -- gateway --port 18789- PM2 ํ๋ก์ธ์ค ์ ์ฅ
pm2 save- ๋ถํ ์ 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>- ์์ฑ๋ ์๋น์ค ํ์ฑ/๊ธฐ๋ ํ์ธ
sudo systemctl start pm2-<user>
sudo systemctl status pm2-<user>- ์ต์ข ํฌ์ค์ฒดํฌ
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>์ํ ํ์ธ - ๊ฒฐ๊ณผ: ๋ถํ ํ ์๋ ๋ณต๊ตฌ ์ ์ ๋์
๋ค์์ ์ฝ์ ๊ธ
- OpenClaw 18: ํ ๋ ๊ทธ๋จ ์ฐ๊ฒฐ๋๊น ๋ณต๊ตฌ
- OpenClaw 23: ws ๋ณด์ ์๋ฌ ํด๊ฒฐ
- OpenClaw 28: ๋์ผ ๋ฆด๋ ์ด ์ด์ ๊ฐ์ด๋
- OpenClaw 30: ํ ๋ ๊ทธ๋จ ์์ ์ค์ ๊ฐ์ด๋
- OpenClaw 32: HEARTBEAT_OK ๋ฐ๋ณต ์๋ต ํด๊ฒฐ
ํ ์ค ๊ฒฐ๋ก
๋ฌด์๋ต ๋ฌธ์ ์ ํต์ฌ์ ๋๊ฐ โ์ฅ์ โ๋ณด๋ค โ๊ด๋ฆฌ ์ฃผ์ฒด ์ค๋ณตโ์ด๋ค.
๊ด๋ฆฌ์๋ฅผ ํ๋๋ก ๊ณ ์ ํ๊ณ (๊ถ์ฅ PM2), ์ต๋ช
ํ๋ ์ด์ ๋ก๊ทธ๋ก ์ฌํ ๊ฐ๋ฅํ ๋ณต๊ตฌ ๋ฃจํด์ ๋จ๊ธฐ๋ฉด ๋ค์ ์ฅ์ ๋ณต๊ตฌ ์๊ฐ์ด ํ ์ค์ด๋ ๋ค.
โป ์ด ๋ฌธ์๋ ์์ฑํ AI๋ฅผ ํ์ฉํด ์์ฑ๋์์ต๋๋ค.