现在需要将egg的后台服务做成上电自启动,因为启动需要的依赖在/opt/ap/ap/package.json中,所以一定要先进入这个文件下,再执行npm start启动 现在测试发现在rc.local的启动脚本中(cd /opt/ap/ap && npm start)脚本能正确进入指定目录,但是egg并没有启动,连错误输出日志也没有,包括egg的/root/logs日志也什么都没有,请问有什么办法解决吗
[eggjs/egg]egg centos开机自启动问题
回答
跟 egg 关系不大,自行排查下。
现在已经测试过很多种方法了,还是不行
1./etc/rc.d/rc.local 启动脚本执行
cd /opt/ap/ap ;./bx_ac_start.sh &
(cd /opt/ap/ap && ./bx_ac_start.sh) &
(cd /opt/ap/ap && source ./bx_ac_start.sh) &
(cd /opt/ap/ap && . ./bx_ac_start.sh) &
延时执行
2./etc/init.d/ 系统服务执行 . /etc/rc.d/init.d/functions export HOME=/root start() { echo "starting bx ac clouds..." service mongod start service redis start cd /root/emqx && ./bin/emqx start /usr/local/nginx/sbin/nginx cd /opt/ap/ap && start.sh }
3./etc/supervisord.d/ac_start.ini supervisord [program:ac_start] command=(cd /opt/ap/ap && ./start.sh) stdout_logfile=/tmp/ac_log autostart=true autorestart=true startsecs=5 priority=1 stopasgroup=true killasgroup=true
4.python system("")
5.npm start 修改/opt/ap/ap目录下的egg开始脚本start.sh,在package.json中改写start 全局安装egg-scripts
6.crontab 检测egg的通信端口,定时执行egg的启动脚本
请问这个要怎么启动egg后台服务
可以看下 egg-scripts 源码
现在连源码安装的emq都能正常启动,同样的方法为什么egg不行呢
大佬 有什么方法提供下 我现在都不知道怎么做了
代码跑在你电脑,我们咋知道啊。二分排查呗,从 egg-scripts 开始看日志输出和打点看
我也试了,也是不行,开机启动不了
/etc/rc.local 和/etc/init.d/ 都试了不行,我放到了/etc/profile.d/这个目录下,登录之后执行,但是偶尔情况会报错Error: ENOENT: no such file or directory, rename '/root/logs/master-stdout.log' -> '/root/logs/master-stdout.log.20191207.204523'。。。。。不过基本可以用
好吧。。。/etc/init.d/ 也是是可以的。。。放profile.d下面,每次打开一个ssh窗口都会执行一次
我的也是在linux上想做开机自动启动, 有启动成功的吗? 求自启动代码
我之前那个是egg没启动起来,需要把egg的功能全局安装下 就可以了