/etc/rc.local 与 /etc/profile

本文介绍如何通过编辑/etc/rc.local实现Tomcat自启动,并确保环境变量正确加载。由于rc.local先于/etc/profile执行,需在rc.local中调用profile以避免因环境变量未加载导致的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.用户自己源码安装的软件组要自启动,可以在/etc/rc.local中配置,rc.loacl 是rc.d/rc.local的一个软连接。
rc.local -> rc.d/rc.local
2. 用户的配置环境变量配置在/etc/profile下

3.但是自启动rc.local先于/etc/profile被系统执行,有些软件找不到环境变量而无法执行。我们可以在rc.local中先调用/etc/profile,然后添加自己的自启动代码。

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中执行etc/profile, 并启动tomcat

## ADD by icesongqiang for java jdk 16.12.28
source etc/profile
## add tomcat
${CATALINA_HOME}/bin/startup.sh start

但是这样有一个弊端,就是用户没有登录也会看到环境变量中的值,而如果直接将/etc/profile中的环境变量语句拷贝到/etc/rc.loacl中,export语句会没有效果。也就是说执行了rc.local后,export的变量就无效了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值