Linux设置tomcat、redis、Nginx、Apache、play开机自启动脚本
方法:
我这里创建了一个脚本文件。
命令:
vim /etc/init.d/startTomcat
文件内容(文章后面讲解内容详情):
#!/bin/bash
#
# tomcat startup script for the Tomcat server
#
# chkconfig: 345 80 20
# description: start the tomcat deamon
#
# Source function library
. /etc/rc.d/init.d/functions
prog=tomcat
JAVA_HOME=/usr/java/jdk1.8.0_181/
export JAVA_HOME
CATALANA_HOME8185=/usr/local/apache-tomcat-7/apache-tomcat-7-8185/
CATALANA_HOME8186=/usr/local/apache-tomcat-7/apache-tomcat-7-8186/
CATALANA_HOME8187=/usr/local/apache-tomcat-7/apache-tomcat-7-8187/
export CATALINA_HOME8185
export CATALINA_HOME8186
export CATALINA_HOME8187
#start Redis
#/usr/local/redis/redis-4.0.6/src/redis-server /usr/local/redis/redis-4.0.6/redis.conf
sleep 120
#start nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
sleep 5
#start apache
/usr/local/apache/bin/apachectl start
sleep 5
case "$1" in
start)
echo "Starting Tomcat..."
$CATALANA_HOME8185/bin/startup.sh
$CATALANA_HOME8186/bin/startup.sh
$CATALANA_HOME8187/bin/startup.sh
;;
stop)
echo "Stopping Tomcat..."
$CATALANA_HOME8185/bin/startup.sh
$CATALANA_HOME8186/bin/startup.sh
$CATALANA_HOME8187/bin/startup.sh
;;
restart)
echo "Stopping Tomcat..."
$CATALANA_HOME8185/bin/startup.sh
$CATALANA_HOME8186/bin/startup.sh
$CATALANA_HOME8187/bin/startup.sh
sleep 2
echo
echo "Starting Tomcat..."
$CATALANA_HOME8185/bin/startup.sh
$CATALANA_HOME8186/bin/startup.sh
$CATALANA_HOME8187/bin/startup.sh
;;
*)
echo "Usage: $prog {start|stop|restart}"
;;
esac
sleep 5
#start play
rm -f /usr/local/play-java-1.0-SNAPSHOT/RUNNING_PID
sleep 2
rm -f /usr/local/play-java-1.0-SNAPSHOT/bin/nohup.out
sleep 2
chmod a+x /usr/local/play-java-1.0-SNAPSHOT/bin/play-java
sleep 2
nohup /usr/local/play-java-1.0-SNAPSHOT/bin/play-java -Dconfig.file=/usr/local/play-java-1.0-SNAPSHOT/conf/application.conf &
exit 0
这里还需要将创建的文件配置一下在终端执行一下命令即可切记一句一句执行:
chmod +x /etc/init.d/startTomcat
chkconfig startTomcat on
service startTomcat start
# 这句代码执行是看上面写好的脚本文件是否有用
注:上面命令中的startTomcat
是上面创建的文件的名称。可以根据自己的需要修改只要和上面的文件名称保持一致即可。
如果上述都没啥问题,可以将服务器重启,看下设置是否有效。我这个服务器是centos7。
这里说一下文件的内容:
JAVA_HOME
这是自己服务器的jdk的位置,需要按照自己服务器的位置进行更改。CATALANA_HOME8185
这是我的tomcat的路径,需要按照自己的情况修改。CATALANA_HOME8186
这是我的tomcat的路径,需要按照自己的情况修改。CATALANA_HOME8187
这是我的tomcat的路径,需要按照自己的情况修改。如果你只有一个tomcat那就配一个,把其他的关联的都删掉即可。- redis的配置我这里面没用但是你们可以按照同样的思路去配置。
sleep
是睡眠的意思,后面的数字单位是秒。这里之前需要到问题,就是说当tomcat启动的时候redis还没有启动,导致项目启动报错,这里先睡眠一下,等redis启动之后,在执行启动tomcat的命令就不会报错了。- 接下来就是启动Nginx和Apache的命令,这些命令之间最好是执行完一条命令之后睡眠几秒之后再执行后面的命令。很多命令同时执行的话有可能会报错。
$CATALANA_HOME8186/bin/startup.sh
这里的命令和之前配置Tomcat的位置的命令是相对应的,如果你的Tomcat只有一个,那就只留一个就行。- 最后面的是启动play的命令,这里也是执行完一个命令之后睡眠几秒,然后执行另一个命令。