记录Linux上部署两个Tomcat并且发布两个项目过程
因为之前没有使用过Linux , 只是单纯的写写代码 , 也没有在服务器上部署过 , 所以整个文档针对于特别特别基础的人
首先就是在linux上安装Tomcat , 并且 , Tomcat要运行的话你必须先安装好 JDK
1 下载Tomcat
tomCat的下载地址
选好自己需要的TomCat版本 , 然后选择tar.gz的压缩包下载下来备用 .
2 把Tomcat的安装包上传到服务器
上传方式有很多种,其中比较常用的就是 lrzsz 上传和 xftp上传 , 说一下两种上传方式的区别 :
如果使用 lrzsz上传的话 , 你只需要在 Linux服务器上安装一个小的软件就可以了
执行 yum -y install lrzsz 这个命令即可安装 , 安装完成以后 使用 rz 命令以后 , 会弹出一个上传框, 让你选择你要上传的文件 (注意 : 最好是你先切换到你需要安装TomCat的目录后再执行上传,这样的话你的安装包就不用再移动了 , 可以直接解压). 这个方式呢 , 就是你再不需要其他的软件了 . 下载是 sz 命令
xftp 的话 , 是windows的一个软件 , 你可以下载安装一个 , 专门用来做服务器的上传或下载的 . 是图形界面 , 使用更加简单 , 拖拽上传或下载 , 更符合新手的操作习惯.
3 解压安装Tomcat
tar -zxvf 安装包名称 如 : rar -zxvf apache-tomcat-8.5.68 TomCat是解压即安装的 , 解压以后直接使用即可 , 解压以后的文件夹和压缩文件是同名的 , 你保证两个Tomcat的文件夹不能同名
启动 : 切换到Tomcat的bin目录下 执行 sh ./start.sh
关闭 : 切换到Tomcat的bin目录下 执行 ** sh ./shutdown.sh**
两台Tomcat的配置
此时 , Tomcat的配置都是相同的 , 是肯定不对的 , 你需要打开Tomcat的目录 , 然后打开conf目录
编辑Tomcat的service.xml配置文件 , 其实两个Tomcat 只需要编辑一个的配置就可以 , 另一个完全可以使用Tomcat的默认配置 .
需要编辑的内容一共有3个
第一个这里的这个port(端口号)原来是8005 , 这个port(端口号)是用来关闭Tomcat的
tomCat在执行 shutdown.sh 的时候 , 会给 8005 这个端口发个停止命令, 以此达到停止Tomcat的目的
如果不修改这里的话 , 不管你在哪个Tomcat中执行 **shutdown.sh** 所有的Tomcat 都会停止 .
<Server port="8015" shutdown="SHUTDOWN">
第二个和第三个
<Service name="Catalina">
第二个,这里的端口就是这台Tomcat的访问端口,通过服务器的ip地址加上这里配置的端口,就可以访问到部署到这个
服务器
上的服务了 我这里设置的是80,TomCat默认的是8080端口
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
第三个 默认是8009 , 这个据说是加速用户对于服务器的静态资源请求的 , 反正改了就行了
< Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
这里的配置异常重要 能不能访问到项目全看这一段配置了
name : 别改就对了
appBase : 这里表示你的项目存放位置 , 我们部署上去的项目都要放在webapp文件夹里面
unpackWARs : 不知道就不要改
autoDeploy : 不知道就不要改
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
path : 访问路径
docBase : 项目存放的位置和项目名 (因为我上面指定了项目存放位置为webpaas,所以我这里只写项目名)
reloadable : 是否允许重定向
<Context path="/" docBase="xyj" reloadable="true" allowLinking="true" debug="0">
</Context>
</Host>
</Engine>
</ Service>
< server >
三个端口都改完了以后 , 就是部署项目了
附上一份自己修改的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8015" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Realm>
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<Context path="/" docBase="xyj" reloadable="true" allowLinking="true" debug="0"></Context>
</Host>
</Engine>
</Service>
</Server>
部署项目
我会的部署方式有两种
第一种 : 使用字节码文件部署
在Tomcat下的webapps下 创建一个你的项目名 ,然后 , 你再本地开发用的idea或者是eclipse运行项目的时候都会生成字节码文件 , 然后把这些字节码文件都上传到你在webapps下 , 目录结构千万不能乱 .
然后切换回 bin目录下 , 执行 start.sh 就能启动项目了
第二种 : 使用war包部署
war 包部署,执行以后其实还是会生成一个第一种方式创建的字节码文件夹的 , 所以其实这两种方式是同一种方式 . 首先就是生成war 包 , 这个过程你可以百度一下 , 反正我觉得还挺麻烦的 . 那我就上个图吧 .
首先是IDEA 设置
然后把war 放到Tomcat的webapp目录下 启动Tomcat即可