下面是 "Centos7安装配置tomcat9并设置自动启动的方法" 的完整攻略。
1. 安装Tomcat9
1.1 下载Tomcat9二进制包
到Tomcat的官网https://tomcat.apache.org/download-90.cgi下载对应版本的Tomcat二进制包。
例如,下载 Tomcat 9.0.46 的二进制包
$ curl -O https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-9/v9.0.46/bin/apache-tomcat-9.0.46.tar.gz
1.2 解压Tomcat9
解压下载的二进制包并以 tomcat 为目录名保存
$ tar xzf apache-tomcat-9.0.46.tar.gz
$ mv apache-tomcat-9.0.46 tomcat
1.3 修改Tomcat9配置
更改tomcat/conf/server.xml 配置文件,使Tomcat监听在端口 8080 上并支持 servlet 3.1 规范
...
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
...
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
...
1.4 启动Tomcat9
运行 $CATALINA_HOME/bin/startup.sh 启动Tomcat
$ cd tomcat/bin
$ ./startup.sh
使用 curl 命令检查Tomcat是否已在本地主机上运行
$ curl http://localhost:8080/
如果成功运行,则会看到默认欢迎页面
2. 配置Tomcat9自启
2.1 创建 systemd unit 文件
创建 /etc/systemd/system/tomcat.service 文件,内容如下
[Unit]
Description=Apache Tomcat Server
After=syslog.target network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64
Environment=CATALINA_PID=tomcat.pid
Environment=CATALINA_HOME=/path/to/tomcat
Environment=CATALINA_BASE=/path/to/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/path/to/tomcat/bin/startup.sh
ExecStop=/path/to/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
其中需要更改的项
Environment=JAVA_HOME=xxx
- 应指向您的JDK安装目录Environment=CATALINA_HOME
,Environment=CATALINA_BASE
- 将路径路径指向Tomcat的安装目录User
,Group
- 配置Tomcat服务账户和组
2.2 重新加载Systemd
重新加载systemd配置文件,使新建的 tomcat 服务生效
$ systemctl daemon-reload
2.3 启动Tomcat9自启服务
通过 systemd 工具启动服务并将其设置为自启项
$ systemctl start tomcat
$ systemctl enable tomcat
2.4 验证Tomcat是否已成功设置为自启项
使用 systemctl 工具验证是否已将Tomcat服务设置为自启项
$ systemctl is-enabled tomcat
如果控制台输出 enabled ,则表示Tomcat已成功设置为自启项。
示例1:配置防火墙
如果服务器开启了防火墙,在开启Tomcat前需要先将防火墙放行 8080 端口,否则客户端无法连接到Tomcat
$ firewall-cmd --zone=public --add-port=8080/tcp --permanent
$ firewall-cmd --reload
示例2:安装实例
如果您希望运行多个Tomcat实例,则必须为每个实例配置一个单独的 systemd unit 文件。例如,要在服务器上运行两个Tomcat实例(实例1和2):
- 配置 Tomcat 实例 1 和 Tomcat 实例 2:
$ tar xzf apache-tomcat-9.0.46.tar.gz
$ mv apache-tomcat-9.0.46 tomcat1
$ cp -R tomcat1 tomcat2
- 创建两个 Tomcat 实例,每个实例都有自己的配置文件,在启动时自动按名称绑定到端口:
$ cd tomcat1/conf && cp server.xml server1.xml
$ cd tomcat2/conf && cp server.xml server2.xml
-
编辑 /etc/systemd/system/tomcat1.service 和 /etc/systemd/system/tomcat2.service 文件,用适当的路径和用户信息修改上述示例中的 ExecStart 和 User 项。
-
启动并开启自起项对于两个实例:
$ systemctl start tomcat1
$ systemctl start tomcat2
$ systemctl enable tomcat1
$ systemctl enable tomcat2
其中, $ systemctl enable SERVICE_NAME
命令会将服务自动设置为自启项。
以上是Centos7安装配置tomcat9并设置自动启动的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Centos7安装配置tomcat9并设置自动启动的方法 - Python技术站