配置了一天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的安裝路徑,需要自行替換)
十、我的配置文件如下圖,可以對照
希望這篇博客對你有幫助哦~~