Linux上传并部署web项目
今天下午有个朋友问到我linux部署war,我实在是有点无奈,就跟他简单说了些指令,然后想想,我还是写篇博客吧,一来呢是直接让他看博客,二呢是自己做个记录,回头再有人问直接就发链接了,也是给自己做个云笔记吧!
运行web项目,首先咱都知道一般都是tomcat吧,无论windows和linux都是得放在tomcat目录的 webapps 目录里边。
安装jdk环境
当然也是废话了,你要部署war包,跑tomcat肯定的要有jdk环境的呀,对吧,进入正题。
- 安装open jdk 这里推荐使用这种方式
查看jdk列表
yum -y list java*
然后它会出现一串列表,可能有点多啊,列表太长了。。。
java-1.8.0-openjdk.x86_64 1:1.8.0.191.b12-0.el7_5 @updates
java-1.8.0-openjdk-accessibility.x86_64 1:1.8.0.191.b12-0.el7_5 @updates
java-1.8.0-openjdk-accessibility-debug.x86_64 1:1.8.0.191.b12-0.el7_5 @updates
java-1.8.0-openjdk-debug.x86_64 1:1.8.0.191.b12-0.el7_5 @updates
java-1.8.0-openjdk-demo.x86_64 1:1.8.0.191.b12-0.el7_5 @updates
java-1.8.0-openjdk-demo-debug.x86_64 1:1.8.0.191.b12-0.el7_5 @updates
java-1.8.0-openjdk-devel.x86_64 1:1.8.0.191.b12-0.el7_5 @updates
java-1.8.0-openjdk-devel-debug.x86_64 1:1.8.0.191.b12-0.el7_5 @updates
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.191.b12-0.el7_5 @updates
java-1.8.0-openjdk-headless-debug.x86_64 1:1.8.0.191.b12-0.el7_5 @updates
java-1.8.0-openjdk-javadoc.noarch 1:1.8.0.191.b12-0.el7_5 @updates
java-1.8.0-openjdk-javadoc-debug.noarch 1:1.8.0.191.b12-0.el7_5 @updates
java-1.8.0-openjdk-javadoc-zip.noarch 1:1.8.0.191.b12-0.el7_5 @updates
java-1.8.0-openjdk-javadoc-zip-debug.noarch 1:1.8.0.191.b12-0.el7_5 @updates
java-1.8.0-openjdk-src.x86_64 1:1.8.0.191.b12-0.el7_5 @updates
java-1.8.0-openjdk-src-debug.x86_64 1:1.8.0.191.b12-0.el7_5 @updates
java-atk-wrapper.x86_64 0.30.4-5.el7 @os
javapackages-tools.noarch 3.4.1-11.el7 @os
Available Packages
java-1.6.0-openjdk.x86_64 1:1.6.0.41-1.13.13.1.el7_3 os
java-1.6.0-openjdk-demo.x86_64 1:1.6.0.41-1.13.13.1.el7_3 os
java-1.6.0-openjdk-devel.x86_64 1:1.6.0.41-1.13.13.1.el7_3 os
java-1.6.0-openjdk-javadoc.x86_64 1:1.6.0.41-1.13.13.1.el7_3 os
java-1.6.0-openjdk-src.x86_64 1:1.6.0.41-1.13.13.1.el7_3 os
java-1.7.0-openjdk.x86_64 1:1.7.0.201-2.6.16.1.el7_6 updates
java-1.7.0-openjdk-accessibility.x86_64 1:1.7.0.201-2.6.16.1.el7_6 updates
java-1.7.0-openjdk-demo.x86_64 1:1.7.0.201-2.6.16.1.el7_6 updates
java-1.7.0-openjdk-devel.x86_64 1:1.7.0.201-2.6.16.1.el7_6 updates
java-1.7.0-openjdk-headless.x86_64 1:1.7.0.201-2.6.16.1.el7_6 updates
java-1.7.0-openjdk-javadoc.noarch 1:1.7.0.201-2.6.16.1.el7_6 updates
java-1.7.0-openjdk-src.x86_64 1:1.7.0.201-2.6.16.1.el7_6 updates
java-1.8.0-openjdk.i686 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk.x86_64 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-accessibility.i686 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-accessibility.x86_64 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-accessibility-debug.i686 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-accessibility-debug.x86_64 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-debug.i686 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-debug.x86_64 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-demo.i686 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-demo.x86_64 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-demo-debug.i686 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-demo-debug.x86_64 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-devel.i686 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-devel.x86_64 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-devel-debug.i686 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-devel-debug.x86_64 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-headless.i686 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-headless-debug.i686 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-headless-debug.x86_64 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-javadoc.noarch 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-javadoc-debug.noarch 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-javadoc-zip.noarch 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-javadoc-zip-debug.noarch 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-src.i686 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-src.x86_64 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-src-debug.i686 1:1.8.0.191.b12-1.el7_6 updates
java-1.8.0-openjdk-src-debug.x86_64 1:1.8.0.191.b12-1.el7_6 updates
java-11-openjdk.i686 1:11.0.1.13-3.el7_6 updates
java-11-openjdk.x86_64 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-debug.i686 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-debug.x86_64 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-demo.i686 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-demo.x86_64 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-demo-debug.i686 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-demo-debug.x86_64 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-devel.i686 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-devel.x86_64 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-devel-debug.i686 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-devel-debug.x86_64 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-headless.i686 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-headless.x86_64 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-headless-debug.i686 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-headless-debug.x86_64 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-javadoc.i686 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-javadoc.x86_64 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-javadoc-debug.i686 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-javadoc-debug.x86_64 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-javadoc-zip.i686 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-javadoc-zip.x86_64 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-javadoc-zip-debug.i686 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-javadoc-zip-debug.x86_64 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-jmods.i686 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-jmods.x86_64 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-jmods-debug.i686 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-jmods-debug.x86_64 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-src.i686 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-src.x86_64 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-src-debug.i686 1:11.0.1.13-3.el7_6 updates
java-11-openjdk-src-debug.x86_64 1:11.0.1.13-3.el7_6 updates
java-atk-wrapper.i686 0.30.4-5.el7 os
java-dirq.noarch 1.8-1.el7 epel
java-dirq-javadoc.noarch 1.8-1.el7 epel
java-oauth.noarch 20100601-13.el7 epel
java-oauth-javadoc.noarch 20100601-13.el7 epel
java_cup.noarch 1:0.11a-16.el7 os
java_cup-javadoc.noarch 1:0.11a-16.el7 os
java_cup-manual.noarch 1:0.11a-16.el7 os
javacc.noarch 5.0-10.el7 os
javacc-demo.noarch 5.0-10.el7 os
javacc-javadoc.noarch 5.0-10.el7 os
javacc-manual.noarch 5.0-10.el7 os
javacc-maven-plugin.noarch 2.6-17.el7 os
javacc-maven-plugin-javadoc.noarch 2.6-17.el7 os
javamail.noarch 1.4.6-8.el7 os
javamail-javadoc.noarch 1.4.6-8.el7 os
javaparser.noarch 1.0.11-3.el7 epel
javaparser-javadoc.noarch 1.0.11-3.el7 epel
javassist.noarch 3.16.1-10.el7 os
javassist-javadoc.noarch 3.16.1-10.el7 os
javastroke.x86_64 0.5.1-33.el7 epel
javawriter.noarch 2.5.1-4.el7 epel
javawriter-javadoc.noarch 2.5.1-4.el7 epel
安装jdk版本,我们这里选择的open jdk8的版本,这里说点题外话,哎jdk像以前都是好几年更新一个大版本,可现在呢,一年俩更,也说不上谁好谁坏,以前呢,更新大版本的话得花大量的时间和精力去学习新版本及其特性,但是不会那么频繁,可现在一年俩个小版本更新虽然说学习成本低了,可是你时不时就得给自己充充电,不然会被淘汰啊,不扯了,。
yum -y install java-1.8.0-openjdk*
后面的说实话,我给忘了,但是好像就是等它install over就行,我已经不记得要不要同意按个yes or no 啥的了。如果有的话就yes
然后就查看是否安装成功了,就跟windows安装是一样一样的,咱windows咋看安装,配置好jdk环境变量来着?是不是先window+r 跟着cmd进入命令行窗口,然后java -version 哎!linux也一样。
java -version
像我这样的就说明ok了
openjdk version "1.8.0_191"
OpenJDK Runtime Environment (build 1.8.0_191-b12)
OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
- 安装Oracle jdk 这种我没用过,但是我知道,好像还挺麻烦,不建议新手
先讲好,这里我只说理论不说操作,毕竟咱也没操作过,也不能瞎扯淡,那不是误人子弟嘛!
其实就跟windows安装jdk是一样的,先去Oracle官网下载linux系统的相对于操作系统位数的jdk,版本看各位需要了,
然后上载到linux上然后就命令行执行,当然如果你能有可视化窗口更好了,说到上载,又有人问了,啥是上载啊,咋上载啊,上载就是上传,然后你心里肯定在想,这人咋这么能装呢,上传不就是上传整啥上载啊。嘿!这可不是咱在装学问装专业,上传的英文是啥啊 upload 可不是上载吗,你想想,下载是啥 download !
yum install lrzsz
对!就是这么简单,安装一下就行,rz上载 sz下载
安装Tomcat
这个和咱windows系统一样也是有两种,解压版和安装版,这里我就只说解压版
- 解压版Tomcat安装
使用 wget 命令 后面那个是Tomcat压缩包下载链接,这个可以去Tomcat官网找,当然,你也可以下到你的windows上,然后用上面说的 rz 指令上传到linux上,然后解压
上官网找需要的tomcat版本压缩包
Core:
zip (pgp, sha512)
// 这个就是咱要的,linux系统压缩包,直接右键复制它的链接
tar.gz (pgp, sha512)
// 这俩是windows系统解压版的
32-bit Windows zip (pgp, sha512)
64-bit Windows zip (pgp, sha512)
// 这个是windows系统安装版
32-bit/64-bit Windows Service Installer (pgp, sha512)
然后 wget 链接 ,建议是到opt目录下去下载
cd /opt
wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.10/bin/apache-tomcat-9.0.10.tar.gz
压缩包下载完了,怎么办,解压呀!
tar -zxv -f 压缩包文件名全称
tar -zxv -f apache-tomcat-9.0.10.tar.gz
这里提点建议 ,咱给解压出来的文件夹改个名,就叫tomcat+加版本号,比如说咱这tomcat9010,这个时候就有人问了,为啥啊,这不是多此一举吗!,我说为啥,一呢是文件名有点长,其实对于我来说一点不碍事,直接敲一个tomcat然后按个Tab键提示一下就出来了,二呢是为之后负载做打算,emmm…就不扯那些了,继续往下看。
mv 旧文件名 新文件名
把当前目录下的旧文件名改成新文件名,如果该目录下有新文件名,则覆盖以前的新文件名文件。
这里我说一下,这个命令其实是移动文件用的,如果是当前文件夹的话就没啥,如果是别的目录就得注意一下,这里可以使用相对路径 ./ …/ 这种命令我就不多说了,免得说的啰嗦
mv apache-tomcat-9.0.10.tar.gz tomcat9010
打包web项目war包,上传到linux并启动tomcat
哈哈哈啰嗦了这么多 这下终于到正题了不是
首先打个war包 然后上传
cd /opt/tomcat9010/webapps
rz
rz 指令上传,注意点,先进入/opt/tomcat9010/webapps目录底下再敲指令
其实无所谓啦,只要你知道你上载到哪去了就行,用上面那个mv指令啊,直接挪进去就行
可是就怕你不知道,但也无妨,等你 rz 指令上传完之后呢,用 ls 指令翻一下当前目录 ,然后再 mv 指令挪过去
启动tomcat 最最关键的地方了
我说一下简单粗暴的方法,当然,你完全可以忽略这一步骤,直接把webapps目录里的ROOT目录给删掉
rm -r -f ROOT
这个时候就会问为啥了,很简单,tomcat启动之后会把该目录底下的压缩包解压,编译运行嘛~然鹅它默认就是访问ROOT文件夹目录了,你把你的web压缩包用 mv 改成 ROOT.war
然后启动tomcat 就完事儿
cd ../bin
./start.sh
别急,等我说完,是不是好奇了,tomcat启动不是start.bat吗,那是windows系统的;还有就是为啥是./start.sh ,前面加./ 是为啥啊,我也不知道,看你虚拟机吧,反正start.sh不行就./start.sh
先休息,累了