Tomcat二进制安装

本文介绍了如何在 CentOS 7.4 操作系统上进行Tomcat的二进制安装,包括前期准备(如关闭防火墙,安装JDK),详细步骤涉及下载JDK 8 和 Tomcat 的tar.gz文件,解压并创建软链接,以及通过两种方式启动Tomcat服务器。

配置前期准备:

首先通过Xshell远程连接到虚拟机
我所用的是图形化安装,如使用的是最小化安装请自行配置所需的软件
我所用的虚拟机是CentOS Linux release 7.4.1708
查看CentOS版本号的命令:

cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

在此确认自己的yum源配置正确
防火墙已经关闭
查看防火墙状态:

systemctl status firewalld.service 
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

现在我们需要安装JDK
JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。
我安装的版本是:jdk-8u261-linux-x64.rpm
在这里插入图片描述
openjdk 一般用于测试,而在工作中不用

安装Tomcat

我们首先简单介绍一下Tomcat
Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由
Apache、Sun和其他一些公司及个人共同开发而成。
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并
发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
Tomcat和Nginx、Apache(httpd)、lighttpd等Web服务器一样,具有处理HTML页面的功能,另外它还
是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能
力不如Nginx/Apache服务器。
目前Tomcat最新版本为9.0。Java容器还有resin、weblogic等。
Tomcat官网: http://tomcat.apache.org
在这里插入图片描述
下载这个版本
在这里插入图片描述
下载tar.gz这个
在这里插入图片描述
它提示显示
在这里插入图片描述
在后面加上这个条件就可以

安装好后
解压到 /usr/local/

tar xf apache-tomcat-8.5.73.tar.gz -C /usr/local/

软连接到 /usr/local/tomcat

ln -sv /usr/local/apache-tomcat-8.5.73/ /usr/local/tomcat

启动:

进入刚才软连接的/bin目录下

cd /usr/local/tomcat/bin/

方法一:
占用前端,运行

./catalina.sh run

在这里插入图片描述
访问成功
方法二:
后端中运行

./startup.sh

关闭:

./shutdown.sh
<think>我们正在讨论如何在多个远程主机上批量使用二进制方式安装Tomcat服务。根据引用[2]和引用[4],我们知道二进制版本安装Tomcat的步骤是:下载二进制包、解压、启动。而引用[5]提到了使用Ansible进行批量安装。因此,我们可以使用Ansible来实现远程批量部署。 步骤概述: 1. 准备Ansible控制节点(确保已安装Ansible)和受控节点(远程主机)清单。 2. 在控制节点上编写Ansible playbook,实现以下任务: a. 将Tomcat二进制包分发到远程主机。 b. 在远程主机上解压到指定目录(如/usr/local)。 c. 可选:配置环境变量。 d. 启动Tomcat服务。 3. 执行playbook进行批量部署。 详细步骤: ### 步骤1: 准备Ansible环境 - 确保控制节点已安装Ansible,并配置好与远程主机的SSH免密登录。 - 创建主机清单文件(如`inventory.ini`),列出所有目标主机: ```ini [tomcat_servers] server1 ansible_host=192.168.1.101 server2 ansible_host=192.168.1.102 ``` ### 步骤2: 下载Tomcat二进制包 - 从Tomcat官网下载所需版本的二进制包(如apache-tomcat-9.0.31.tar.gz),并放置在控制节点的某个目录(如`~/tomcat_install`)。 ### 步骤3: 编写Ansible Playbook 创建playbook文件(如`install_tomcat.yml`),内容如下: ```yaml --- - name: 批量部署Tomcat hosts: tomcat_servers become: yes tasks: - name: 创建安装目录 file: path: /usr/local/tomcat state: directory - name: 上传Tomcat二进制包 copy: src: ~/tomcat_install/apache-tomcat-9.0.31.tar.gz dest: /tmp/apache-tomcat-9.0.31.tar.gz - name: 解压Tomcat unarchive: src: /tmp/apache-tomcat-9.0.31.tar.gz dest: /usr/local remote_src: yes # 解压后默认目录为apache-tomcat-9.0.31,我们将其重命名为tomcat extra_opts: "--strip-components=1" creates: /usr/local/tomcat - name: 设置环境变量(可选) lineinfile: path: /etc/profile line: 'export CATALINA_HOME=/usr/local/tomcat' - name: 使环境变量生效 shell: source /etc/profile args: executable: /bin/bash - name: 启动Tomcat shell: "{{ item }}" with_items: - /usr/local/tomcat/bin/startup.sh # 或者使用service模块(如果配置了init脚本) # 注意:二进制安装默认没有init脚本,可以自行配置,这里使用直接启动方式 - name: 开放8080端口(如果需要) firewalld: port: 8080/tcp permanent: yes state: enabled notify: reload firewall handlers: - name: reload firewall firewalld: state: reloaded ``` ### 步骤4: 执行Playbook 在控制节点运行: ```bash ansible-playbook -i inventory.ini install_tomcat.yml ``` ### 步骤5: 验证安装 - 在远程主机上检查进程:`ps -ef | grep tomcat` - 检查端口监听:`netstat -tlnp | grep 8080` - 在浏览器访问`http://远程主机IP:8080`,应看到Tomcat欢迎页面。 ### 注意事项 - 环境变量设置:如果只是临时使用,可以不设置环境变量,直接使用绝对路径启动。 - 防火墙:确保远程主机的防火墙开放8080端口(如引用[4]所述)。 - 启动脚本:直接使用`startup.sh`启动会在前台运行,生产环境建议配置为系统服务(使用systemd或init脚本)。 - 卸载:如引用[2]所述,停止Tomcat并删除安装目录即可。 ### 使用Ansible模块优化 上述playbook使用了shell模块启动Tomcat,但更优雅的方式是编写一个systemd服务文件,然后用Ansible分发并启用服务。例如: ```yaml - name: 配置Tomcat systemd服务 template: src: tomcat.service.j2 dest: /etc/systemd/system/tomcat.service notify: - reload systemd - restart tomcat handlers: - name: reload systemd systemd: daemon_reload: yes - name: restart tomcat systemd: name: tomcat state: restarted enabled: yes ``` 其中`tomcat.service.j2`是一个模板文件,内容参考Tomcat官方文档或社区提供的systemd服务文件。 通过以上步骤,即可实现远程批量安装Tomcat服务。 §§相关问题§§ 1. 如何编写Tomcat的systemd服务文件? 2. Ansible playbook中如何处理不同操作系统的差异? 3. 如何批量更新Tomcat版本?</think>### 远程批量二进制部署Tomcat的步骤 参考引用内容,结合Ansible实现多主机批量部署二进制Tomcat的完整流程如下: --- #### **步骤1: 准备环境** 1. **控制节点要求**(执行Ansible的主机) - 安装Ansible:`yum install ansible -y` - 配置SSH免密登录所有目标主机 - 创建主机清单文件 `/etc/ansible/hosts`: ```ini [tomcat_servers] 192.168.1.101 # 主机1 192.168.1.102 # 主机2 ``` 2. **目标主机要求** - 开放SSH访问 - 安装Java JDK(引用[4]): ```bash yum install java-11-openjdk -y ``` --- #### **步骤2: 编写Ansible Playbook** 创建 `deploy_tomcat.yml` 文件: ```yaml --- - name: 批量部署Tomcat hosts: tomcat_servers # 目标主机组 become: yes # 提权 tasks: - name: 创建安装目录 file: path: /usr/local/tomcat state: directory mode: 0755 - name: 下载Tomcat二进制包 get_url: url: "https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31.tar.gz" dest: /tmp/apache-tomcat.tar.gz - name: 解压到安装目录 unarchive: src: /tmp/apache-tomcat.tar.gz dest: /usr/local/tomcat remote_src: yes extra_opts: "--strip-components=1" # 去除顶层目录(引用[4]) creates: /usr/local/tomcat/bin # 避免重复解压 - name: 启动Tomcat服务 shell: | /usr/local/tomcat/bin/startup.sh args: executable: /bin/bash - name: 开放防火墙端口 firewalld: port: 8080/tcp permanent: yes state: enabled notify: reload firewall handlers: - name: reload firewall firewalld: state: reloaded ``` --- #### **步骤3: 执行批量部署** ```bash ansible-playbook deploy_tomcat.yml ``` --- #### **步骤4: 验证部署结果** 1. **检查服务状态** ```bash ansible tomcat_servers -m shell -a "ps -ef | grep tomcat" ``` 2. **访问测试页面** 在浏览器访问: ``` http://目标主机IP:8080 ``` 应显示Tomcat欢迎页(引用[4])。 3. **查看日志** ```bash ansible tomcat_servers -m shell -a "tail -f /usr/local/tomcat/logs/catalina.out" ``` --- #### **关键配置说明** 1. **目录结构**(引用[3]) - `/usr/local/tomcat/bin`:启动脚本(`startup.sh`/`shutdown.sh`) - `/usr/local/tomcat/webapps`:应用部署目录 2. **防火墙处理**(引用[4]) - Playbook已自动开放8080端口 - 若需关闭防火墙: ```yaml - name: 关闭防火墙 service: name: firewalld state: stopped ``` 3. **卸载方法**(引用[2]) ```yaml - name: 卸载Tomcat shell: | /usr/local/tomcat/bin/shutdown.sh rm -rf /usr/local/tomcat ``` --- ### **扩展场景** #### **Nginx反向代理集成**(引用[5]) 在Playbook中添加Nginx配置: ```yaml - name: 配置Nginx反向代理 template: src: nginx.conf.j2 # Jinja2模板 dest: /etc/nginx/conf.d/tomcat.conf notify: restart nginx ``` 模板内容: ```nginx server { listen 80; location / { proxy_pass http://localhost:8080; } } ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值