zoukankan      html  css  js  c++  java
  • Tomcat安装

    官网下载文件

    https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.54/bin/

    文中使用apache-tomcat-7.0.54.tar.gz

    解压缩

        # mkdir /usr/local/tomcat
        # cd /usr/local/tomcat
        # tar -zxvf apache-tomcat-7.0.54.tar.gz
        生成链接以便版本升级
        # ln -s apache-tomcat-7.0.54 server

    启动Tomcat

        # cd /usr/local/tomcat/apache-tomcat-7.0/bin
        # ./startup.sh
        Using CATALINA_BASE: /usr/local/tomcat/server
        Using CATALINA_HOME: /usr/local/tomcat/server
        Using CATALINA_TEMDIR: /usr/local/tomcat/server/temp
        Using JRE_HOME: /usr/java/default
        Using CLASS_PATH: /usr/local/tomcat/server/bin/bootstrap.jar:/usr/local/tomcat/server/bin/tomcat-juli.jar
        Tomcat started.

       #显示Tomcat started并不代表着启动成功,一定要测试是否启动成功
       #ps -ef|grep java   #用来查看Tomcat是否启动成功,如果没有成功,到log/catalina.out里面看日志.(例如找不到java环境路径之类的)

    开启Tomcat端口

    方案一:    
    iptables命令开端口
        # iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 
    # service iptables save
    # service iptables restart

    方案二: 直接修改文件
    /etc/sysconfig/iptables
    # vi
    /etc/sysconfig/iptables -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT # service iptables restart
    Linux下开启/关闭防火墙命令
    #1) 永久性生效,重启后不会复原
    #开启: chkconfig iptables on
    #关闭: chkconfig iptables off

    #2) 即时生效,重启后复原
    #开启: service iptables start
    #关闭: service iptables stop

    测试Tomcat是否成功

    linux查看端口是否打开
        netstat -an | grep 8080    
       curl ip:port
    telnet或者curl时,服务一定要处于监听状态!!!即必须启动Tomcat.
       Tomcat启动失败直接导致telnet端口不通,所以一定要先确保tomcat是否启动成功
    浏览器查看
        在浏览器输入: http://192.168.16.133:8080
        如在本机可以输入: http://localhost:8080
        出现tomcat的页面表示安装成功.

    关闭Tomcat 停止Tomcat # ./shutdown.sh 查看Tomcat是否以关闭 ps -ef|grep java #查看是否关闭   kill -9 pid #强制关闭,不加-9为正常关闭

    CentOS7以上开端口需要安装service iptables,详细看这里

    systemctl stop firewalld     #关闭高级firewalld工具
    systemctl mask firewalld  
    
    yum install iptables-services    #安装iptables-services
    
    systemctl enable iptables    #设置开机启动
    systemctl stop iptables  
    systemctl start iptables  
    systemctl restart iptables  
    systemctl reload iptables  
    
    service iptables save  
    #开放端口 -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

    报错

    apache-tomcat-8.5.57/bin/catalina.sh: line 505: /usr/java/jdk1.8.0_251/jre/bin/java: No such file or directory

    出现这个说明jdk的配置环境变量出错了,检查下/usr/java/jdk1.8.0_251/是不是在/etc/profile中配置正确。

    apache-tomcat-8.5.57/bin/catalina.sh: /usr/java/jdk1.8.0_251/jre/bin/java: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory

    sudo yum install glibc.i686    #安装glibc底层包

    配置web管理帐号

    修改文件conf/tomcat-users.xml,在<tomcat-users>元素中添加帐号密码,需要指定角色.
         # vi /usr/local/tomcat/server/conf/tomcat-users.xml
         <tomcat-users>
           <user name="admin" password="admin" roles="admin-gui,manager-gui" />
         </tomcat-users>

    配置web访问端口

    可以修改conf目录下的文件server.xml,修改Connector元素(Tomcat的默认端口是8080),需要重新启动Tomcat服务生效.

     # vi /usr/local/tomcat/server/conf/server.xml
       <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 

    配置AJP端口

    AJP(Apache JServ Protocol)是定向包协议。因为性能原因,使用二进制格式来传输可读性文本。WEB服务器通过 TCP连接 和SERVLET容器连接。WEB服务器通过TCP连接和SERVLET容器连接。

    tomcat最主要的功能是提供Servlet/JSP容器,尽管它也可以作为独立的Java Web服务器,它在对静态资源(如HTML文件或图像文件)的处理速度,以及提供的Web服务器管理功能方面都不如其他专业的HTTP服务器,如IIS和Apache服务器。因此在实际应用中,常常把Tomcat与其他HTTP服务器集成。对于不支持Servlet/JSP的HTTP服务器,可以通过Tomcat服务器来运行Servlet/JSP组件。

    JK插件

        Tomcat提供了专门的JK插件来负责Tomcat和HTTP服务器的通信。把JK插件安置在HTTP服务器上。当HTTP服务器接收到客户请求时,它会通过JK插件来过滤URL,JK插件根据预先配置好的URL映射信息,决定是否要把客户请求转发给Tomcat服务器处理。

    配置JMX端口

    JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。

    JMX最常见的场景是监控Java程序的基本信息和运行情况,任何Java程序都可以开启JMX,然后使用JConsole或Visual VM进行预览。

    多开Tomcat

    <!--这里的port不能与第一个Tomcat中server.xml中配置相同,默认为8005-->
    <Server port="8006" shutdown="SHUTDOWN">
     
    <!--这里的port修改成8081,第一个Tomcat默认的是8080-->
    <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
    <!--这里的port修改成8010,第一个Tomcat默认的是8009,这是tomcat自带的第二个连接器,它监听8009端口,负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器。--> <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

    Https设置

    https://www.cnblogs.com/aeolian/p/11906695.html

    Tomcat的目录结构

       ·bin     //存放Tomcat的命令脚本文件
       ·conf    //存放Tomcat服务器的各种配置文件,最主要是server.xml
       ·lib     //存放Tomcat服务器支撑jar包
       ·logs    //存放日志文件
       ·temp    //存放临时文件
       ·webapps //web应用所在目录,外界访问web资源的存放目录
       ·work    //Tomcat的工作目录

    web应用的目录结构

       webapp                           -- web应用所在目录
         |--- html, jsp, css, js文件等  -- 这些文件一般在web应用根目录下,根目录下的文件外界可以直接访问.
         |--- WEB-INF 目录              -- java类、jar包、web配置文件存在这个目录下,外界无法直接访问,由web服务器负责调用.
               |--- classes 目录        -- java类
               |--- lib 目录            -- java类运行所需要的jar包
               |--- web.xml 文件        -- web应用的配置文件

    9.虚拟主机的配置
       指定虚拟主机名,修改conf/server.xml,添加<host>元素.
       <host name="hostname.domainname" appBase="/webapps">
         <Context path="/webapp" docBase="/webapps/webapp"/>
       </host>
       例:
       <host name="www.163.com" appBase="/webapps">
       </host>
       <host name="mail.163.com" appBase="/mailapps">
       </host>
       须设置DNS解析(host文件或DNS系统).

    10.web应用和虚拟目录的映射.
       可以修改xml配置文件的<Context>元素来设置web应用和虚拟目录的映射.
       ·conf/server.xml         //在<host>元素下添加<Context path="/webname" docBase="/webappdir"/>,需要重新启动Tomcat服务生效,不建议使用.
       ·conf/context.xml        //添加<Context>元素所有web应用有效.
       ·conf/[enginename]/[hostname]/context.xml.default  //[enginename]一般是Catalina,主机[hostname]的所有web应用有效.
       ·conf/[enginename]/[hostname]/   //在目录下任意建一个文件(扩展名xml),文件名即为虚拟目录名.多级目录使用#分割. <Context docBase="/webappdir"/>
                                         //缺省值web应用目录可以定义为ROOT.xml,添加<Context docBase="/webappdir"/>,需重新启动Tomcat服务器.
       ·META-INF/context.xml    //
       可以将web应用放在webapps目录下让Tomcat服务器自动映射,适用开发环境,实际运用环境中不用自动映射。
       如没有修改配置文件,web应用目录为ROOT时则为默认web应用。

    11.web应用首页(welcome file)的配置
       修改web应用的配置文件: [webapp]/WEB-INF/web.xml
        <welcome-file-list>
           <welcome-file>index.html</welcome-file>
           <welcome-file>index.htm</welcome-file>
           <welcome-file>index.jsp</welcome-file>
        </welcome-file-list>
    12.tomcat的理论并发值为500(不调用controller等业务,只有请求),实际上并发量300左右

    Windows

    官网下载解压版

    注册服务

    service.bat install tomcat7

    删除服务

    service.bat install tomcat7    //用tomcat自己的命令
    sc delete tomcat7   //或者用sc命令

    Tomcat启动后get接收的参数乱码

    在Connector中加入URIEncoding="UTF-8"即可。

    <Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8" 
                   connectionTimeout="20000"
                   redirectPort="8443" />

    bat启动控制台显示乱码

    打开tomcat文件夹到conf目录下找到logging.properties文件

    找到 java.util.logging.ConsoleHandler.encoding = utf-8

    更改为 java.util.logging.ConsoleHandler.encoding = GBK

    可能遇到情况

    若双击start.bat运行不了,查看是否之前安装过安装版。若安装过需要卸载程序、删除服务、删除环境变量(CATALINA_HOME以及path中的部分)、删除注册表

    注意不要觉得修改了正确的环境变量路径就好了,一定要把安装版的所有东西删除干净。

    Tomcat删除注册表

    1. 运行regedit ,回车。

    2. 然后按crtl+f键,在对话框里输入tomcat(或者tomcat的路径),查询。

    3. 找到正确的tomcat相关均删除。

    4. F3按一下就是继续查找。查找完了后重启电脑即可。(服务器的话不好重启可以用安装版)

    5. 或者重新安装一次,装好后再卸载。不过建议用解压版的。

  • 相关阅读:
    网站性能之meta标签
    布局中的css要素
    MVC中配置OutputCache的VaryByParam参数无效的问题
    C# 4.0 类与继承
    想要充值手机话费吗???亿矿网找错误送话费啦
    .Net Core 依赖注入
    Hadoop实战内容摘记
    Thead,TheadPool,Task,async,await 的前世今生
    VS Code 中 使用 Git版本控制工具
    dotnet 命令大全-理论版
  • 原文地址:https://www.cnblogs.com/aeolian/p/7762000.html
Copyright © 2011-2022 走看看