一个阿里云服务器想要部署多个项目时应该如何完成,以下是个人的一些小结,希望可以帮助到大家。
方法一:服务器运行多个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多个端口
- 第一步:Tomcat默认空间webapps,中已经存在一个项目(myProject)了,在tomcat目录下找到webapps,新建文件夹webapps1,并把项目拷入webapps1下。
- 第二步:在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
-
第四步:测试
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访问了。
以上访问形式 也可以通过配置域名进行访问