su
rootユーザーに切り替え。
crontabはユーザー単位の設定。
rootユーザーでcrontab -eを編集すると、
rootユーザーの権限でcrontabに設定したコマンドが実行される。
別のユーザーに切り替えてcrontab -eを開くと、
rootで設定したcrontabの内容は表示されず、ユーザーごとに個別のcrontab編集画面になる。
npm root -g
/home/user1/.anyenv/envs/nodenv/versions/16.5.0/lib/node_modules
which forever
/home/user1/.anyenv/envs/nodenv/shims/forever
crontab -e
cronの設定ファイルを開く。
NODE_PATH=/home/user1/.anyenv/envs/nodenv/versions/16.5.0/lib/node_modules @reboot /home/user1/.anyenv/envs/nodenv/shims/forever start /home/user1/Projects/xxx/backend/bin/www
環境変数NODE_PATHにnode_modulesのパスを設定する。
@reboot時には、まだ環境変数が読み込まれていない。
必要な環境変数はcrontab内で設定しなければならない。
@reboot(サーバー起動)時に、
forever start bin/www
を実行している。
@reboot時には、環境変数PATHも未設定なので、
foreverもbin/wwwもフルパスを書く必要がある。
reboot
forever list
サーバー再起動後、foreverでアプリ起動に成功していればOK。