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

[经验分享] windows2003下tomcat6.0安装和部署

[复制链接]

尚未签到

发表于 2018-12-1 13:04:44 | 显示全部楼层 |阅读模式
  1、首先是Tomcat的获取

  获取当然得上Apache的官方网站下载,开源免费,而且带宽也足够。下载会很快。
  http://s3.运维网.com/wyfs02/M01/74/A0/wKiom1YkamHxoYrGAAB1cAa5RsU734.jpg
  这是两种不同的下载,一个是普通.exe安装版本,一个是.zip解压安装版本。使用起来是一样的,只是在普通安装版本中有一些界面可提供对Tomcat的快捷设置,而且普通安装会将Tomcat作为系统服务进行注册。
  2、Tomcat的运行环境搭建
  a、安装JDK:直接运行jdk-7-windows-i586.exe可执行程序,默认安装即可。安装完成后需要配置JDK环境变量

  •   新建变量名:JAVA_HOME,指明JDK安装路径,变量值:C:\Program Files\Java\jdk1.7.02
  •   打开PATH,添加变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin,使系统可以在任何路径下识别java命令
  •   新建变量名:CLASSPATH,变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 这里最前面的点.不能省略,他表示当前路径。一定要注意所有符号都是英文状态的。变量值tools.jar后面也可以再添加个分号即“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;”
  b、测试java环境是否配置成功
  在CMD命令下输入javac,java,javadoc命令:出现图示界面,表示安装成功。

  写段java代码测试下:(保存在D:\javatest.java)
public class javatest
{
public static void main(String args[])
{
System.out.println("Hello World!");
}
}  注意:文件里第一行后面的javatest与文件名要保持一直,否则出现以下
  

  显示“Hello World!”测试成功
  b、安装tomcat

  •   如果下载的是.zip格式的,直接解压,然后运行目录bin下面的startup.bat即可
    如果启动不成功,一般的情况是控制台出来一下立即消失,说明Tomcat没有找到Java的运行时环境。这时就需要检查上面jdk安装和配置了
      启动Tomcat,在浏览器地址栏输入http://localhost:8080/如果看到乱七八糟的关于Tomcat的介绍神马,说明配置成功
      
  •   如果下载的是.exe格式的,我们需要双击安装



  双击D:\Program Files\Apache Software Foundation\Tomcat 7.0\bin目录下的
  Tomcat7w.exe,启动Tomcat,在浏览器地址栏输入http://localhost:8080/如果看到乱七八糟的关于Tomcat的介绍神马,说明配置成功
  也可以配置下Tomcat环境变量

  •   新建变量名:CATALINA_BASE,变量值:D:\Program Files\Apache Software Foundation\Tomcat 7.0
  •   新建变量名:CATALINA_HOME,变量值:D:\Program Files\Apache Software Foundation\Tomcat 7.0
  •   新建变量名:TOMCAT_HOME,变量值:D:\Program Files\Apache Software Foundation\Tomcat 7.0
  •   修改变量名:CLASSPATH,在末尾添加变量值:D:\Program Files\Apache Software Foundation\Tomcat 7.0\lib\servlet-api.jar
  •   修改变量名:PATH,在末尾添加变量值:D:\Program Files\Apache Software Foundation\Tomcat 7.0\lib;D:\Program Files\Apache Software Foundation\Tomcat 7.0\bin
  3、Tomcat的目录结构
  bin目录存放一些启动运行Tomcat的可执行程序和相关内容。      
  conf存放关于Tomcat服务器的全局配置。      
  lib目录存放Tomcat运行或者站点运行所需的jar包,所有在此Tomcat上的站点共享这些jar包。   wabapps目录是默认的站点根目录,可以更改。      
  work目录用于在服务器运行时过度资源,简单来说,就是存储jsp、servlet翻译、编译后的结果。
  4、更改Tomcat默认配置

  •   修改Tomcat监听端口

  tomcat默认的监听端口是8080,现在需要修改成80端口
  用记事本打开Tomcat安装目录下的conf文件夹下的servlet.xml文件,在servlet.xml文件中找到以下代码:
      将上面代码中的port="8080"修改为port="80",即可将Tomcat的默认端口设置为80。在修改端口时,应避免与公用端口冲突。修改成功后,为了使新设置的端口生效,还需要重新启动Tomcat服务器。
  如果一台机器上部署多个tomcat,还需要修改下以下2处:
        
   
      


  •   修改默认站点路径

  如创建一个站点,再将其设置为默认站点,新站点路径d:/myweb;创建文件夹myweb,创建WEB-INF子文件夹,子文件夹里创建web.xml,完成。web.xml内容可以参考webapps/ROOT/WEB-INF/web.xml。
  http://s3.运维网.com/wyfs02/M00/74/A2/wKiom1YkipPAgoxHAAESH74VTVY291.jpg
  用记事本打开Tomcat安装目录下的conf文件夹下的servlet.xml文件,在servlet.xml文件中找到以下代码:
  
……

   
   ……
   

……  以上定义了server中的一台主机(localhost),它的默认根目录是"webapps"(相对路径),现在我们要自己在Host下加上多个Context tag来创建多个自定义访问。在前插入:


rem   
  一般我们用Context来覆盖Host的appBase的设定而不是直接修改appBase.
  path是说明虚拟目录的名字,如果你要只输入ip地址就显示主页,则该键值留为空;第一个Context用了path="",如果设置为path=""(注意不是path="/"),则相当于是这个Host的虚拟根目录,docBase则指出了物理目录的位置(可以是绝对也可以是相对于Host的appBase的位置,它默认的是$tomcat/webapps/root目录),
  eg:将tomcat主目录修改为/app/apache-tomcat-7.0.61/webapps/bc_fund,要求直接访问http://ip:8080就可以直接访问bc_fund
  
第二个Context用了path="/xyz",如果你访问http://localhost/xyz/ 则会使用/mnt/test/里的内容。
debug 则是设定debug level,  0表示提供最少的信息,9表示提供最多的信息,privileged设置为true的时候,才允许Tomcat的Web应用使用容器内的Servlet,debug和reloadable一般都分别设置成0和true。然后重启tomcat
  http://s3.运维网.com/wyfs02/M01/74/9E/wKioL1YkivHw29PmAABXR1ZjGiI065.jpg

  •   修改默认页面

  conf/web.xml这个文件是对所有站点的共同属性做出了设置,
  http://s3.运维网.com/wyfs02/M00/74/A2/wKiom1YkjO6jSRVfAAGWchRuhXE598.jpg
  这个叫做欢迎页面,当没有输入资源地址时,会由上至下地查找,获取页面,进行响应。改动它就可以修改默认页面,但是不建议在这里改,会使所有站点设置变化。

   
        index.html
        index.htm
        index.jsp
      应该以上代码复制到你需要改动的站点WEB-INF目录下的web.xml中,进行设置,然后重启tomcat
  http://s3.运维网.com/wyfs02/M02/74/A2/wKiom1YkjbaAE5e2AAEHo2c7Srk175.jpg
  扩展:
  双击startup.bat后闪退,通过命令行启动提示:
  the catalina_home environment variable is not defined correctly
  this environment variable is needed to run this program

  此时检查环境变量是否设置正确,
  1、JAVA_HOME中的路径不能使用分号结尾,如 E:\Java\jdk1.6.0_10; 这样写就会出现提示CATALINA_HOME或是JAVA_HOME没有配置好的错误,,还有就是JAVA_HOME的路径一定不要写成了JRE的路径 2、如果定义了CATALINA_BASE,CATALINA_HOME,TOMCAT_HOME,路径不能以"\"结尾,如 E:\Java\apache-tomcat-6.0.29\ 这样写就会出现java.util.logging.ErrorManager的错...
  如果设置没问题检查startup.bat、catalina.bat中定义的环境变量是否有问题,
  在已解压的tomcat的bin文件夹下找到startup.bat,右击->编辑。在文件头加入下面两行:
  SET JAVA_HOME=D:\Java\jdk1.6.0_10 (java jdk目录)
  SET TOMCAT_HOME=E:\tomcat-6.0.35 (解压后的tomcat文件目录)
  


  •   更改Tomcat命令行窗口标题
  在%tomcat_home%\bin\catalina.bat中找到以下代码:
  搜索“noTitle”或者“_EXECJAVA”
  找到TITLE,后面就是窗口的标题:
  :doStart
  shift
  if not "%OS%" == "Windows_NT" goto noTitle
  if "%TITLE%" == "" set TITLE=EDR NEW:%cd%       修改此处   
  set _EXECJAVA=start "%TITLE%" %_RUNJAVA%
  goto gotTitle
  http://s3.运维网.com/wyfs02/M00/7F/43/wKioL1cYXCniyQHUAAAtCOYdI1g445.png
  

  •   绑定Tomcat主机头

  为了防止域名解析恶意指向,需要修改Tomcat的主机头,修改tomcat的 conf/server.xml
  找到
  添加
  
  www.justin1.com
  10.10.2.43
  
  
  
  
  
  其中D:/tomcat-6.0.16/1webapps/jforum,D:/tomcat-6.0.16/1webapps/justin12是2个web应用程序
  这样 D:/tomcat-6.0.16/1webapps/justin1对应的web应用使用http://www.justin1.com、http://10.10.2.43访问
  这样 D:/tomcat-6.0.16/1webapps/justin12对应的web应用使用http://www.justin2.com访问
  

  •   启动tomcat后显示中文乱码
  

  

  •   tomcat内存设定
  
  catalina.bat
  set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m -Duser.timezone=GMT+08
  set JAVA_OPTS= -Xms1024M -Xmx1024M -XX:PermSize=256M -XX:MaxNewSize=256M -XX:MaxPermSize=256M
  set JAVA_OPTS=%JAVA_OPTS% -server -Xms512m -Xmx512m -XX:MaxNewSize=256m -XX:PermSize=512M -XX:MaxPermSize=512m
  -Xms1024M:java Heap初始大小。 默认是物理内存的1/64。(注意,不加M的话单位是KB)
  -Xmx1029M:java heap最大值。建议均设为物理内存的一半。不可超过物理内存。
  -XX:PermSize=256M:设定内存的永久保存区初始大小,缺省值为64M
  -XX:MaxPermSize=256M:设定内存的永久保存区最大 大小,缺省值为64M
  -XX:NewSize: 新生成的池的初始大小, 缺省值为2M
  -XX:MaxNewSize=256M:新生成的池的最大大小,缺省值为32M。
  还有一个-server参数,是指启动jvm时以服务模式启动,-Server模式启动时,速度较慢,但是一旦运行起来后,性能将会有很大的提升,不加这个参数,默认是以客户端模式启动。-server:一定要作为第一个参数,在多个CPU时性能佳。原因是:
  当虚拟机运行在-client模式的时候,使用的是一个代号为C1的轻量级编译器, 而-server模式启动的虚拟机采用相对重量级,代号为C2的编译器. C2比C1编译器编译的相对彻底,,服务起来之后,性能更高。
  怎么修改JVM的启动模式:
  查看当前JVM启动模式

  JVM启动时采用何种模式是在名为jvm.cfg的配置文件中配置的,64位系统默认在 JAVA_HOME/jre/lib/amd64/jvm.cfg、32在目录JAVA_HOME/jre/lib/i386/jvm.cfg
  -server KNOWN
  -client IGNORE
  如果要切换启动模式,首先要确认JDK支持哪一种或两种模式。查看JAVA_HOME/jre/bin目录下是否存在client或server目录。32位的JDK一般都支持server和client两种模式。64位的虚拟机好像只支持server模式,没有client目录,64位因为只支持server模式,如果我们修改了配置,启动JVM时会报错,无法启动。切换模式只需要将client和server的声明语句互换位置即可。

  catalina.sh
  JAVA_OPTS="-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m -Duser.timezone=Asia/Shanghai"
  

  •   最大连接数设定

  Tomcat能处理的请求数,当一个进程的线程数超过500个的话,那么这个进程的运行效率就很低了。表面上看线程越多处理的请求越多,其实过多的线程会占用CPU在不同线程之间切换的资源,导致CPU在每个线程上处理的时间片极期有限,反而会降低服务器的响应性能。
  server.xml
  
  Tomcat的并发请求处理数量=maxThreads + acceptCount

  •   开启Tomcat APR运行模式,优化并发性能

  Tomcat支持三种接收请求的处理方式:BIO、NIO、APR 。
  tomcat9默认采用NIO模式启动,以哪种可以通过启动时界面查看

  BIO模式:
  阻塞式I/O操作,表示Tomcat使用的是传统Java I/O操作(即java.io包及其子包)。Tomcat7以下版本默认情况下是以bio模式运行的,由于每个请求都要创建一个线程来处理,线程开销较大,不能处理高并发的场景,在三种模式中性能也最低。
  
  NIO模式:
  是Java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。是一个基于缓冲区、并能提供非阻塞I/O操作的Java API,它拥有比传统I/O操作(bio)更好的并发运行性能,Tomcat8以上版本,默认使用的就是NIO模式。
  要让Tomcat以nio模式来运行只需要在Tomcat安装目录/conf/server.xml文件中Connector中的protocol参数,讲protocol="HTTP/1.1" 修改为protocol="org.apache.coyote.http11.Http11NioProtocol"
  apr模式:
  Apache可移植运行时( Apache Portable Runtime,简称APR)是Apache HTTP服务器的支持库,提供了一组映射到下层操作系统的API。如果操作系统不支持某个特定的功能,APR将提供一个模拟的实现。这样程序员使用APR编写真正可在不同平台上移植的程序。
  简单理解,就是从操作系统级别解决异步IO问题,大幅度的提高服务器的处理和响应性能, 也是Tomcat运行高并发应用的首选模式。
  tomcat-native 库为 Tomcat 提供了本地实现。 tomcat-native 依赖于三个组件:APR, OPENSSL, JDK。
  1、安装依赖库
  yum install -y apr-devel openssl-devel gcc make
  openssl库要求在0.9.7以上版本,APR要求在1.2以上版本,用rpm -qa | grep openssl检查本机安装的依赖库版本是否大于或等于apr要求的版本。
  2、安装apr动态库
  tomcat-native 安装文件已经存在于 tomcat 中,位于 $CATALINA_HOME/bin 的文件 tomcat-native.tar.gz。 将文件 tomcat-native.tar.gz 拷贝出来后解压,配置,安装,动态库默认安装在/usr/local/apr/lib目录下
  [root@justin soft]# cd tomcat-native-1.2.17-src/native/
  [root@justin native]# ./configure
  ......
  configure: error: APR could not be located. Please use the --with-apr option.
  [root@justin native]# rpm -qa|grep -i apr
  apr-util-1.5.2-6.el7.x86_64
  apr-1.4.8-3.el7_4.1.x86_64
  [root@justin native]# yum install -y epel-release
  [root@justin native]# yum install apr-devel -y
  [root@justin native]# rpm -qa|grep -i apr
  apr-util-1.5.2-6.el7.x86_64
  apr-devel-1.4.8-3.el7_4.1.x86_64
  apr-1.4.8-3.el7_4.1.x86_64
  [root@justin native]# ./configure --with-apr=/usr/bin/apr-1-config --with-java-home=/usr/java/jdk1.8.0_161/ --with-ssl=/usr/bin/openssl --prefix=/app/tomcat/apache-tomcat-9.0.10/ --with-ssl=yes
  [root@justin native]# make && make install
  --with-apr=/usr/bin/apr-1-config   APR安装路径,通过rpm、yum安装,其默认路径为/usr/bin/apr-1-config
  --with-java-home=/usr/java/jdk1.8.0_161/    JDK安装路径
  --with-ssl=/usr/bin/openssl               OpenSSL的安装路径
  --prefix=/app/tomcat/apache-tomcat-9.0.10/          Tomcat的安装路径
  --with-ssl=yes
  安装完毕后,$CATALINA_HOME/lib下会新增libtcnative-1.so,安装最后会提示如下信息:
  Libraries have been installed in:
  /app/tomcat/apache-tomcat-9.0.10//lib
  如果不想启用SSL,将server.xml中apr模式下ssl关闭即可:
  3、配置APR本地库到系统共享库搜索路径中
  [root@justin native]# vim /etc/profile
  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/app/tomcat/apache-tomcat-9.0.10/lib
  export LD_RUN_PATH=$LD_RUN_PATH:/app/tomcat/apache-tomcat-9.0.10/lib
  拷贝/usr/local/apr/lib目录下所有动态库到/usr/lib或/lib系统共享库搜索目录下:
  copy /app/tomcat/apache-tomcat-9.0.10/lib/libtcnative* /usr/lib/
  建议在$TOMCAT_HOME/bin/catalina.sh文件虚拟机启动参数JAVA_OPTS中添加java.library.path参数,指定apr库的路径
  JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/app/tomcat/apache-tomcat-9.0.10/lib",或者新建setenv.sh
[root@justin bin]# cat setenv.sh
export CATALINA_OPTS="$CATALINA_OPTS -Djava.library.path=/app/tomcat/apache-tomcat-9.0.10/lib"
[root@justin bin]# pwd
/app/tomcat/apache-tomcat-9.0.10/bin
[root@justin bin]# chmod +x setenv.sh  配置 tomcat server.xml,将protocol从HTTP/1.1改成org.apache.coyote.http11.Http11AprProtocol,HTTP/1.1,则 tomcat 自动选择合适的协议。
  
  重启tomcat,从日志里可以看到当前的启动模式
  04-Sep-2018 20:24:47.602 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-apr-8080"]
  04-Sep-2018 20:24:47.619 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
  04-Sep-2018 20:24:47.626 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 1095 ms

  •   Windows下配置Tomcat的Apr

  1、配置Apr
  到官网 http://tomcat.apache.org/download-native.cgi下载Windows二进制版本apr,Apache提供了两个发布包。一个是默认的tomcat-native-1.1.33-win32-bin.zip,一个是支持通过OCSP 协议认证客户端SSL证书的tomcat-native-1.1.33-ocsp-win32-bin.zip。官方推荐使用tomcat-native-1.1.33-win32-bin.zip。tomcat-native-1.1.33-win32-bin.zip包中包含了32位系统、64位系统以及(x64) 以及 Intel Itanium 64位(i64)三个tcnative-1.dll文件。我们只需要将对应CPU类型的文件拷贝到$CATALINA_HOME/bin下(或者jdk的bin目录)即可完成APR安装。

  2、配置Tomcat的server.xml:
  将connector为port="HTTP/1.1"修改为“”
  




运维网声明 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-641987-1-1.html 上篇帖子: 在Java7与Tomcat8环境下使用WebSocket实现聊天的示例 下篇帖子: tomcat 优化
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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