修改rc.local,配置redis/mongo/zookeeper/python開機自啓失敗的,看這一篇就搞定!

配置了一天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的安裝路徑,需要自行替換)

十、我的配置文件如下圖,可以對照

在這裏插入圖片描述
希望這篇博客對你有幫助哦~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章