1.用戶自己源碼安裝的軟件組要自啟動(dòng),可以在/etc/rc.local中配置,rc.loacl 是rc.d/rc.local的一個(gè)軟連接。rc.local -> rc.d/rc.local
- 用戶的配置環(huán)境變量配置在/etc/profile下。
3.但是自啟動(dòng)rc.local先于/etc/profile被系統(tǒng)執(zhí)行,有些軟件找不到環(huán)境變量而無(wú)法執(zhí)行。我們可以在rc.local中先調(diào)用/etc/profile,然后添加自己的自啟動(dòng)代碼。
4.以tomcat為例, 首先在/etc/profile 中添加:
## ADD by icesongqiang for java jdk 16.12.28
JAVA_HOME=/usr/share/java; export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH; export PATH
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib; export CLASSPATH
## ADD CATALINA_HOME for tomcat by icesonqiang 16.12.28
CATALINA_HOME=/usr/local/tomcat8;export CATALINA_HOME
## ADD by icesongqiang for maven 16.12.28
M2_HOME=/usr/local/apache-maven; export M2_HOME
PATH=$M2_HOME/bin:$PATH; export PATH
接著在/etc/rc.local中執(zhí)行etc/profile, 并啟動(dòng)tomcat
## ADD by icesongqiang for java jdk 16.12.28
source etc/profile
## add tomcat
${CATALINA_HOME}/bin/startup.sh start
但是這樣有一個(gè)弊端,就是用戶沒(méi)有登錄也會(huì)看到環(huán)境變量中的值,而如果直接將/etc/profile中的環(huán)境變量語(yǔ)句拷貝到/etc/rc.loacl中,export語(yǔ)句會(huì)沒(méi)有效果。也就是說(shuō)執(zhí)行了rc.local后,export的變量就無(wú)效了。
發(fā)現(xiàn)tomcat不能自動(dòng)啟動(dòng),后來(lái)發(fā)現(xiàn)是因?yàn)?etc/rc.d/rc.local 先于/etc/profile啟動(dòng)而我的環(huán)境變量是在profile里面設(shè)置的所以tomcat啟動(dòng)時(shí)找不到環(huán)境變量。后來(lái)修改了一下把環(huán)境變量添加到了startup.sh里面就ok了!