tomcat部署及优化

Tomcat核心组件
在这里插入图片描述
Tomcat处理请求过程
在这里插入图片描述
server:tomcat实例 注意:一个JVM(Java虚拟机)只能有一个tomcat实例

service:接收请求到处理请求的所有组件的集合

service组件分为connector(连接器)和container(容器)两部分

connector负责接受用户请求和消息报文的,将消息报文发往container

engine:是一个容器,是用来将用户的请求发往它下面的虚拟主机的,engine是加载虚拟主机的一个容器

host:是虚拟主机的容器

content:管理servlet

servlet:是支持Java语言的组件

Tomcat部署步骤
将需要配置的软件包上传到服务器上,配置Java环境

tar zxf jdk-8u91-linux-x64.tar.gz -C /opt
mv /opt/jdk1.8.0_91/ /usr/local/java
cd /etc/profile.d
vim java.sh
export JAVA_HOME=/usr/local/java            #设置Java根目录
export PATH=$PATH:$JAVA_HOME/bin        #在PATH环境变量中添加Java根目录下的bin子目录
source java.sh             #Java.sh脚本导入到环境变量,使其生效
java -version             #查看版本

写个Java小程序,测试是否可以正常工作
vi a.java
public class a {
        public static void main (String[] args) {
                System.out.println("你好,世界!!!");
        }
}
javac a.java          #执行,编译成功后生成可执行文件
java a                   #测试,原样输出则为成功
你好,世界!!!

安装tomcattar

zxf apache-tomcat-8.5.16.tar.gz -C /opt
mv apache-tomcat-8.5.16/ /usr/local/tomcat8
/usr/local/tomcat8/bin/startup.sh             #启动tomcat
netstat -anpt | grep 8080                         #查看端口开启状态
tcp6       0      0 :::8080                 :::*                    LI      53903/java                                             #端口开启成功状态
/usr/local/tomcat8/bin/shutdown.sh           #关闭tomcat
ln -s /usr/local/tomcat8/bin/startup.sh /usr/bin/tomcatup      #创建软链接,优化开启命令
ln -s /usr/local/tomcat8/bin/shutdown.sh /usr/bin/tomcatdown   #创建软链接,优化关闭命令

加入测试页面,编辑配置文件并测试
mkdir -p /web/webapp1
vi /web/webapp1/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test1 page</title></head>
<body><% out.println("welcome to test site");%>
<div>动态页面</div>
<img src="a.jpg" />
</body>
</html>
#这个jsp中引入的page标签
#language表示语言是Java
#import类似于Java类中的import就是把包导入进来,这样在jsp才可以调用包中的类
#pageEncoding表示页面的编码格式

tomcatdown
vi /usr/local/tomcat8/conf/server.xml
<Host name="localhost"  appBase="webapps"
           unpackWARs="true" autoDeploy="true">
      <Context docBase="/web/webapp1" path="" reloadable="false"></Context>   #添加
tomcatup
netstat -anpt | grep 8080

再配置一台tomcat并测试

tar zxf jdk-8u91-linux-x64.tar.gz -C /opt
mv /opt/jdk1.8.0_91/ /usr/local/java
cd /etc/profile.d
vim java.sh
export JAVA_HOME=/usr/local/java            #设置Java根目录
export PATH=$PATH:$JAVA_HOME/bin        #在PATH环境变量中添加Java根目录下的bin子目录
source java.sh             #Java.sh脚本导入到环境变量,使其生效
java -version             #查看版本
vi a.java
public class a {
        public static void main (String[] args) {
                System.out.println("你好,世界!!!");
        }
}
javac a.java          #执行,编译成功后生成可执行文件
java a                   #测试,原样输出则为成功
你好,世界!!!
tar zxf apache-tomcat-8.5.16.tar.gz -C /opt
mv apache-tomcat-8.5.16/ /usr/local/tomcat8
/usr/local/tomcat8/bin/startup.sh             #启动tomcat
netstat -anpt | grep 8080                         #查看端口开启状态
tcp6       0      0 :::8080                 :::*                    LI      53903/java                                             #端口开启成功状态
/usr/local/tomcat8/bin/shutdown.sh           #关闭tomcat
ln -s /usr/local/tomcat8/bin/startup.sh /usr/bin/tomcatup      #创建软链接,优化开启命令
ln -s /usr/local/tomcat8/bin/shutdown.sh /usr/bin/tomcatdown   #创建软链接,优化关闭命令
mkdir -p /web/webapp2
vi /web/webapp2/index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test2 page</title></head>
<body><% out.println("welcome to test site");%>
<div>动态页面</div>
<img src="b.jpg" />
</body>
</html>
#这个jsp中引入的page标签
#language表示语言是Java
#import类似于Java类中的import就是把包导入进来,这样在jsp才可以调用包中的类
#pageEncoding表示页面的编码格式
tomcatdown
vi /usr/local/tomcat8/conf/server.xml
<Host name="localhost"  appBase="webapps"
          unpackWARs="true" autoDeploy="true">
     <Context docBase="/web/webapp2" path="" reloadable="false"></Context>   #添加
tomcatup
netstat -anpt | grep 8080

tomcat虚拟主机的设置(基于域名,基于端口)

基于域名

vi /usr/local/tomcat8/conf/server.xml
 <Host name="www.aaa.com"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
      <Context docBase="/web/webapp1" path="" reloadable="false"></Context>
省略部分内容
 </Host>
      <Host name="www.bbb.com"  appBase="webapps"   #添加
            unpackWARs="true" autoDeploy="true">             #添加
      <Context docBase="/web/webapp1" path=""
reloadable="false"></Context>                                        #添加
      </Host>                                                   #添加
tomcatdown
tomcatup

基于端口

 vi /usr/local/tomcat8/conf/server.xml
 <Service name="Catalina">
      <Connector port="8081" protocol="HTTP/1.1"
                      connectionTimeout="20000"
                      redirectPort="8443" />
             <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
             <Host name="www.aaa.com" appBase="webapps"
             unpackWARs="true" autoDeploy="true">
      <Context docBase="/web/webapp1" path="" reloadable="false"></Context>
           </Host>
           </Engine>
</Service>                   #再/Server前面添加
</Server>
tomcatdown
tomcatup
netstat -anpt | grep 8080
netstat -anpt | grep 8081

再配置一台Nginx的服务器做动静分离

yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ 
tar zxf nginx-1.6.0.tar.gz -C /opt
cd /opt/nginx-1.6.0/
/configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-file-aio \                                  #同时提交多个io请求给内核
--with-http_stub_status_module \        #状态统计
--with-http_gzip_static_module \       
--with-http_flv_module \                  #支持对FLV(flash)文件的拖动播放
--with-http_ssl_module                    #支持安全证书 
make && make install
useradd -M -s /sbin/nologin nginx
vim /usr/local/nginx/conf/nginx.conf
upstream tomcat_server {
              server 20.0.0.10:8080 weight=1;
                server 20.0.0.20:8080 weight=1;
            }                   #添加
   server {
         listen       80;
       server_name  localhost;

         #charset koi8-r;
 
         #access_log  logs/host.access.log  main;

        location / {
             root   html;
          index  index.html index.htm;
         }
         location ~ \.jsp$ {                         #添加
                 proxy_pass http://tomcat_server;
          }37 nginx -t
killall -3 nginx
nginx
netstat -anpt | grep nginx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值