在阿里云上的机器上(Ubuntu18.04)上安装tomcat,安装很顺利,就是设置自启动费了很多劲,网上找了半天都不行。最后Google到了解决方案,这里顺便记录一下,需要的可以拿去参考。
1. 安装。
tomcat需要依赖JDK开发环境,安装JDK的过程不表。顺便说一下,现在Oracle上下载JDK需要注册了,直接通过命令的方法安装好像不行,有点坑。
下载tomcat以后(我是下载tomcat 8,最新的已经到9了),通过xftp上传到阿里云。然后进入对应的目录,执行:tar -zxvf apache-tomcat-8.5.49.tar,即将tar包解压到当前目录下。默认情况下,可以收到进入bin目录下,执行./startup.sh,即可启动tomcat,然后在浏览器中输入:ip:8080测试是否正常启动了tomcat,正常情况你会看到一个小猫的画面。
2. 设置自启动
安装过程简单说了一下,关键说一下设置自启动。
目前在网上能找到80%的方法都是Ubuntu18以前的设置自启动方法,在Ubuntu18.04上都不管用。我是参考了:https://www.myfreax.com/how-to-install-tomcat-9-on-ubuntu-18-04/这个方法搞定了。在此也简单记录一下。
1)要将Tomcat作为服务运行,我们将创建一个新的单元文件。在/etc/systemd/system/
中创建一个名为tomcat.service
的文件(因为下面设计很多vi操作,如果不熟悉VI命令,个人推荐使用VS code,下载安装vs code,在扩展程序中搜索:remote,然后安装Microsoft出的几个扩展,见下图,然后远程连接上服务器,可以利用vs code的编辑器编辑各种文件,非常方便。)
2)复制一下内容到tomcat.service中
[Unit]
Description=Tomcat 9 servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/default-java" ##修改为你自己的jdk路径
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
Environment="CATALINA_BASE=/work/tomcat/apache-tomcat-8.5.49" ##修改为你自己的tomcat路径
Environment="CATALINA_HOME=/work/tomcat/apache-tomcat-8.5.49" ##修改为你自己的tomcat路径
Environment="CATALINA_PID=/work/tomcat/apache-tomcat-8.5.49/temp/tomcat.pid" ##修改为你自己的tomcat路径
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/work/tomcat/apache-tomcat-8.5.49/bin/startup.sh ##修改为你自己的tomcat路径
ExecStop=/work/tomcat/apache-tomcat-8.5.49/bin/shutdown.sh ##修改为你自己的tomcat路径
[Install]
WantedBy=multi-user.target
保存并关闭文件,并通知systemd我们创建了一个新的单位文件,执行以下指令:
sudo systemctl daemon-reload
然后启动tomcat服务,看看是否可以正常运行:
sudo systemctl start tomcat
使用以下命令检查服务状态:
sudo systemctl status tomcat
正常情况执行上述指令后会显示如下:
root@iZ2ze1l1mtrhtwyfxbukxjZ:~# sudo systemctl daemon-reload
root@iZ2ze1l1mtrhtwyfxbukxjZ:~# sudo systemctl start tomcat
root@iZ2ze1l1mtrhtwyfxbukxjZ:~# sudo systemctl status tomcat
● tomcat.service - Tomcat 9 servlet container
Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled)
Active: active (running) since Wed 2019-12-11 21:58:27 CST; 7s ago
Process: 1023 ExecStart=/work/tomcat/apache-tomcat-8.5.49/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 1030 (java)
Tasks: 47 (limit: 4681)
CGroup: /system.slice/tomcat.service
└─1030 /java/jdk1.8.0_231/bin/java -Djava.util.logging.config.file=/work/tomcat/apache-tomcat-8.5.49/conf/logging.properties -Djava.util.logging.manager=org.apa
Dec 11 21:58:27 iZ2ze1l1mtrhtwyfxbukxjZ systemd[1]: Starting Tomcat 9 servlet container...
Dec 11 21:58:27 iZ2ze1l1mtrhtwyfxbukxjZ startup.sh[1023]: Tomcat started.
Dec 11 21:58:27 iZ2ze1l1mtrhtwyfxbukxjZ systemd[1]: Started Tomcat 9 servlet container.
如果有错误,那就根据错误来修改。
最后如果没有错误,执行以下语句:
sudo systemctl enable tomcat
成功会显示如下:
root@iZ2ze1l1mtrhtwyfxbukxjZ:~# sudo systemctl enable tomcat
Created symlink /etc/systemd/system/multi-user.target.wants/tomcat.service → /etc/systemd/system/tomcat.service.
至此,重启Ubuntu即可看到效果了