本文介绍在RHEL/CentOS 8操作系统上安装Apache Tomcat 9的方法,它的所需要的依赖是Java 8或更高Java版本,参考在RHEL 8系统上安装Java 11(OpenJDK 11)的方法、在CentOS 7/Fedora 29系统上安装Java 11的方法。
一、创建tomcat用户和组 我们需要添加专用于运行tomcat服务的用户: sudo groupadd --system tomcat sudo useradd -d /usr/share/tomcat -r -s /bin/false -g tomcat tomcat
二、在RHEL/CentOS 8上安装Tomcat 9 检查Tomcat 9的最新发行版本,当前版本是9.0.17: sudo yum -y install wget wget http://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.17/bin/apache-tomcat-9.0.17.tar.gz 用tar解压缩下载的文件: sudo tar xvf apache-tomcat-9.0.17.tar.gz -C /usr/share/ 为提取的tomcat数据创建符号链接: sudo ln -s /usr/share/apache-tomcat-9.0.17/ /usr/share/tomcat 如果下载较新版本的Tomcat,只需更新指向新版本文件夹的符号链接即可,当前是9.0.17版本。 设置正确的目录权限: sudo chown -R tomcat:tomcat /usr/share/tomcat sudo chown -R tomcat:tomcat /usr/share/apache-tomcat-9.0.17/ /usr/share/tomcat目录包含以下子目录: 1、bin:包含二进制文件和脚本(例如,Unix和Mac OS X的startup.sh和shutdown.sh)。 2、conf:包含系统范围的配置文件,例如server.xml、web.xml和context.xml。 3、webapps:包含要部署的webapps,也可以在此处放置WAR(Webapp Archive)文件以进行部署。 4、lib:包含Tomcat的系统范围库JAR文件,可供所有webapps访问,也可以在此处放置外部JAR文件(例如MySQL JDBC Driver)。 5、logs:包含Tomcat的日志文件,可能需要在此处检查错误消息。 6、work:JSP使用的Tomcat的工作目录,用于JSP-to-Servlet转换。
三、配置Tomcat 9 Systemd服务及Firewall 1、配置Tomcat 9 Systemd服务 为Tomcat创建新的systemd服务: sudo vim /etc/systemd/system/tomcat.service 配置如下: [Unit] Description=Tomcat Server After=syslog.target network.target [Service] Type=forking User=tomcat Group=tomcat Environment=JAVA_HOME=/usr/lib/jvm/jre Environment='JAVA_OPTS=-Djava.awt.headless=true' Environment=CATALINA_HOME=/usr/share/tomcat Environment=CATALINA_BASE=/usr/share/tomcat Environment=CATALINA_PID=/usr/share/tomcat/temp/tomcat.pid Environment='CATALINA_OPTS=-Xms512M -Xmx1024M' ExecStart=/usr/share/tomcat/bin/catalina.sh start ExecStop=/usr/share/tomcat/bin/catalina.sh stop [Install] WantedBy=multi-user.target 使用Tomcat服务的内存限制更新CATALINA_OPTS值。 启动并启用服务: sudo systemctl daemon-reload sudo systemctl start tomcat sudo systemctl enable tomcat 使用以下命令检查服务状态,运行systemctl status tomcat命令:
2、配置Firewall 允许tomcat在防火墙上使用的端口 - TCP端口:8080: sudo firewall-cmd --permanent --add-port=8080/tcp sudo firewall-cmd --reload
四、配置Tomcat身份验证 到目前为止,已经完成了安装和配置Tomcat的工作,缺少的部分是用于访问Tomcat Web管理界面的用户配置。 编辑用户配置文件: sudo vi /usr/share/tomcat/conf/tomcat-users.xml 在</tomcat-users>之前添加以下行: <role rolename="admin-gui"/> <role rolename="manager-gui"/> <user username="admin" password="MyStrongPassword" fullName="Administrator" roles="admin-gui,manager-gui"/> 用你想要的管理员密码替换MyStrongPassword:
五、配置Tomcat代理 我们将使用Apache httpd作为Apache Tomcat应用程序容器的代理,使用以下命令安装httpd包: sudo yum -y install httpd 创建VirtualHost以访问Tomcat Admin Web界面 - /etc/httpd/conf.d/tomcat_manager.conf: <VirtualHost *:80> ServerAdmin root@localhost ServerName tomcat.example.com DefaultType text/html ProxyRequests off ProxyPreserveHost On ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ </VirtualHost> 注:tomcat.example.com应该是你的tomcat服务器名称的值。 对于AJP连接器,它将是这样的配置: <VirtualHost *:80> ServerName example.com ProxyRequests Off ProxyPass / ajp://localhost:8009/ ProxyPassReverse / ajp://localhost:8009/ </VirtualHost> 配置SELinux for Apache以访问Tomcat: sudo setsebool -P httpd_can_network_connect 1 sudo setsebool -P httpd_can_network_relay 1 sudo setsebool -P httpd_graceful_shutdown 1 sudo setsebool -P nis_enabled 1 重启httpd服务: sudo systemctl restart httpd && sudo systemctl enable httpd 参考:在RHEL 8上安装配置Apache、mod_ssl、mod_http2的方法。
六、配置访问Tomcat Web界面 使用在VirtualHost上配置的域名来访问Tomcat管理界面:
需要进行身份验证才能查看服务器状态并管理Tomcat应用程序:
服务器状态和应用程序管理部分如图所示:
从Web应用程序管理器部分,可以列出部署WAR应用程序、管理SSL和诊断应用程序:
Tomcat Virtual Host Manager部分允许你创建、删除和管理Tomcat主机:
至此,已经成功在RHEL/CentOS 8系统上安装Tomcat 9了。
相关主题 |