设为首页 收藏本站
查看: 376|回复: 0

[经验分享] 配置tomcat服务器

[复制链接]

尚未签到

发表于 2017-1-19 06:23:57 | 显示全部楼层 |阅读模式
  一般需要更改三个基本配置:修改服务端口、修改网站的根路径和建立虚拟目录。在Tomcat 6中,这些配置都是通过Tomcat主配置文件conf/server.xml完成的。
1:修改服务端口 在Tomcat\conf\server.xml中,将Tomcat的默认port改为OS默认的port"80"。
定位元素<Connector port="8080">,修改Web服务端口为http的默认端口80。注意,如果是在Windows平台中,并且安装了IIS,则修改的端口号不要和IIS中的Web服务冲突。修改完毕后,保存该文件,然后重启Tomcat服务器,这样Tomcat就在新的端口提供服务了。
 
2:修改tomcat默认端口
 
 修改配置文件/conf/server.xml
<Server port="8005" shutdown="SHUTDOWN">
  <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
  <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
  修改编码
添加:URIEncoding="utf-8"
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="utf-8"/>
3:修改链接数
 增加tomcat连接数
在tomcat配置文件server.xml中的配置中,和连接数相关的参数有:
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
connectionTimeout: 网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。 其中和最大连接数相关的参数为maxProcessors和acceptCount。如果要加大并发连接数,应同时加大这两个参数。 web server允许的最大连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右。
如:

 <Connector  port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" maxThreads="2000"    
     minSpareThreads="25"    
     maxSpareThreads="75"
     acceptCount="100"
URIEncoding="utf-8" />


参数解释:
 maxThreads="150"     表示最多同时处理150个连接  
  minSpareThreads="25"     表示即使没有人使用也开这么多空线程等待  
  maxSpareThreads="75"     表示如果最多可以空75个线程,例如某时刻有80人访问,之后没有人访问了,则tomcat不会保留80个空线程,而是关闭5个空的。  
   
  acceptCount="100"   当同时连接的人数达到maxThreads时,还可以接收排队的连接,超过这个连接的则直接返回拒绝连接。 

 
 
4:修改网站根路径
  不同的Tomcat版本,设置Web应用根的方法也不相同。
在Tomcat 5.5.x中,修改网站根路径的方法有两种:一种是修改C:\Tomcat 5.5\conf\目录下的Tomcat主配置文件server.xml,一种是建立ROOT.xml文件。
在Tomcat 6.0.x中,设置Tomcat根的方法非常简单,只需要修改Tomcat主配置文件conf/server.xml即可。
 
5:建立虚拟目录
开Tomcat主配置文件server.xml,定位到文档尾部的<Host>元素,添加一个上下文元素(<Context>),来设置
Tomcat的根。
需要特别注意的是,Tomcat区分大小写,<Context>元素的第一个字母一定为大写,且文件夹名称大小写也必须和实际一致。修改完毕后,在任务栏上停止Tomcat,再重新启动,打开浏览器,将运行根中的index.jsp程序页面。
 
 
 
6:tomcat设置内存
 在catalina.bat最前面加入set JAVA_OPTS=-Xms128m -Xmx350m 如果用startup.bat启动tomcat,OK设置生效.够成功的分配200M内存.

但是如果不是执行startup.bat启动tomcat而是利用windows的系统服务启动tomcat服务,上面的设置就不生效了,就是说set JAVA_OPTS=-Xms128m -Xmx350m 没起作用.上面分配200M内存就OOM了..

windows服务执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.

解决办法:
修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions
原值为
-Dcatalina.home="C:\ApacheGroup\Tomcat 5.0"
-Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed"
-Xrs

加入 -Xms300m -Xmx350m 
重起tomcat服务,设置生效

 内存改好后,可以登陆tomcat-->status查看 JVM.
http://localhost/manager/status

在程序中如果想查看内存,可以使用下面这几句:
Java代码
System.out.println("TotalMemory :::: " + (Runtime.getRuntime().totalMemory()/(1024*1024) + "M"));  
System.out.println("Max Memory :::: " + (Runtime.getRuntime().maxMemory()/(1024*1024) + "M"));  
System.out.println("Free Memory :::: " + (Runtime.getRuntime().freeMemory()/(1024*1024) + "M")); 

System.out.println("TotalMemory :::: " + (Runtime.getRuntime().totalMemory()/(1024*1024) + "M"));
System.out.println("Max Memory :::: " + (Runtime.getRuntime().maxMemory()/(1024*1024) + "M"));
System.out.println("Free Memory :::: " + (Runtime.getRuntime().freeMemory()/(1024*1024) + "M"));
最后:关闭server的所有防火墙(os,杀毒软件等),开放tomcat的端口号为可访问。
 

如何改变Tomcat的根目录指向

问题:

因为现在我要访问的TOMCAT时总是要打上http://127.0.0.1:8080/chu888

  才能访向到我的chu888这个子目录,如何使http://127.0.0.1:8080
时就能直接转到我的chu888这个子目录。。。。。
说白了就是说如何改变Tomcat的根目???
  解决方法:
  两种方法,
关键在与修改$TOMCAT_HOME\webapps\root\下面的内容
1、修改$TOMCAT_HOME\webapps\root\下面的index.jsp,让它自动redirect 到你的chu888下面
    Eg: 在index.jsp中,仅输入
        <%@ page contentType="text/html; charset=gb2312"%>
<% response.sendRedirect("myProject/index.gsp");//response的重定向%>
保存,启动tomcat即可。(注意myProject是自己的项目名,位于webapp文件夹下。)




2、用你的chu888替换$TOMCAT_HOME\webapps\root\








tomcat中部署java项目
在Tomcat中部署Java Web应用程序有两种方式:静态部署和动态部署。在下文中$CATALINA_HOME指的是Tomcat根目录。
  一、静态部署
  静态部署指的是我们在服务器启动之前部署我们的程序,只有当服务器启动之后,我们的Web应用程序才能访问。以下3中方式都可以部署:
  1、将PetWeb目录拷贝到$CATALINA_HOME\webapps下,然后启动服务器就可以了。这种方式比较简单,但是web应用程序必须在webapps目录下。访问地址如下:
  http://localhost:8080/PetWeb/
  2、这种方式可以不必将PetWeb目录拷贝到webapps下,直接在F:\部署。方法如下,更改$CATALINA_HOME\conf\server.xml文件,在<host>标签内添加<Context>标签,内容如下:
  <Context docBase="F:/PetWeb" reloadable="false" path="/Pet"/>
  其中reloadable="false"表示当应用程序中的内容发生更改之后服务器不会自动加载,这个属性在开发阶段通常都设为true,方便开发,在发布阶段应该设置为false,提高应用程序的访问速度。docBase为路径,可以使用绝对路径,也可以使用相对路径,相对路径相对于webapps。path属性的值是访问时的根地址。访问地址如下:http://localhost:8080/Pet/
  3、这种方式和第二种方式差不多,但是不是在Server.xml文件中添加Context标签,而是在$CATALINA_HOME\conf\Catalina\localhost中添加一个xml文件,如Pet.xml,内容如下:
  <Context docBase="F:/PetWeb" reloadable="false" />大家可能发现和第二种方式差不多,但是缺少了path属性,这种方式服务器会使用.xml的名字作为path属性的值。访问地址如下:http://localhost:8080/Pet/
  我们刚才是将PetWeb文件夹部署在了服务器中,我们知道可以将Web应用程序的内容打成.war包,然后在部署在服务器上。打包请参考如下步骤:
  1、打开命令提示符(Start-->Run-->cmd)
  2、设置jdk环境变量
  3、在命令提示符中进入F:\PetWeb文件后,键入如下命令:
  jar ..\Pet.war *.* 这样在F:\下应该有Pet.war文件。其中..表示当前目录的父目录。
  部署Pet.war文件非常简单,将刚才有docBase="F:\PetWeb"更改为docBase="F:\Pet.war"或者直接将其拷贝到webapps下也可以。重新启动服务器就可以将Pet.war部署为一个Web应用程序了。如果你够细心的话你会发现,服务器将Pet.war文件解开,并且在webapps下面又生成了一个Pet文件夹,然后把Pet.war的内容拷贝到里面去了。我们可以通过以下方式取消自动解压缩,配置方式如下:
  <Context docBase="F:/PetWeb" reloadable="false" unpackWAR="false"/>
  二、动态部署
  动态部署是指可以在服务器启动之后部署web应用程序,而不用重新启动服务器。动态部署要用到服务器提供的manager.war文件,如果在$CATALINA_HOME\webapps\下没有该文件,你必须去重新下载tomcat,否则不能完成以下的功能。要想使用该管理程序必须首先编辑$CATALINA_HOME\conf\tomcat-users.xml文件,内容如下:关于这个文件的更多内容,请参考Java Web应用程序的安全模型二
  <tomcat-users>
  <role rolename="tomcat"/>
  <role rolename="role1"/>
  <role rolename="manager"/>
  <user username="coresun" password="coresun" roles="manager"/>
  <user username="tomcat" password="tomcat" roles="tomcat"/>
  <user username="both" password="tomcat" roles="tomcat,role1"/>
  <user username="role1" password="tomcat" roles="role1"/>
  </tomcat-users>
  然后在浏览器中键入如下地址:
  http://localhost:8080/应该看到一个漂亮的加菲猫了吧。点击左边的Tomcat Manager链接,提示输入用户名和密码,本文都是coresun,然后可以看到以下页面:
  在Context Path(option):中输入/Pet
  XML Configration file URL中要指定一个.xml文件,比如我们在F:\下建立一个Pet.xml文件,内容如下:
  <Context reloadable="false" />docBase不用写了,因为在下一个文本框中填入。或者更简单点,这个文本框什么都不填。
  在WAR or Directory URL:中键入F:\PetWet或者F:\Pet.war都可以,然后点击Deploy按钮,看看上面是不是已经看到了你web应用程序,名字就是你Context Path(option):中的名字。
  如果你部署.war文件还有更加简单的方式,下面还有个Select WAR file uploae点击浏览选择.war文件,然后点击Deploy也可以。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-330306-1-1.html 上篇帖子: Tomcat 源码分析 下篇帖子: 1、Tomcat启动
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表