使用nginx跳转tomcat的页面,nginx环境搭建已经搭建完成,现在要搭建tomcat环境,我还是使用docker来安装。想搭建nginx环境的小伙伴可以参照我之前的文章。
拉取tomcat镜像
执行下边的命令
# docker pull tomcat
出现下边的信息说明拉取成功
latest: Pulling from library/tomcat
90fe46dd8199: Pull complete
35a4f1977689: Pull complete
bbc37f14aded: Pull complete
74e27dc593d4: Pull complete
93a01fbfad7f: Pull complete
35b994955649: Pull complete
7f9f18312a34: Pull complete
574205fe650b: Pull complete
229fea8c518f: Pull complete
6306f7102640: Pull complete
Digest: sha256:cae591b6f798359b0ba2bdd9cc248e695ac6e14d20722c5ff82a9a138719896f
Status: Downloaded newer image for tomcat:latest
docker.io/library/tomcat:latest
启动tomcat
使用下边的命令
# docker run --name mytomcat -d -p 8001:8080 tomcat
这里使用--name属性为容器定义一个名字,我们使用docker启动,停止tomcat等操作时就不需要使用容器id了,直接操作我们定义的tomcat名字。
查看tomcat在docker中是否启动成功
使用下边的命令
# docker ps -a
如果出现下边的信息,尤其是STATUS中,显示UP的话,说明成功运行
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
893df33c0409 tomcat "catalina.sh run" About a minute ago Up 59 seconds 0.0.0.0:8001->8080/tcp mytomcat
这是你使用客户端访问http://虚拟机ip:8001/,访问时,出现404错误,说明,你的tomcat的webapps路径下没有tomcat的启动页面,那下边我们就自定义页面,来访问。
tomcat加载我们项目自定义页面
大家都知道,我们一般把web应用都放到tomcat安装路径下的webapps文件夹,这里我们使用的是docker安装的tomcat,tomcat安装路径被放到docker容器中,我们只能把配置文件等拷贝出来,修改完,在放回docker容器中,docker也提供了cp命令,下面我们就动手做一下。
使用下边命令,进入docker容器中的tomcat文件夹
# docker exec -it mytomcat /bin/bash
进入后,我们就能看到docker容器中的tomcat安装文件夹
root@893df33c0409:/usr/local/tomcat#
由于docker不支持ll命令,我们只能使用ls命令,查看tomcat安装路径下的文件,这里有我们常用的bin,conf,logs,webapps文件夹等。
root@893df33c0409:/usr/local/tomcat# ls
BUILDING.txt CONTRIBUTING.md LICENSE NOTICE README.md RELEASE-NOTES RUNNING.txt bin conf include lib logs native-jni-lib temp webapps webapps.dist work
想让tomcat运行我们自定义项目的话,需要修改conf文件夹下的server.xml文件,由于docker容器内不支持vim命令,我们只能把server.xml拷贝到虚拟机中,修改完后再拷贝回去。使用下边的命令,将server.xml文件拷贝出来,这里需要注意的是,上边查看的是docker容器中的tomcat文件夹,我们需要先退出docker容器,使用exit命令,回到主机后,使用docker cp命令。
# docker cp mytomcat:/usr/local/tomcat/conf/server.xml server.xml
拷贝完成后,使用vi命令,编辑server.xml,在Host标签后添加下边context标签以及内容,保存并推出。
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="test" debug="0"/>
修改完server.xml文件后,使用下边的命令将server.xml在拷回到docker容器中
# docker cp server.xml mytomcat:/usr/local/tomcat/conf/server.xml
上边docbase指定的是test,我们就创建一个test文件夹,在test文件夹内创建一个index.html页面,在把test文件夹,拷贝到docker的tomcat的webapps下
# docker cp test/ mytomcat:/usr/local/tomcat/webapps/
修改完server.xml和创建完test文件夹,test/index.html文件后并拷贝回docker容器中后,重新启动tomcat
# docker restart mytomcat
重新使用客户端访问http://虚拟机ip:8001/是,会访问到我们自定的页面。