linux系统一个tomcat下同一个端口linux部署多个tomcat项目,应如何配置。

linux(4)
步骤如下:
&&&&&&(1)修改/etc/profile文件。添加一组java环境变量(如果已经有了就不用再添加),和两组CATALINA环境变量(我没有进行此步骤的设置,可能因为我的Tomcat是免安装版的吧)记得修改完要使其生效,
用命令:source
/etc/profile
JAVA_HOME=/usr/java/jdk1.7.0
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
#第一个Tomcat
CATALINA_BASE=/usr/local/apache-tomcat-6.0.35
CATALINA_HOME=/usr/local/apache-tomcat-6.0.35
export CATALINA_BASE CATALINA_HOME
#第二个Tomcat
CATALINA_2_BASE=/usr/local/apache-tomcat-6.0.35-second
CATALINA_2_HOME=/usr/local/apache-tomcat-6.0.35-second
export CATALINA_2_BASE CATALINA_2_HOME
#第一个Tomcat路径
TOMCAT_HOME=/usr/local/apache-tomcat-6.0.35
export TOMCAT_HOME
#第二个Tomcat路径
TOMCAT_2_HOME=/usr/local/apache-tomcat-6.0.35-second
export TOMCAT_2_HOME
(2)第一个tomcat解压出来不用修改,把第二个tomcat_2/conf下的server.xml打开,修改shudown端口与http访问端口(注意要把端口添加到防火墙配置里面),
AJP端口不修改有可能启动会报错,但程序可以跑起来,所以可以把AJP端口也修改了。
这样就可以在linux下同时运行两个tomcat了。运行更多tomcat方法是一样的
(3)主要要点就是tomcat启动的时候会去查找tomat 的根目录,而这是通过查询系统环境变量CATALINA_HOME 以及
CATALINA_BASE 来做到的,于是我们只需要设置这两个变量即可。
现在我们把tomcat拷贝成2份,分别为 tomcat1 和 tomcat2,tomcat1 我们使用之前配置好的默认配置
(CATALINA_HOME 以及 CATALINA_BASE 均指向 tomca1 目录),但tomcat2 我们不能再使用系统上配置的这两个
变量了,那么我们就在 tomcat2的bin目录下面的 catalina.sh 临时修改设置 CATALINA_HOME 和 CATALINA_BASE
为tomcat2的根目录即可,如果再加tomcat 以此类推即可。
打开catalina.sh ,找到下面红字,在下面增加如下代码
&#&OS specific support.&&$var _must_ be set to either true or false.
# myself&: add
export CATALINA_BASE=$CATALINA_2_BASE
export CATALINA_HOME=$CATALINA_2_HOME
完成以上配置就ok了。去到两个tomcat 的bin路径下,启动服务,就可以同时运行了。
tomcat服务器需配置三个端口才能启动,安装时默认启用了这三个端口,当要运行多个tomcat服务时需要修改这三个端口,不能相同。
修改http访问端口(默认为8080端口),配置文件为tomcat\ conf\service.xml
&Connector port=&8080& protocol=&HTTP/1.1&&&&&&&&&&&&&&& connectionTimeout=&20000&&&&&&&&&&&&&&& redirectPort=&8443& /&&&& &!-- A &Connector& using the shared thread pool--&&&& &!--&&& &Connector executor=&tomcatThreadPool&&&&&&&&&&&&&&& port=&8080& protocol=&HTTP/1.1&&&&&&&&&&&&&&&
connectionTimeout=&20000&&&&&&&&&&&&&&& redirectPort=&8443& /&
修改Shutdown远程停服务端口(默认为8005端口)&&& &Server port=&8005& shutdown=&SHUTDOWN&&
&修改AJP端口(默认为8009端口)&& &!-- Define an AJP 1.3 Connector on port 8009 --&&&& &Connector port=&8009& protocol=&AJP/1.3& redirectPort=&8443& /&
本文参考:.cn/s/blog_7eo2g.html
/article/75ab0bcbcbfe20d.html
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2490次
排名:千里之外
转载:16篇
(5)(4)(9)(1)> 能不能同时开启多个Tomcat服务器 在linux下如何实现
能不能同时开启多个Tomcat服务器 在linux下如何实现
  Tomcat服务器在linux系统下是很常用到的服务器,有时候我们需要的不止是一个Tomcat服务器,可能会要求同时开启多个服务器,这到底能不能做到呢?如果能该用什么方法来实现呢?
  所用Tomcat服务器都为zip版,非安装版。以两个为例:
  安装第二个Tomcat完成后,到安装目录下的conf子目录中打开server.xml文件,查找以下三处:
  (1)修改http访问端口(默认为8080端口)
  minProcessors=&5&maxProcessors=&75&
  enableLookups=&true&redirectPort=&8443&
  acceptCount=&100&debug=&0&connectionTimeout=&20000&
  useURIValidationHack=&false&disableUploadTimeout=&true&/&
  (大概在86行左右)将8080修改为第一个tomcat不在使用的端口号。此处所设的端口号即是以后访问web时所用的端口号。
  (2)修改Shutdown端口(默认为8005端口)
  (大概在13行左右)将8005修改为没有在使用的端口号,例如8095
  (3)修改8009端口
  port=&8009&minProcessors=&5&maxProcessors=&75&
  enableLookups=&true&redirectPort=&8443&
  acceptCount=&10&debug=&0&connectionTimeout=&20000&
  useURIValidationHack=&false&
  protocolHandlerClassName=&org.apache.jk.server.JkCoyoteHandler&/&
  (大概在107行左右)将8009修改为没有在使用的端口号,例如8099
  这样就没问题了。
  Tomcat服务器同时开启多个是很容易实现的,所以大家可以参照上面教程的方法,最好是小心完成步骤以免出错,因为其中涉及到一些修改端口的方面,希望这些方法对大家有帮助。
系统专题栏目
最新系统下载
热门系统总排行
热门文章排行榜tomcat配置多个端口
tomcat配置多个端口
1:18:00来源:
一、Tomcat 安装后本身提供了一个server,端口配置默认是8080,对应目录为:..\Tomcat 6.0\webapps二、Tomcat 6.0 配置多个端口,其实也就是给Tomcat增加几个server,并设置对应目录。下面以增加两个端口号为例第一步、修改server.xml[..\Tomcat 6.0\conf](1)Tomcat提供的如下:Xml代码&Service?name="Catalina"&
&Connector?port="8090"?maxHttpHeaderSize="8192"
maxThreads="150"?minSpareThreads="25"?maxSpareThreads="75"
enableLookups="false"?redirectPort="8443"?acceptCount="100"
connectionTimeout="20000"?disableUploadTimeout="true"?/&
&Connector?port="8009"
enableLookups="false"?redirectPort="8443"?protocol="AJP/1.3"?/&
&Engine?name="Catalina"?defaultHost="localhost"&
&Realm?className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/&
&Host?name="localhost"?appBase="webapps"
unpackWARs="true"?autoDeploy="true"
xmlValidation="false"?xmlNamespaceAware="false"&
&/Service& ?(2)比着上面的葫芦画下面的瓢、新增两个端口号,注意Service name、Engine name、appBase,当然了,端口号别忘了修改,以免重复。Xml代码&Service?name="Catalina1"&
&Connector?port="8091"?maxHttpHeaderSize="8192"
maxThreads="150"?minSpareThreads="25"?maxSpareThreads="75"
enableLookups="false"?redirectPort="8443"?acceptCount="100"
connectionTimeout="20000"?disableUploadTimeout="true"?/&
&Connector?port="8009"
enableLookups="false"?redirectPort="8443"?protocol="AJP/1.3"?/&
&Engine?name="Catalina1"?defaultHost="localhost"&
&Realm?className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/&
&Host?name="localhost"?appBase=<细桶假狗屎 的BLOG
用户名:细桶假狗屎
文章数:69
评论数:14
访问量:15852
注册日期:
阅读量:5863
阅读量:12276
阅读量:334976
阅读量:1039637
51CTO推荐博文
有时候我们经常会有这种需求,在同一台 Linux 服务器上配置两个或多个 Tomcat ,一个作为测试环境,一个作为生产环境。要想满足这一需求,修改&Tomcat 的 server.xml 配置文件,让多个 Tomcat 使用不同的端口即可。下面以配置两个 Tomcat 为例来说明。首先,安装&Tomcat ,这在之前的一篇博客中已经详细介绍过,博客地址如下:在这里我们假设将&Tomcat 安装在 /opt/tomcat 目录下,复制一份,名称可以自定义,以 tomcat_test 为例:[root@localhostopt]# /bin/cp -r tomcat tomcat_test此时&tomcat/conf/server.xml 和 tomcat_test/conf/server.xml内容当然是相同啦,使用的端口号也相同,想要同时运行肯定是不可能的,现在保持&tomcat/conf/server.xml 不变,修改&tomcat_test/conf/server.xml :[root@localhostopt]# vim tomcat_test/conf/server.xml下面列出要修改的几处内容,其中第一部分为修改前,第二部分为修改后,修改后的部分以黑体及下划线表示:1.修改监听关闭&Tomcat 请求的端口:&Server port="8006" shutdown="SHUTDOWN"&&Server port="18006"&shutdown="SHUTDOWN"&2.修改监听来自客户端请求的端口:&Connectorport="9090"&&& &&executor="tomcatThreadPool"&&& &&protocol="HTTP/1.1"&& &&&acceptCount="35000"&&& &&enableLookups="false"&&& &&connectionTimeout="30000"&&& &&acceptorThreadCount="8"&&& &&redirectPort="8443"& URIEncoding="UTF-8"/&& &Connector&&& &&port="9091"&& &&&executor="tomcatThreadPool"&&& &&protocol="HTTP/1.1"&&& &&acceptCount="35000"&&& &&enableLookups="false"&&& &&connectionTimeout="30000"&&& &&acceptorThreadCount="8"&&& &&redirectPort="18443"& URIEncoding="UTF-8"/&3.修改 AJP 协议连接端口:&Connector port="8010"&protocol="AJP/1.3" redirectPort="8443" /&&Connector port="18010"&protocol="AJP/1.3" redirectPort="18443"/&&修改完成后保存退出,即可使两个 tomcat 同时运行。为了使用方便,将 tomcat_test&也配置为服务:[root@localhost opt]# /bin/cp -p tomcat_test/bin/catalina.sh /etc/init.d/tomcat_test[root@localhost opt]# vim !$从第二行开始加入如下配置信息:# chkconfig: # description: tomcat_test server init script# Source Function Library. /etc/init.d/functionsJAVA_HOME=/opt/jdk1.8.0_40/CATALINA_HOME=/opt/tomcat_test保存退出。这里要特别注意,CATALINA_HOME 要输入当前正在配置 Tomcat 的目录,如果此时我们正在配置第一个 Tomcat,则 CATALINA_HOME 的值为:CATALINA_HOME=/opt/tomcat[root@localhost opt]# chmod 755 !$[root@localhost opt]# chkconfig --add tomcat_test[root@localhost opt]# chkconfig tomcat_test on到此服务配置完毕,之后我们就可以使用启动/ 关闭服务的形式来对 Tomcat 进行操作了:[root@localhost opt]# service tomcat_test start //启动[root@localhost opt]# service tomcat_test stop //关闭&补充:&常用命令 netstat上述两个 Tomcat 使用的连接端口分别为 9090(tomcat)和 9091(tomcat_test),使用这些端口的前提是它们并没有被占用。使用 netstat 命令可以查看 Linux 端口的使用情况:[root@localhost ~]# netstat Cantp举例来说,如果我们想查看 9090 端口是否被占用,则:[root@localhost ~]# netstat Cantp | grep 9090tcp& 0 &0& :::9090& :::*& LISTEN& 1804/java即为占用,没有结果即没有被占用。netstat 命令参数:-a& 显示 listening 和 non-listening 所有状态的端口-n& 以数字形式显示端口,不会以默认名称显示。比如, ssh 的默认端口为 22,不使用 -n 参数时在 Local Address 列会显示 localhost:ssh ,使用-n 参数时则显示为 192.168.32.136:22。-t& 显示tcp协议。-p& 显示端口使用进程 pid 及进程名称。本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)查看:4495|回复:18
初级工程师
比如: server
& && &&&listen&&2080;
& && &&&server_name& & localhost:9080;
& && &&&index index.action index.html index.jsp default.
& && &&&root&&/opt/tomcat_2080/
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
& && &&&listen& && & 8080;
& && &&&server_name&&10.0.0.199:9088;
。。。。。。。。。。。。。。。。。。。。。。。。。。。。
我访问http://ip:2080的时候,nginx给我转发到tomcat的9080端口;;
我访问http://ip:8080的时候,nginx给我转发到tomcat的9088端口;;
这个必须可以啊~~~
使命的召唤-全能IT艺术家 ...
NGINX很重要的一个功能就是做反向代理,因为本身不能解析动态页面
一剑舞动惊四方,IT本是我所长 (R)丁胖胖
初级工程师
& && &&&listen& && & 8080;
& && &&&server_name&&10.0.0.199:9088;
& && &&&index QSConsole.html index.html index.jsp default.
& && &&&root&&/opt/tomcat_8080/
& && &&&charset utf-8;
& && & access_log&&/opt/tomcat_8080/logs/catalina.
& && &&&location ~ .*\.(jsp|jspx|do|action)?$ {
& && && && && & proxy_set_header Host $
& && && && && & proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_
& && && && && & proxy_set_header X-Real-IP $remote_
& && && && && & proxy_
& && &&&location ~ .*\.(htm|ico|txt|css|gif|jpg|jpeg|png|bmp|swf|html)$
& && && && & root /opt/tomcat_8080/
& && && && & expires& & 30d;
& && && && & proxy_
& && && && & proxy_set_header Host $
& && && && & proxy_cache_valid 200 302 1h;
& && && && & proxy_cache_valid 301 1d;
& && && && & proxy_cache_valid any 1m;
& && &&&location /
& && && & proxy_next_upstream http_502 http_504 error timeout invalid_
& && && & expires 3d;
& && && & proxy_
& && && & proxy_set_header& && &Host $
& && && & proxy_set_header& && &X-Real-IP $remote_
& && && & proxy_set_header& && &X-Forwarded-For $proxy_add_x_forwarded_
& && &&&location ~ .*\.(js|css)?$
& && && && & expires& & 1h;
& && &&&location ~(favicon.ico)
& && && &{
& && && & log_not_
& && && & expires 30d;
我这样配置有错误吗??为什么我访问http://ip:8080/QuadServer时,报 10:47:07 [error] 28813#0: *1 open() &/opt/tomcat_8080/webapps/favicon.ico& failed (2: No such file or directory), client: 10.0.0.17, server: 10.0.0.199:9088, request: &GET /favicon.ico HTTP/1.1&, host: &10.0.0.199:8080&错误啊
server_name&&10.0.0.199:9088这里是你访问的地址名字
& &proxy_这是你取数据的地方
& &&&listen& && & 8080;监听端口应该为你nginx服务的端口
初级工程师
引用:原帖由 只是zero 于
15:38 发表
server_name&&10.0.0.199:9088这里是你访问的地址名字
& &proxy_pass http://10.0.0.199:9088;这是你取数据的地方
& &&&listen& && & 8080;监听端口应该为你nginx服务的端口
可看懂? ... 哦,也就是是说,如果我想访问的话,应该是配置:
server_name 10.0.0.199:8080了!!!
初级工程师
我试过了,我将server_name 10.0.0.199:9088 改成10.0.0.199:8080后,然后重启,访问还是原来的错误
index QSConsole.html index.html index.jsp default.
& && &&&root&&/opt/tomcat_8080/
这2行注释掉啊,不然还是访问本地的
初级工程师
引用:原帖由 只是zero 于
17:05 发表
index QSConsole.html index.html index.jsp default.
& && &&&root&&/opt/tomcat_8080/
这2行注释掉啊,不然还是访问本地的 我注释后,然后重启,就报404 not found错误了!
初级工程师
nginx能删缓存吗??或者删除tomcat的缓存会好点吗?
& && &&&listen& && & 8080;
& && &&&server_name&&10.0.0.199:8080;
& && &&&charset utf-8;
& && & access_log&&/opt/tomcat_8080/logs/catalina.
& && &&&location&&/{
& && && && && & proxy_set_header Host $
& && && && && & proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_
& && && && && & proxy_set_header X-Real-IP $remote_
& && && && && & proxy_
只要这个就行了,所有的都是去10.0.0.199:9088去取数据,如果需要缓存,到时在添加吧。nginx是8080端口吧。
初级工程师
嗯,是啊,
初级工程师
(54.75 KB)
我把其余的都注释了,然后再次访问发现还是上面的错误,但是有一点,日志里没有报那个错误了!
应该是你tomcat没配置好,后面的访问位置是tomcat设定的位置,如果你先把tomcat搭建好,在访问
初级工程师
不是啊,如果我直接访问的话,是没有问题的啊
初级工程师
(88.66 KB)
初级工程师
引用:原帖由 只是zero 于
17:39 发表
应该是你tomcat没配置好,后面的访问位置是tomcat设定的位置,如果你先把tomcat搭建好,在访问 如果我配置成:
& && &&&listen& && & 80;
& && &&&server_name&&10.0.0.199:80;
& && &&&#index QSConsole.html index.html index.jsp default.
& && &&&root&&/opt/tomcat_8080/
& && &&&charset utf-8;
& && & access_log&&/opt/tomcat_8080/logs/catalina.
& && & location /
& && && & proxy_next_upstream http_502 http_504 error timeout invalid_
& && && & expires 3d;
& && && & proxy_
& && && & proxy_set_header& && &Host $
& && && & proxy_set_header& && &X-Real-IP $remote_
& && && & proxy_set_header& && &X-Forwarded-For& && && && && && && && & $proxy_add_x_forwarded_
}然后 重启,访问可以正常访问
初级工程师
help me !!!
很显然你的8080端口被运营商封掉了啊,telnet下你的8080端口就知道了

我要回帖

更多关于 linux部署tomcat项目 的文章

 

随机推荐