问题描述
我正在与React一起工作,并且需要我的网页在重启后仍然有效。 所以在crontab之后我永远需要。
我尝试过的。
crontab -e
@reboot ~/reboot.sh
@reboot sudo service Nginx restart
#!/bin/bash
cd ~/lacirolnikdev && sudo ~/.nvm/versions/node/v14.13.1/bin/forever start -c "/.nvm/versions/node/v14.13.1/bin/npm start" .
cd ~/coinwork && sudo ~/.nvm/versions/node/v14.13.1/bin/forever start -c "/.nvm/versions/node/v14.13.1/bin/npm start" .
我尝试了绝对路径,sudo并移动到目录。 除了crontab之外,命令还可以正常工作。
谢谢你拉西
解决方法
启动后启动进程的更好方法是使用systemd
单元文件,这是大多数发行版中的事实上的标准初始化守护程序。 systemd
负责启动您的应用程序,能够监视崩溃并重新启动它。
在这里查看单位文件的文档: https://www.freedesktop.org/software/systemd/man/systemd.unit.html
这是nginx
的示例:
/lib/systemd/system/nginx.service
[Unit]
Description=A high performance web server and a reverse proxy server
Documentation=man:nginx(8)
After=network.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'
ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload
ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid
TimeoutStopSec=5
KillMode=mixed
[Install]
WantedBy=multi-user.target