使用 VirtualBox 安装 CentOS 系统自带的 tomcat 服务器

本文是远程调试 CentOS 系统自带的 tomcat 服务器的第一部分, 这篇文章中我们从头开始安装配置了一台 CentOS 7 系统的 tomcat 虚拟机

1 前言

很多人可能已经习惯了自己下载安装 tomcat,使用 tomcat 自带的 catalina 查看输出, 在本地调试 tomcat 服务器,但是如果你是在远程服务器上,使用 yum 自带的 tomcat, 这时需要如何调试呢,让我们从头开始用虚拟机搭建一台 tomcat 服务器

本文是远程调试 CentOS 系统自带的 tomcat 服务器的第一部分

  1. 安装和配置 tomcat 服务器
  2. 向 tomcat 部署 java web 项目
  3. 远程调试 tomcat 上的 java web 程序

2 使用到的软件

  • VirtualBox 6.0: 用来创建虚拟机
  • CentOS 7 安装镜像: 用来安装虚拟机的系统
  • Terminal: 这里使用系统自带的 terminal, windows 用户可能需要 xshell, putty 之类的工具

3 步骤

3.1 创建一台 CentOS 虚拟机

创建的过程不再详细叙述,不过有几点可能需要说名:

  • 如果你在安装过程中发现虚拟机无法显示鼠标指针,那么你需要看一下这篇文章
  • 在安装时可以打开网络,这样 CentOS 会自行安装 ssh 服务器

安装后会提示重启

3.2 更新系统,配置虚拟机端口转发

  1. 登录后使用以下命令更新一下系统

    sudo yum updte -y
    
  2. 为虚拟机创建本地端口映射 2202 -> 22,这样我们就可以使用终端工具来连接我们的服务器

  3. 从终端工具连接服务器,如果没有问题,可以使用以下指令关机, 之后在 VirtualBox 界面对虚拟机做快照,如果后面做错了可以恢复到刚安装好的时刻

    sudo shutdown now
    
  4. 再打开服务器,推荐使用 headless 模式打开,这样开启的虚拟机会像一个后台服务一样, 没有显示窗口,headless 的打开方式是按住 shift 双击虚拟机, 或按开始按钮边上向下的箭头后选择

3.3 安装 tomcat

  1. 我们使用 yum 自带的 tomcat 来安装,注意 yum 自带的 tomcat 版本是 7.0.76 ,使用的 jdk 版本是 1.8

    sudo yum install tomcat -y
    
  2. 编辑 /usr/share/tomcat/conf/tomcat.conf 来修改 JAVA_OPTS ,注意需要管理员权限,主要是调整 java 可以使用的内存大小,例如

JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom -Djava.awt.headless=true -Xmx512m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC"

3.4 安装 tomcat 的管理工具包

  1. 使用以下命令安装 tomcat 的管理工具,如果不需要可以略过

    sudo yum install tomcat-webapps tomcat-admin-webapps -y
    
  2. 编辑 /usr/share/tomcat/conf/tomcat-users.xml ,为管理工具添加管理员

    1. 首先找到以下字段

      <tomcat-users>
      ...
      </tomcat-users>
      
    2. 在 tomcat-users 标记中添加管理员,例如

      <tomcat-users>
          <user username="admin" password="12345" roles="manager-gui,admin-gui"/>
      </tomcat-users>
      
    3. 保存

3.5 启动 tomcat

  1. 使用以下命令启动 tomcat

    sudo systemctl start tomcat
    
  2. 使用 curl 看能不能获取到 tomcat 的网页,如果控制台显示了网页内容,则 tomcat 已成功开启

    curl http://localhost:8080/
    
  3. 为了能在虚拟机外访问到 tomcat 的网页,我们需要把本机的某一端口(比如8080),转发到虚拟机的 8080,设置请参考 22 端口的转发

  4. 为防火墙添加规则,不要阻挡 8080 端口,并重启防火墙

    sudo firewall-cmd --add-port=8080/tcp --permanent
    sudo firewall-cmd --reload
    
  5. 这时我们可以打开本地的浏览器,看看 8080 是否可以访问,看到类似如下图的网页的话,说明我们的 tomcat 已经正常开启了

4 总结

现在我们有了一台 tomcat 服务器,接下来我们会创建一个小项目,并将其部署到我们的服务器上