补入 这篇博客。
部署准备
(回忆版,待确认)下载Tomcat的Linux版安装包(.tar.gz),在Linux的目标路径下解压,将开发的工程【生成的war包/编译好的class文件】放到Tomcat的webapps目录下,解压后按下面流程进行部署即可。
war包可以放在任何位置,如果放在webapps下,那么启动Tomcat的时候,Tomcat就直接解压了。如果放在其它位置,那么启动Tomcat的时候,Tomcat会把myweb.war文件复制到webapps目录下,再进行解压。
war包部署流程
pwd
查看当前路径,发现是/root,而非根目录,所以cd /
。- 跳转到根目录
/
后,使用ls
查询下方的一级子目录,找到tmp。 - 因为将war包放入了tmp文件夹,所以
cd tmp
。 - 使用
ls
查询tmp文件夹,找到传进来的Tomcat压缩包(此时已将SpringMVC工程放入Tomcat文件夹下的/webapps中) cd conf
进入conf文件夹,使用vim server.xml
修改配置文件。cd -
返回上一级目录(Tomcat文件夹下)cd webapps
进入装载 要发布的war包 的文件夹内unzip -oq 压缩包war包名.war -d 解压后的目标地址(/tmp/tomcat9/webapps)
多出来的三个文件就是war包中解压出来的,如下所示。
cd -
返回上一级目录(Tomcat文件夹下)cd bin
进入启动Tomcat——startup.bat所在的文件夹下。./startup.bat
直接启动,系统提示权限不够。chmod u+x *.sh
刷新用户权限后,需要重新启动Tomcat./startup.sh
,运行成功。
以上为概述,详细过程如下,以下为准。
[root@db-server-2 ~]# pwd
/root
[root@db-server-2 ~]# ls
start_jump.sh tun_pause_gate.sh tun_pause.sh
[root@db-server-2 ~]# cd /
[root@db-server-2 /]# pwd
/
[root@db-server-2 /]# ls
app bin boot data dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@db-server-2 /]# cd tmp
[root@db-server-2 tmp]# ls
hsperfdata_root jdk17.tar.gz systemd-private-f88904d714924afcb73372cc17a37a81-nginx.service-gn4Ej0
jdk17 systemd-private-f88904d714924afcb73372cc17a37a81-chronyd.service-CrR8bC tomcat9
[root@db-server-2 tmp]# cd tomcat9
[root@db-server-2 tomcat9]# ls
bin BUILDING.txt conf CONTRIBUTING.md lib LICENSE logs NOTICE README.md RELEASE-NOTES RUNNING.txt temp webapps work
[root@db-server-2 tomcat9]# cd conf
[root@db-server-2 conf]# ls
catalina.policy context.xml jaspic-providers.xsd server.xml tomcat-users.xsd
catalina.properties jaspic-providers.xml logging.properties tomcat-users.xml web.xml
[root@db-server-2 conf]# vim server.xml
[root@db-server-2 conf]# cd tomcat9
-bash: cd: tomcat9: 没有那个文件或目录
[root@db-server-2 conf]# cd..
-bash: cd..: 未找到命令
[root@db-server-2 conf]# cd.
-bash: cd.: 未找到命令
[root@db-server-2 conf]# cd -
/tmp/tomcat9
[root@db-server-2 tomcat9]# ls
bin BUILDING.txt conf CONTRIBUTING.md lib LICENSE logs NOTICE README.md RELEASE-NOTES RUNNING.txt temp webapps work
[root@db-server-2 tomcat9]# cd conf
[root@db-server-2 conf]# ls
catalina.policy context.xml jaspic-providers.xsd server.xml tomcat-users.xsd
catalina.properties jaspic-providers.xml logging.properties tomcat-users.xml web.xml
[root@db-server-2 conf]# vim server.xml
[root@db-server-2 conf]# ./startup.sh
-bash: ./startup.sh: 没有那个文件或目录
[root@db-server-2 conf]# cd -
/tmp/tomcat9
[root@db-server-2 tomcat9]# ls
bin BUILDING.txt conf CONTRIBUTING.md lib LICENSE logs NOTICE README.md RELEASE-NOTES RUNNING.txt temp webapps work
[root@db-server-2 tomcat9]# cd
[root@db-server-2 ~]# cd tomcat
-bash: cd: tomcat: 没有那个文件或目录
[root@db-server-2 ~]# ls
start_jump.sh tun_pause_gate.sh tun_pause.sh
[root@db-server-2 ~]# cd /
[root@db-server-2 /]# ls
app bin boot data dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@db-server-2 /]# cd tmp
[root@db-server-2 tmp]# ls
hsperfdata_root jdk17.tar.gz systemd-private-f88904d714924afcb73372cc17a37a81-nginx.service-gn4Ej0
jdk17 systemd-private-f88904d714924afcb73372cc17a37a81-chronyd.service-CrR8bC tomcat9
[root@db-server-2 tmp]# cd tomcat9
[root@db-server-2 tomcat9]# ls
bin BUILDING.txt conf CONTRIBUTING.md lib LICENSE logs NOTICE README.md RELEASE-NOTES RUNNING.txt temp webapps work
[root@db-server-2 tomcat9]# cd bin
[root@db-server-2 bin]# ls
bootstrap.jar ciphers.bat configtest.bat digest.sh setclasspath.sh startup.sh tool-wrapper.sh
catalina.bat ciphers.sh configtest.sh makebase.bat shutdown.bat tomcat-juli.jar version.bat
catalina.sh commons-daemon.jar daemon.sh makebase.sh shutdown.sh tomcat-native.tar.gz version.sh
catalina-tasks.xml commons-daemon-native.tar.gz digest.bat setclasspath.bat startup.bat tool-wrapper.bat
[root@db-server-2 bin]# ./startup.bat
-bash: ./startup.bat: 权限不够
[root@db-server-2 bin]# chmod u+x *.sh
[root@db-server-2 bin]# ./startup.bat
-bash: ./startup.bat: 权限不够
[root@db-server-2 bin]# chmod u+x *.sh
[root@db-server-2 bin]# ./startup.bat
-bash: ./startup.bat: 权限不够
[root@db-server-2 bin]# hmod +x *.sh
-bash: hmod: 未找到命令
[root@db-server-2 bin]# chmod u+x *.sh
[root@db-server-2 bin]# ./shutdown.sh
Using CATALINA_BASE: /tmp/tomcat9
Using CATALINA_HOME: /tmp/tomcat9
Using CATALINA_TMPDIR: /tmp/tomcat9/temp
Using JRE_HOME: /tmp/jdk17
Using CLASSPATH: /tmp/tomcat9/bin/bootstrap.jar:/tmp/tomcat9/bin/tomcat-juli.jar
Using CATALINA_OPTS:
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
错误: 加载主类 org.apache.catalina.startup.Bootstrap 时出现 LinkageError
java.lang.UnsatisfiedLinkError: /tmp/jdk17/lib/libnio.so: /tmp/jdk17/lib/libjava.so: version `SUNWprivate_1.1' not found (required by /opt/ShenTong/jre/lib/amd64/libnet.so)
[root@db-server-2 bin]# ./startup.bat
-bash: ./startup.bat: 权限不够
[root@db-server-2 bin]# ls
bootstrap.jar ciphers.bat configtest.bat digest.sh setclasspath.sh startup.sh tool-wrapper.sh
catalina.bat ciphers.sh configtest.sh makebase.bat shutdown.bat tomcat-juli.jar version.bat
catalina.sh commons-daemon.jar daemon.sh makebase.sh shutdown.sh tomcat-native.tar.gz version.sh
catalina-tasks.xml commons-daemon-native.tar.gz digest.bat setclasspath.bat startup.bat tool-wrapper.bat
[root@db-server-2 bin]# cd -
/tmp/tomcat9
[root@db-server-2 tomcat9]# ls
bin BUILDING.txt conf CONTRIBUTING.md lib LICENSE logs NOTICE README.md RELEASE-NOTES RUNNING.txt temp webapps work
[root@db-server-2 tomcat9]# cd webapps
[root@db-server-2 webapps]# ls
docs examples host-manager manager ROOT SealManagement.war
[root@db-server-2 webapps]# unzip -oq SealManagement.war -d /tmp/tomcat9/webapps
[root@db-server-2 webapps]# ls
docs examples host-manager manager META-INF ROOT SealManagement.war view WEB-INF
[root@db-server-2 webapps]# cd -
/tmp/tomcat9
[root@db-server-2 tomcat9]# ls
bin BUILDING.txt conf CONTRIBUTING.md lib LICENSE logs NOTICE README.md RELEASE-NOTES RUNNING.txt temp webapps work
[root@db-server-2 tomcat9]# cd bin
[root@db-server-2 bin]# ls
bootstrap.jar ciphers.bat configtest.bat digest.sh setclasspath.sh startup.sh tool-wrapper.sh
catalina.bat ciphers.sh configtest.sh makebase.bat shutdown.bat tomcat-juli.jar version.bat
catalina.sh commons-daemon.jar daemon.sh makebase.sh shutdown.sh tomcat-native.tar.gz version.sh
catalina-tasks.xml commons-daemon-native.tar.gz digest.bat setclasspath.bat startup.bat tool-wrapper.bat
[root@db-server-2 bin]# ./startup.bat
-bash: ./startup.bat: 权限不够
[root@db-server-2 bin]# chmod u+x *.sh
[root@db-server-2 bin]# ./startup.sh
Using CATALINA_BASE: /tmp/tomcat9
Using CATALINA_HOME: /tmp/tomcat9
Using CATALINA_TMPDIR: /tmp/tomcat9/temp
Using JRE_HOME: /tmp/jdk17
Using CLASSPATH: /tmp/tomcat9/bin/bootstrap.jar:/tmp/tomcat9/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.
编译文件的部署流程
将编译好的项目放到Tomcat的webapps目录下,详见这篇文章。