方法一:
linux 下tomcat開機自啟動
修改Tomcat/bin/startup.sh 為:
export JAVA_HOME=/usr/java/j2sdk1.4.2_08 export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:. export PATH=$PATH:$JAVA_HOME/bin export CATALINA_HOME=/usr/local/tomcat /usr/local/tomcat/bin/catalina.sh start
在/etc/rc.d/rc.local中加入:
/usr/local/tomcat/bin/startup.sh
方法二:
1、把下面的代碼保存為tomcat文件,並讓它成為可執行文件 chmod 755 tomcat.
#!/bin/bash
#
# kenny kenny.zhou@tom.com
# /etc/rc.d/init.d/tomcat
# init script for tomcat precesses
#
# processname: tomcat
# description: tomcat is a j2se server
# chkconfig: 2345 86 16
# description: Start up the Tomcat servlet engine.
if [ -f /etc/init.d/functions ]; then
. /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ]; then
. /etc/rc.d/init.d/functions
else
echo -e "/atomcat: unable to locate functions lib. Cannot continue."
exit -1
fi
RETVAL=$?
CATALINA_HOME="/usr/local/tomcat"
case "$1" in
start)
if [ -f $CATALINA_HOME/bin/startup.sh ];
then
echo $"Starting Tomcat"
$CATALINA_HOME/bin/startup.sh
fi
;;
stop)
if [ -f $CATALINA_HOME/bin/shutdown.sh ];
then
echo $"Stopping Tomcat"
$CATALINA_HOME/bin/shutdown.sh
fi
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
;;
esac
exit $RETVAL
2、將tomcat文件拷貝到/etc/init.d/下,並運行:
chkconfig --add tomcat
3、在tomcat/bin/catalina.sh文件中加入以下語句:
export JAVA_HOME=/YOURPATH/tomcat/jdk export CATALINA_HOME=/YOURPATH/tomcat export CATALINA_BASE=/YOURPATH/tomcat export CATALINA_TMPDIR=/YOURPATH/tomcat/temp
啟動tomcat:
service tomcat start
停止tomcat:
service tomcat stop
注意:
如果是centos7的話,默認是系統自動不執行/etc/rc.d/rc.local,需要更改權限,
最近發現centos7 的/etc/rc.local不會開機執行,於是認真看了下/etc/rc.local文件內容的就發現了問題的原因了
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In constrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
|
翻譯:
#這個文件是為了兼容性的問題而添加的。
#
#強烈建議創建自己的systemd服務或udev規則來在開機時運行腳本而不是使用這個文件。
#
#與以前的版本引導時的並行執行相比較,這個腳本將不會在其他所有的服務后執行。
#
#請記住,你必須執行“chmod +x /etc/rc.d/rc.local”來確保確保這個腳本在引導時執行。
|
於是我有確認了下/etc/rc.local的權限
[root@localhost ~]
# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 8月 12 06:09
/etc/rc
.
local
-> rc.d
/rc
.
local
[root@localhost ~]
# ll /etc/rc.d/rc.local
-rw-r--r--. 1 root root 477 6月 10 13:35
/etc/rc
.d
/rc
.
local
|
/etc/rc.d/rc.local沒有執行權限,於是按說明的內容執行
chmod
+x
/etc/rc
.d
/rc
.
local
|
重啟后發現/etc/rc.local能夠執行了。
看樣子是版本的變遷,/etc/rc.local /etc/rc.d/rc.local正在棄用的路上。

