Tomcat的简单入门

Tomcat介绍

Tomcat 是什么?

Tomcat 是由 Apache 开发的一个 Servlet 容器,实现了对 Servlet 和 JSP 的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。
由于 Tomcat 本身也内含了一个 HTTP 服务器,它也可以被视作一个单独的 Web 服务器。但是,不能将 Tomcat 和 Apache HTTP 服务器混淆,Apache HTTP 服务器是一个用 C 语言实现的 HTTP Web 服务器;这两个 HTTP web server 不是捆绑在一起的。Tomcat 包含了一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。

  • jdk:工具箱子
    java解释器
    打包 war,jar
    • java[一套生态]类库
      circle 点 半径 函数
  • jdk –> openjdk(redhat已经使用移除了jdk)

简单的安装部署Tomcat服务:

yum –y install  java-1.8.0-openjdk java-1.8.0-openjdk-headless 
java –version        #查看当前的版本
mv apache-tomcat-8.0.30  /usr/local/tomcat 
ls /usr/local/tomcat
    bin/      #主程序目录                                     
    lib/      #库文件目录                                     
    logs/     #日志目录                 
    temp/     #临时目录                             
    work/     #自动编译目录jsp代码转换servlet                       
    conf/     #配置文件目录
    webapps/  #页面目录    
错误问题:
    端口:8005 8009 8080 没有启动就慢慢等待

访问当前的页面:
    IP:8080   #出现Tomcat就OK
写配置文件测试:        
    <html>
    <body>
    <center>
    Now time is: <%=new java.util.Date()%>     #显示当前的时间,调用java库
    </center>
    </body>
    </html>

linux中的随机数据的区别:(当你的8005端口启动很慢的时候)
/dev/random   
/dev/urandom    #比上一个效率更加高效
为了提高运行的效果我们可以这么做:
mv /dev/random /dev/random.back
ln -s /dev/urandom /dev/random  #这一更高效率

使用Tomcat部署虚拟主机:

实现内容:

  1. 实现两个基于域名的虚拟主机,域名分别为:www.aa.com和 www.bb.com
  2. 使用www.aa.com域名访问的页面根路径为/usr/local/tomcat/aa/ROOT
  3. 使用www.bb.com域名访问的页面根路径为/usr/local/tomcat/bb/base
  4. 访问www.aa.com/test时,页面自动跳转到/var/www/html目录下的页面
  5. 访问页面时支持SSL加密通讯
  6. 私钥、证书存储路径为/usr/local/tomcat/conf/cert
  7. 每个虚拟主机都拥有独立的访问日志文件
  8. 配置tomcat集群环境

案例实现一:

vim /usr/local/tomc/conf/server.xml 

    <Host name="www.aa.com" appBase="aa" unpackWARS="true" autoDeploy="true">
    </Host>
    <Host name="www.bb.com" appBase="bb" unpackWARS="true" autoDeploy="true">
    </Host>

案例实现二:

    mkdir /usr/local/tomc/bb/ROOT
    echo "This is BBBB">/usr/local/tomc/bb/ROOT/index.html
    mkdir /usr/local/tomc/aa/ROOT
    echo "This is AAAA">/usr/local/tomc/bb/ROOT/index.html
    重起服务
    firefox http://www.aa.com/test
    firefox http://www.bb.com/test

案例实现三:

vim /usr/local/tomc/conf/server.xml
    <Host name="www.aa.com" appBase="aa" unpackWARS="true" autoDeploy="true">
    </Host>
    <Host name="www.bb.com" appBase="bb" unpackWARS="true" autoDeploy="true">
    <Context path="" docBase="base" reloadable="true"/>  
    </Host>
mkdir /usr/local/tomc/bb/Base
echo "This is Base">/usr/local/tomc/bb/Base/index.html
重起服务
firefox http://www.bb.com/test

案例实现四:

    <Host name="www.aa.com" appBase="aa" unpackWARS="true" autoDeploy="true">
  <Contest path="/test" docBase="/var/www/html">
    </Host>
    <Host name="www.bb.com" appBase="bb" unpackWARS="true" autoDeploy="true">
  <Context path="" docBase="base" reloadable="true"/>  
    </Host>
echo "This is /var/www/html">/var/www/html/index.html
重起服务
firefox http://www.aa.com/test

案例实现五、六:

1.配置SSL安全证书
keytool -genkeypair -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/keystore
2.如果忘记就使用:
    keytool --help   #查看帮助
3.修改配置文件:
        <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
  maxThreads="150" SSLEnabled="true" scheme="https" secure="true" 
  clientAuth="false" sslProtocol="TLS" keystoreFile="/usr/local/tomc/keystore"
  keystorePass="123456"/>
  1. 重起服务
  2. 凡事对8443端口进行访问的都是加密的端口
  3. firefox https://www.aa.com:8443/test

案例实现七:

vim /usr/local/tomc/conf/server.xml

<Host name="www.aa.com" appBase="aa" unpackWARS="true" autoDeploy="true">
<Context path="/test" docBase="/var/www/html/" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix=" aa_access" suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>
<Host name="www.bb.com" appBase="bb" unpackWARS="true" autoDeploy="true">
<Context path="" docBase="base" />
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix=" bb_access" suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host>

1. 重起服务
2. ls /usr/local/tomcat/logs/

案例实现八:

序列号 | 内容
———— | ————-
项目|Nginx + 2台Tomcat 实现upstream反向代理
需求|LNMP主机一台,源码编译的时候开启–with-upstream。nginx版本高于1.0.92.两台Tomcat机器。openjdk+Tomcat,配置好测试网页
修改配置文件:

      vim /usr/local/nginx/conf/nginx.conf
    http{
        upstream toms {
        server tomcat的IP地址:8080;
        server tomcat的IP地址:8080;
        }
        server  {
        listen 80;
        server_name localhost;
        location / {
            proxy_pass  http://toms;
        }
        }
    } 
    nginx -s reload

配置Tomcat主机:

yum –y install  java-1.8.0-openjdk     
yum –y install java-1.8.0-openjdk-headless 
tar -xzf  apache-tomcat-8.0.30.tar.gz
mv apache-tomcat-8.0.30  /usr/local/tomcat

配置测试网页:

实现案例一来配置

测试结果:

访问Nginx的IP查看是否跳转

发表评论

电子邮件地址不会被公开。 必填项已用*标注