如何在CentOS 7/Fedora 31/30/29上安装Apache Tomcat 9
今天,我们来看看如何在CentOS 7/Fedora 31/30/29上安装Apache Tomcat9. TomcatServer是由Apache Software Foundation(ASF)开发并在Apache License版本2下发行的开源Java Servlet容器。该工具使我们可以托管用Java编写的Web应用程序。 Tomcat执行Java servlet,并呈现包含Java Server Page编码的Web页面。
Tomcat 9基于最新的Java EE 8规范(例如Servlet 4.0,EL 3.1,JSP 2.4和WebSocket 1.2)构建。以下是在CentOS 7/Fedora 31/30/29上安装Apache Tomcat 9的步骤。
停用SELinux并安装curl
由于我们将以tomcat用户身份运行tomcat服务,因此禁用器将SELinux设置为允许模式:
sudo yum -y install curl vim wget sudo setenforce 0 sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config
要完全禁用它,请运行:
sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config sudo reboot
第2步:在CentOS 7/Fedora 31/30/29上安装OpenJDK 11
第一步是在CentOS 7/Fedora 31/30/29上安装OpenJDK 11,因为它是Tomcat依赖项。
在CentOS 7/Fedora上安装Apache Tomcat 9
安装OpenJDK 11之后,继续在CentOS 7/Fedora 31/30/29上下载并安装Tomcat 9. 在下载之前,请从Apache检查Tomcat 9的最新版本。
export VER="9.0.27" wget https://archive.apache.org/dist/tomcat/tomcat-9/v$VER/bin/apache-tomcat-$VER.tar.gz tar xvf apache-tomcat-$VER.tar.gz
将生成的文件夹移动到/usr/libexec/tomcat9
sudo mv apache-tomcat-${VER} /usr/libexec/tomcat9
添加Tomcat用户和组
我们需要添加一个用户来管理Tomcat。该用户将被命名为" tomcat"
sudo groupadd --system tomcat sudo useradd -M -d /usr/libexec/tomcat9 -g tomcat tomcat
将/usr/libexec/tomcat9目录的所有权更改为tomcat用户和组。
sudo chown -R tomcat:tomcat /usr/libexec/tomcat9
创建Tomcat Systemd服务
最后一步是为tomcat创建服务单元文件。在下面创建一个新文件:
sudo vim /etc/systemd/system/tomcat9.service
然后加:
[Unit] Description=Apache Tomcat 9 Documentation=http://tomcat.apache.org/tomcat-9.0-doc/ After=network.target syslog.target [Service] User=tomcat Group=tomcat Type=oneshot ExecStart=/usr/libexec/tomcat9/bin/startup.sh ExecStop=/usr/libexec/tomcat9/bin/shutdown.sh RemainAfterExit=yes [Install] WantedBy=multi-user.target
重新加载systemd并启动tomcat9
服务
sudo systemctl daemon-reload sudo systemctl restart tomcat9.service
我们可以使用以下方法检查服务状态:
$sudo systemctl status tomcat9.service ● tomcat9.service - Apache Tomcat 9 Loaded: loaded (/etc/systemd/system/tomcat9.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2016-11-10 06:34:50 UTC; 4min 15s ago Docs: http://tomcat.apache.org/tomcat-9.0-doc/ Process: 3226 ExecStart=/usr/libexec/tomcat9/bin/startup.sh (code=exited, status=0/SUCCESS) Main PID: 3226 (code=exited, status=0/SUCCESS) Tasks: 43 (limit: 1149) Memory: 81.5M CGroup: /system.slice/tomcat9.service └─3241 /usr/bin/java -Djava.util.logging.config.file=/usr/libexec/tomcat9/conf/logging.properties -Djava.util.logging.manager=org.apache.j> Nov 10 06:34:50 fed29 systemd[1]: Starting Apache Tomcat 9... Nov 10 06:34:50 fed29 startup.sh[3226]: Tomcat started. Nov 10 06:34:50 fed29 systemd[1]: Started Apache Tomcat 9.
服务应该在端口8080上监听
$sudo ss -tunelp | grep 8080 tcp LISTEN 0 100 *:8080 *:* users:(("java",pid=3241,fd=37)) uid:1001 ino:29845 sk:a v6only:0 <->
如果我们有活动的防火墙服务,则允许端口" 8080"
sudo firewall-cmd --add-port=8080/tcp sudo firewall-cmd --reload
Tomcat的默认可以在[[http://(服务器的主机名或者IP地址):8080 /])上找到。
管理指南可从http://<IP>:8080/docs/index.html获取。
使用Apache HTTP服务器对Tomcat进行代理传递访问(可选)
我们可以配置Apache http服务器以访问Tomcat接口,而无需指定端口" 8080"
安装并启动Apache Web服务器。
sudo yum -y install httpd sudo systemctl start httpd && sudo systemctl enable httpd sudo firewall-cmd --add-service=http --permanent sudo firewall-cmd --reload
创建tomcat配置文件
sudo vim /etc/httpd/conf.d/proxy_tomcat.conf
加:
ProxyPass /tomcat9/ajp://localhost:8009/
访问" [http://(服务器的主机名或者IP地址)/tomcat9 /]"并确认更改是否按预期进行。
配置身份验证
创建一个Tomcat用户以访问Tomcat管理器
sudo vim /usr/libexec/tomcat9/conf/tomcat-users.xml
将以下行添加到文件中:
<role rolename="admin-gui" <user username="admin" password="StrongPassword" roles="manager-gui,admin-gui" </tomcat-users>
用实际管理员密码替换StrongPassword。