当前位置: 代码迷 >> 综合 >> 修改rc.local,配置redis/mongo/zookeeper/python开机自启失败的,看这一篇就搞定!
  详细解决方案

修改rc.local,配置redis/mongo/zookeeper/python开机自启失败的,看这一篇就搞定!

热度:26   发布时间:2024-01-24 16:01:54.0
配置了一天Centos开机自启,最后终于成功了,网上的博客真的千篇一律,仿佛是互抄的,只是说要写rc.local,要改权限,但我试了依旧失败,如果你也是这样,试试我的这个博客!

一、配置Centos开机自启方法

这里我只是用了配置rc.local文件,其他写启动脚本的,我还不会,只会这个最简单的开机自启方法。所以把这个方法分享给大家。

二、rc.local文件在哪?

有的人在/etc/rc.d/rc.local,有的人在/etc/rc.local, 实际上这个文件在很多地方都有!可以试试搜一下这个文件,好几个地方都有,那你要改的是哪个文件呢??
在这里插入图片描述

三、你要改的是/etc/rc.d/rc.local

看下图,/etc/rc.local其实是指向/etc/rc.d/rc.local的,所以你只需要改/etc/rc.d/rc.local
在这里插入图片描述

四、rc.local文件启动python程序(举例,后面说其他服务启动)

在Centos环境里,你一般启动命令时,是不是这样,还顺带指定了输出的log日志位置,python xxxx.py >> xxxx.log。 然后其他博客告诉你,你不能写相对路径,要写绝对路径

然后你改成了这样python /home/user/xxxx.py >> xxxx.log,开机自启还是失败!

为什么呢???

五、启动失败是因为没有改权限嘛?

这时候你去查博客,大家都会告诉你,要改rc.local的权限。更改命令是chmod +x /etc/rc.d/rc.local,我给权限改成777.

这里大家注意,权限是必须要改的,但是改了权限还是失败!

这个时候我已经疯了!到底是咋回事!!怎么还不成功?问题在哪里?

六、启动失败的原因!

1、失败原因一:绝对路径
这里说的绝对路径,是所有的文件都要绝对路径,包括你要输出的log文件,都要指定成绝对路径。也就是/home/user/xxxx.py >> /home/user/xxxx.log

2、失败原因二:环境变量还没有加载完全
也就是在开机自启rc.local文件时,找不到python是谁在哪里!所以启动失败。

这个地方,既然知道了失败原因,就可以从两方面解决:

  • ① python也指定绝对路径,让开机自启找到python的路径,也就是可以这样/usr/local/python3/bin/python3 /home/user/xxxx.py >> /home/user/xxxx.log
  • ② 可以在执行python语句前将python注册到语句之前,就是在这条语句前加一句export PYTHON_HOME=/usr/local/python/bin,然后再写python /home/user/xxxx.py >> /home/user/xxxx.log,绝对路径不要忘了哦!
    在这里插入图片描述

七、配置开机自启redis

指定好redis-server 和redis.conf配置文件的绝对路径位置

命令:/usr/redis/soure/redis-4.0.6/redis-server /usr/redis/soure/redis-4.0.6/redis.conf

(举例是我centos里redis的安装路径,需要自行替换)

八、配置开机自启mongo

指定好mongod和mongdb.conf的绝对路径。

命令:/usr/mongodb/mongodb-linux-x86_64-3.4.18/bin/mongod -f /usr/mongodb/mongodb-linux-x86_64-3.4.18/bin/mongodb.conf

(举例是我centos里mongo的安装路径,需要自行替换)

九、配置开机自启zookeeper

先将java环境引入,再启动zookeeper

命令:export JAVA_HOME=/usr/java/jdk8/jdk1.8.0_144

命令:/usr/zk/zookeeper-3.4.13/bin/zkServer.sh start

(举例是我centos里jdk1.8的安装路径,需要自行替换)

十、我的配置文件如下图,可以对照

在这里插入图片描述
希望这篇博客对你有帮助哦~~

  相关解决方案