首先是从官网找链接然后wget下载下来并解压
[root@localhost ~]# cd /usr/local
[root@localhost local]# wget wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.7/bin/apache-tomcat-9.0.7.tar.gz
[root@localhost local]# tar -xzvf apache-tomcat-9.0.7.tar
要设置开机自启动需要我们自己把tomcat做成一个服务
进入到/usr/lib/systemd/system/目录下,新建一个文件叫tomcat.service(可自己改,需要和一会儿开启关闭服务名保持一致),并粘贴以下内容
[Unit]
Description=tomcat
After=network.target
[Service]
Type=oneshot
ExecStart=/usr/local/apache-tomcat-9.0.7/bin/startup.sh //自已的tomcat目录
ExecStop=/usr/local/apache-tomcat-9.0.7/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
保存后就可以尝试开启服务了,使用systemctl start tomcat.service即可。这个地方注意可能会报一个错如下
[root@localhost bin]# systemctl status tomcat.service
● tomcat.service - tomcat
Loaded: loaded (/usr/lib/systemd/system/tomcat.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2018-05-02 10:02:19 CST; 1min 31s ago
Process: 20223 ExecStart=/usr/local/apache-tomcat-9.0.7/bin/startup.sh //自已的tomcat目录 (code=exited, status=1/FAILURE)
Main PID: 20223 (code=exited, status=1/FAILURE)
May 02 10:02:19 localhost.localdomain systemd[1]: Starting tomcat...
May 02 10:02:19 localhost.localdomain startup.sh[20223]: Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
May 02 10:02:19 localhost.localdomain startup.sh[20223]: At least one of these environment variable is needed to run this program
May 02 10:02:19 localhost.localdomain systemd[1]: tomcat.service: main process exited, code=exited, status=1/FAILURE
May 02 10:02:19 localhost.localdomain systemd[1]: Failed to start tomcat.
May 02 10:02:19 localhost.localdomain systemd[1]: Unit tomcat.service entered failed state.
May 02 10:02:19 localhost.localdomain systemd[1]: tomcat.service failed
就是说找不到JAVA_HOME或者JRE_HOME,我本地是有配置的,好像说因为我是直接官网下载没有用yum导致了这个错误,如果报错的话就回到tomcat的bin目录找catalina.sh编辑声明JAVA_HOME,这个我是放在开头,下面可能有调用,所以放最上边最保险,加如下一行即可,注意路径换成机器安装的jdk的路径
export JAVA_HOME=/usr/local/java/jdk1.8.0_172
保存后再次尝试systemctl start tomcat.service成功则证明这个服务制作好了。
[root@localhost bin]# systemctl status tomcat.service
● tomcat.service - tomcat
Loaded: loaded (/usr/lib/systemd/system/tomcat.service; disabled; vendor preset: disabled)
Active: active (exited) since Wed 2018-05-02 10:22:50 CST; 29s ago
Process: 20334 ExecStart=/usr/local/apache-tomcat-9.0.7/bin/startup.sh //自已的tomcat目录 (code=exited, status=0/SUCCESS)
Main PID: 20334 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/tomcat.service
└─20343 /usr/local/java/jdk1.8.0_172/bin/java -Djava.util.logging.config.file=/usr/local/apache-tomcat-9.0.7/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogMana...
这样要设置开机自启动直接与其他服务操作方式一样
systemctl enable tomcat.service(开机自启)
systemctl disable tomcat.service(关闭开机自启)
文章主要是正好遇上了所以做个记录。