pm2 start bylinux 는 잘못된 사용법입니다 — 그건 pm2가 bylinux 라는 파일/폴더를 새로 실행 하려는 명령이라, 없으니 "Script not found"가 납니다. 게다가 pm2에 이미 깨진 경로로 등록된 프로세스 가 남아서 계속 그 잘못된 경로( .../bylinux-core/bylinux-core )를 물고 재시작을 시도하고 있습니다. 순서대로 깨끗이 정리하겠습니다. 그대로 실행하세요: sh cd ~/work/web/bylinux-core # 1) 진짜 파일이 올바른 위치에 있는지 먼저 확인 (이게 있어야 함) ls -la dist/server.js 여기서 dist/server.js 가 보이면 아래로 진행: sh # 2) 깨진 등록을 통째로 제거 (이름이 bylinux-core 인지 bylinux 인지 목록으로 확인) pm2 list pm2 delete all # 지금 돌던 게 이것뿐이면 all 로 깨끗이 제거 pm2 kill # pm2 데몬 자체를 완전히 초기화 (꼬인 상태 제거) # 3) 현재 폴더 기준으로 절대경로로 다시 등록 (경로 중첩 원천 차단) cd ~/work/web/bylinux-core pm2 start "$(pwd)/dist/server.js" --name bylinux-core --cwd "$(pwd)" # 4) 확인 pm2 logs bylinux-core --lines 20 pm2 save # 재부팅해도 유지되게 저장 만약 1번에서 dist/server.js 가 없다고 나오면 — 빌드가 안 됐거나 파일이 중첩 폴더 안에 있는 겁니다. 이렇게 확인: sh # server.js 가 실제로 어디 있는지 전체 검색 find ~/work/web/bylinux-core -name server.js -path "*/dist/*" 2>/dev/null # 중첩 폴더 안에 들어가 있으면 그 안에서 빌드돼 있을 수 있음 ls ~/work/web/bylinux-core/bylinux-core/dist/server.js 2>/dev/null && echo ">> 중첩 안에 있음" 정상 위치( ~/work/web/bylinux-core/dist/server.js )에 없고 빌드가 안 된 거면: sh cd ~/work/web/bylinux-core npm run build ls dist/server.js # 이제 생겼는지 확인 중첩 폴더( bylinux-core/bylinux-core/ ) 안에 프로젝트가 들어간 거면: tarball을 --strip-components=1 없이 풀어서 생긴 것이니, 그 중첩을 정리해야 합니다(백업 먼저): sh cd ~/work/web/bylinux-core mv bylinux-core/dist ./dist 2>/dev/null # 필요한 것만 끌어올리거나 # 또는 아예 깨끗하게 다시: 백업 후 tarball 을 올바르게 재전개 핵심 원인 정리: pm2에 등록된 경로가 .../bylinux-core/bylinux-core (중첩)로 잘못 박혀 있어서, pm2 restart 가 계속 그 없는 경로를 찾습니다. 해결은 pm2 delete all + pm2 kill 로 등록을 완전히 지운 뒤, 올바른 절대경로로 새로 start 하는 것입니다. 가장 확실한 건 ecosystem 파일로 등록 하는 겁니다. ~/work/web/bylinux-core/ecosystem.config.js 가 있으면: sh cd ~/work/web/bylinux-core cat ecosystem.config.js | grep -E "script|cwd" # 경로에 중첩 없는지 확인 pm2 delete all ; pm2 kill pm2 start ecosystem.config.js pm2 save 먼저 ls -la dist/server.js 결과 만 알려주세요: 있으면 → 위 2~4번( pm2 delete all → pm2 kill → 절대경로로 pm2 start )으로 바로 해결 없으면 → 빌드 문제인지 중첩 문제인지 갈라서 잡겠습니다 pm2 start bylinux 처럼 이름만으로 새로 시작하는 건 안 되고(이미 등록된 걸 켤 땐 pm2 restart bylinux-core ), 지금은 등록 자체가 깨졌으니 삭제 후 절대경로로 재등록 이 정답입니다.