ubuntu开机自启动tomcat

时间:2023-01-08 15:40:02

开发环境ubuntu14.04,最近尝试让tomcat开机自启动,暂时发现有两种办法可以使得tomcat开机自启动,记录一下。当然,这两种开机自启动的办法,不仅仅只使用于tomcat,对于其他服务如mysql等,应该也是可行的。如果还有其他办法,欢迎交流。

一.配置tomcat为服务

1.下载tomcat的zip文件,解压后配置tomcat
2.进入bin目录,将文件commons-daemon-native.tar.gz解压后进入解压后的commons-daemon-1.0.15-native-src/unix目录
3.执行./configure –with-java=JAVA_PATH
4.执行 sudo make,将会生成jsvc文件,将此文件拷贝到bin目录下
5.创建一个用户tomcat(或者是其他用户名)
useradd tomcat -M -d / -s /usr/sbin/nologin。(-M不创建用户主目录 -d指定用户主目录 -s指定用户shell)
sudo userdel -r tomcat,可以删除用户。-r:删除用户的同时,删除与用户相关的所有文件。这里tomcat对应的目录是/,其权限所属者并不是tomcat,而是root,所以即使使用-r参数,也不会将/目录给删除。
6.修改daemon.sh文件,设置TOMCAT_USER=tomcat,JAVA_HOME=/usr/lib/jvm/java
7.修改tomcat目录及其全部子目录与子文件的用户、所属组都是tomcat,chown -R tomcat:tomcat /usr/local/tomcat
8.然后在tomcat安装目录的bin目录下就可以使用daemon.sh start命令启动Tomcat服务
9.为了方便我们将tomcat设置为服务(在init.d下创建软连接):ln -s /usr/local/Tomcat9/bin/daemon.sh /etc/init.d/tomcat
10.这样就可以使用service Tomcat9 start进行启动了
11.设置Tomcat为开机自启动服务,需先将tomcat设置为服务:update-rc.d Tomcat9 defaults
12.如果想移除tomcat开机自启动,执行以下命令:update-rc.d Tomcat9 remove

二.将开启tomcat的命令添加到/etc/rc.local文件中

首先确保即将添加到/etc/rc.local文件中的脚本可以正常启动tomcat。然后将此命令添加到文件中,注意,添加的命令必须要在exit 0 的前面才行。
注意:/etc/rc.local是以root身份去执行的

其他(与本文主题关系不大)

另外,有时候如果需要输入密码才能继续运行,也可自动化。[说明:以下内容完全来自于参考的博客,自己并没有验证]
1.systemd
2.使用管道(上一个命令的 stdout 接到下一个命令的 stdin):

#!/bin/bash
echo password | sudo -S apt-get update

3.使用文本块输入重定向

#!/bin/bash
sudo -S apt-get update << EOF
你的密码
EOF

4.linux的expect工具

参考链接
1.Ubuntu配置Tomcat9非root用户启动
http://www.cnblogs.com/Tielong/p/5422599.html
2.Linux下开机自启动自定义shell脚本
http://blog.csdn.net/zhengshifeng123/article/details/52708596
3.ubuntu运行sh脚本sudo自动输入密码
http://blog.csdn.net/hpu11/article/details/71525066