search

Home  >  Q&A  >  body text

service - Ubuntu16 Tomcat9 设置开机自动重启时为什么起不来?

每次启动到这个地方就起不来了是怎么回事?!!!!!!
总是到这里就停下了:
[localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /usr/local/tomcat9/webapps/docs


但是若是手动startup.sh这种方式启动的话就没有任何问题。

下面就是本人设置使用的三种方法,但是每种方法到最后都是到这里就不行了。
方法一(参考这个教程:http://www.cnblogs.com/tr0217...:
1.将tomcat安装目录下bin文件夹中的catalina.sh拷贝到/etc/init.d下并修改名称为tomcat.
2.在这个tomcat文件里面添加:
CATALINA_HOME=/usr/local/tomcat9
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_111
3.使用service命令启动tomcat服务
cd /etc/init.d
service tomcat start
4.最后结果就是上图的结果了。
方法二:
nano /etc/systemd/system/tomcat.service
在上面这个文件里面配置如下内容:

完了之后:

都设置好了之后,重启虚拟机就出现上述问题那里了。然后命令行这里检测的状态都是没有问题的,正常我启动状态:systemctl status tomcat(这个命令检测)

方法三:
查到Ubuntu1610把rc.local服务化了,然后就找了一下解决方法
**创建systemd的服务脚本
sudo vi /etc/systemd/system/rc-local.service
执行命令后添加如下内容:
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
最后执行下面命令:
sudo systemctl enable rc-local.service**

这些执行完之后,rc-local.service这个服务就可以用了,下面的东西就可以继续执行。
因为ubuntu16.10没有/etc/rc.local 文件了,所以自行创建 /etc/rc.local并添加以下默认内容

为了让文件顺利进行,就需要执行的如下命令:

最开始是没有sleep这个的,但是由于不添加休眠时间启动就不完整,所以加上了,
但是加上之后就又回归原来的问题了(就是最开始一直无法解决的问题)。

虔诚的希望大家遇到过这个问题的话,帮忙解答一下,这个都要整崩溃了。

大家讲道理大家讲道理2777 days ago664

reply all(3)I'll reply

  • 巴扎黑

    巴扎黑2017-04-24 09:16:06

    This question is very strange, please give it a thumbs up and wait for the master’s reply

    reply
    0
  • PHPz

    PHPz2017-04-24 09:16:06

    I recently installed Tomcat9 under Ubuntu16, and it can start automatically after booting. Below are my notes from the installation. hope this helps.
    Installing Tomcat9 under Ubuntu16.10

    reply
    0
  • 阿神

    阿神2017-04-24 09:16:06

    Do you have a problem with user permissions? The permission to run commands that can be executed automatically requires root. Tomcat should not be started by root. Try adding the user switching command su -user - before starting the script. c "command" Try it

    reply
    0
  • Cancelreply