一个阿里云服务器想要部署多个项目时应该如何完成,以下是个人的一些小结,希望可以帮助到大家。

方法一:服务器运行多个tomcat

1. 修改/etc/profile文件
需要在文件中添加多组CATALINA环境变量(有几个tomcat就添加几组)

####第一个Tomcat####
export CATALINA_BASE=/usr/local/tomcat/apache-tomcat-8.5.6
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.6
export TOMCAT_HOME=/usr/local/tomcat/apache-tomcat-8.5.6

####第二个Tomcat####
export CATALINA_BASE=/usr/local/tomcat2/apache-tomcat-8.5.6
export CATALINA_HOME=/usr/local/tomcat2/apache-tomcat-8.5.6
export TOMCAT_HOME=/usr/local/tomcat2/apache-tomcat-8.5.6

记得修改完要用source /etc/profile使其生效
2. 修改其他tomcat(除了第一个tomcat)根目录bin下的catalina.sh文件
具体操作是切换到tomcat2的bin目录下,vim catalina.sh,找到下面的注释代码

# OS specific support.  $var _must_ be set to either true or false.

并在上述代码下面添加以下代码,目的是为了tomcat2启动的时候能通过该文件的里的$CATALINA_2_BASE 和 $CATALINA_2_HOME找到/etc/profile配置文件里我们前一步配好的具体路径,完成tomcat2的启动过程。
3. 修改端口号
除了第一个tomcat使用的默认配置好的端口号(如果有需要也可以修改),后面添加的tomcat都要通过其根目录下的conf目录下的server.xml文件来修改端口号防止端口冲突。

  • http访问端口(默认为8080端口):
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
  • 监听tomcat关闭的端口(默认为8005):
<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  • 负责接收其他http服务器的请求端口(默认为8009):
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

云服务器,需要把新增的tomcat端口添加到安全组中去,不然最后无法访问的!

方法二:一个tomcat多个端口

  1. 第一步:Tomcat默认空间webapps,中已经存在一个项目(myProject)了,在tomcat目录下找到webapps,新建文件夹webapps1,并把项目拷入webapps1下。

三台服务器搭建hadoop集群 多台服务器部署_三台服务器搭建hadoop集群

三台服务器搭建hadoop集群 多台服务器部署_端口号_02

  1. 第二步:在tomcat目录下找到conf文件夹下的server.xml,进入配置文件 conf/server.xml ,复制节点在原节点下面,并作修改
<!--原内容-->
<Service name="Catalina">
    ......
</Service>
<!--新复制出来的-->
<Service name="Catalina1">
<Connector port="8898" protocol="HTTP/1.1"
       connectionTimeout="20000"
       redirectPort="8443"
     maxSwallowSize="-1" 
       maxHttpHeaderSize="16384"/>
<Engine name="Catalina2" defaultHost="localhost">
  <Realm className="org.apache.catalina.realm.LockOutRealm">
  <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
       resourceName="UserDatabase"/>
  </Realm>
  <Host name="localhost"  appBase="webapps1"
    unpackWARs="true" autoDeploy="true">
  <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
       prefix="localhost_access_log" suffix=".txt"
       pattern="%h %l %u %t "%r" %s %b" />
  <Context path="/hiot/uploadfiles" docBase="/usr/local/hiot/uploadfiles/"/>
  <Context path="/hiot/download" docBase="/usr/local/hiot/download/"/>
  </Host>
</Engine>
</Service>
  • List itemService 标签 的 name :Catalina1
  • Connector 的 port :8898 ,此处端口改成不同于原来的端口(可自由指定(只要确保没被占用));
  • Engine 的 name :Catalina1(与 Service 标签的 name 对应即可)
  • Host 的 appBase :webapps1,此处 appBase 要改成第一步新建的 webapps1 目录。
  • (可选)可以通过配置 Context 的 path 和 docBase ,指定访问路径,其中 path 表示浏览器访问时的路径,docBase 表示 path 映射到的实际本地目录
  • 第三步: 复制\conf目录下的Catalina生成副本 ,并命名为Catalina1
  • 三台服务器搭建hadoop集群 多台服务器部署_三台服务器搭建hadoop集群_03

  • 第四步:测试
    1.运行bin/startup.bat文件
    2.运行bin/shutdown.bat文件
    3.运行tomcat8w.exe 启动tomcat
    4.在浏览器输入http://localhost:8080/ 测试tomcat是否启动
    在浏览器输入http://localhost:8898(server.xml中配置的端口号)/项目名/ 看项目是否启动

方法三:一个tomcat相同端口-多个文件项目

1.将打包好的项目直接放在/tomcat/webapps下。
2. 通过http://localhost:8080/项目名称/index.html访问了。
以上访问形式 也可以通过配置域名进行访问