Skip to content
created by Aha00aAha00a at 2019-02-11
last modified by Aha00aAha00a at 2019-02-11
revision: 3

Ubuntu StartUp Script

나는 보통 시스템 계정을 사용하지 않고 기본 계정인 ubuntu에 서비스를 구축한다. 그리고 Node.js도 시스템에 설치하지 않고 nvm을 사용해서 설치한다. 그랬더니 startup시에 자동 구동하는데 어려움이 생겼다.

결론은 /etc/rc.local에 su - ubuntu -c cmd로 스크립트를 구동하고, 해당 스크립트 실행시에 PATH variable을 못찾으므로 재설정 해 주고 실행하면 된다.

--2019-02-11

  • /etc/rc.local - permission을 755로 맞춰줘야함.
    #!/bin/sh
    su - ubuntu -c /home/ubuntu/project/start.sh
  • /home/ubuntu/project/start.sh
    #!/bin/bash
    cd ~/project/
    PATH=/home/ubuntu/.nvm/versions/node/v8.9.4/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
    NODE_ENV=staging PORT=13000 /home/ubuntu/.nvm/versions/node/v8.9.4/bin/forever start -l log.log -a --minUptime 5000 --spinSleepTime 2000 app.js
  • - askubuntu.com - How can I make “rc.local” run on startup?
    • 다음 명령을 이용하면 /etc/rc.local이 정상 실행되었는지 확인할 수 있다.
      systemctl status rc-local.service

2. See Also

2.2. Adjacent Pages

Control
≤ 32
all
1.0x
1.0x
80
-120
ON
Metrics
Nodes(visible/total)0/0
Links(visible/total)0/0
Avg degree0.00
Depth coverage0
Queue(fetch/graph)0 / 0
Zoom(scale)1.00x
Ctrl/⌘ + Scroll: Zoom
Root 1-hop 2-hop+