https://hub.docker.com/r/_/tomcat/   


# run

docker run -d  -p 8080:8080  --name tomcat --restart=always  -v /data/file/logs/tomcat/latest:/usr/local/tomcat/logs  -v  /data/file:/data/file   tomcat:latest


应用: basic -> 添加服务: tomcat

镜像: tomcat:latest       or    34.domsn.com:5000/http:tomcat-20191101


卷:

/data/file:/data/file

/etc/localtime:/etc/localtime:ro

/data/site/tomcat/latest:/usr/local/tomcat/webapps

/data/file/logs/tomcat/latest:/usr/local/tomcat/logs

/data/docker/nginx/tomcat/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml:ro

/data/docker/nginx/tomcat/server.xml:/usr/local/tomcat/conf/server.xml:ro



说明: 

java -version                    # 查看JDK版本

ps -ef|grep java               # 查看Tomcat是否以关闭

cd  bin && ./version.sh   # 查看Tomcat版本

cd  bin && ./shutdown.sh   # 关闭

cd  bin && ./startup.sh       # 启动


1. nginx-代理访问

server {
  listen 80;
  server_name dubbo.daily.bydeal.com;
  access_log off;
  location / {
     proxy_pass  http://127.0.0.1:7001/bydeal-gateway/;
     proxy_cookie_path  /bydeal-gateway/;
  }
}


2. tomcat

tomcat解压之后webapps目录下自带几个webapp:

* docs文档:这是一个静态页面集,不用启动tomcat也可以阅读

* examples样例

* hostmanager主机管理器

* manager应用管理器

* ROOT根目录:这个app可以访问以上四个app,这个app是默认的app,这个app十分简单,只有一些资源文件和一个jsp页面。


3. 安装完tomcat之后,在bin目录下启动startup.bat。在浏览器地址栏输入localhost:8080


4. 修改,添加端口号

tomcat默认端口号为8080,http服务的默认端口号为80。在浏览器地址栏输入ip或者域名之后,如果不输入端口号,默认就是80端口。修改tomcat目录下的conf/server.xml文件,service标签下的Connector可以有多个,再添加一个80端口的连接就可以了.

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
  
<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />


5. 设置默认应用

添加Context标签并设置docBase,需要注意在java中路径分隔符一律按照'/'来总是正确的。

<Host name="localhost"  appBase="webapps"  
           unpackWARs="true" autoDeploy="true">  
  
       <!-- SingleSignOn valve, share authentication between web applications  
            Documentation at: /docs/config/valve.html -->  
       <!-- 
       <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> 
       -->  
  
       <!-- Access log processes all example.  
            Documentation at: /docs/config/valve.html  
            Note: The pattern used is equivalent to using pattern="common" -->  
       <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="" docBase="D:\apache\apache-tomcat-7.0.26\webapps\OnlineExam">  
            <WatchedResource>WEB-INF/web.xml</WatchedResource>  
    </Context>  
 
     </Host>

实际上,上面介绍的这种方法乃是下策,上策是把webapp的名称直接改为ROOT,tomcat默认ROOT目录是默认webapp.


reloadable="false"的作用为:

reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。

在开发阶段将reloadable属性设为true,有助于调试servlet和其它的class文件,但这样用加重服务器运行负荷,建议在Web应用的发存阶段将reloadable设为false。


------------------------

vi   /data/docker/nginx/tomcat/tomcat-users.xml

<!--

  <role rolename="tomcat"/>

  <role rolename="role1"/>

  <role rolename="manager-gui" />

  <role rolename="manager-script" />

  <role rolename="manager-status" />

  <user username="tomcat" password="tomcat" roles="tomcat"/>

  <user username="both" password="tomcat" roles="tomcat,role1"/>

  <user username="role1" password="tomcat" roles="role1"/>

  <user username="ihunter" password="wdq54321" roles="manager-gui,manager-script,manager-status,tomcat,role1" />

-->

-------------------------

vi  /data/docker/nginx/tomcat/server.xml

1)

      <Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications

             Documentation at: /docs/config/valve.html -->

        <!--

        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />

        -->

        <!-- Access log processes all example.

             Documentation at: /docs/config/valve.html

             Note: The pattern used is equivalent to using pattern="common" -->

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

               prefix="localhost_access_log" suffix=".txt"

               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>

2)

      <Host name="localhost" appBase="webapps"

                  unpackWARs="true" autoDeploy="false" deployOnStartup="false" reloadable="true">

                <Context path="${context.path}" docBase="ROOT"/>

                <Valve className="org.apache.catalina.valves.RemoteIpValve" internalProxies=".*"

                       protocolHeader="x-forwarded-proto"/>

      </Host>


签名:这个人很懒,什么也没有留下!
最新回复 (0)
返回