Tomcat

tomcat简介

tomcat官网:http://tomcat.apache.org/php

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其余一些公司及我的共同开发而成。因为有了Sun 的参与和支持,最新的Servlet 和JSP 规范老是能在Tomcat 中获得体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。由于Tomcat 技术先进、性能稳定,并且免费,于是深受Java 爱好者的喜好并获得了部分软件开发商的承认,成为目前比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是不少的场合下被广泛使用,是开发和调试JSP 程序的首选。对于一个初学者来讲,能够这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,因此当你运行tomcat 时,它实际上做为一个与Apache 独立的进程单独运行的。
诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器同样,具备处理HTML页面的功能,另外它仍是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为9.0.html

tomcat就是传说中的中间件之一,tomcat自己是一个容器,专门用来运行java程序,java语言开发的网页.jsp就应该运行于tomcat中。而tomcat自己的运行也依赖于jdk环境java

LNMT部署

tomcat安装部署

java安装环境mysql

[root@localhost ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
查看安装的版本
[root@localhost ~]# java -version
openjdk version "1.8.0_201"
OpenJDK Runtime Environment (build 1.8.0_201-b09)
OpenJDK 64-Bit Server VM (build 25.201-b09, mixed mode)

tomcat安装部署nginx

[root@localhost ~]# cd /usr/src/
[root@localhost src]# ls
apache-tomcat-9.0.16.tar.gz  kernels       nginx-1.14.2.tar.gz
debug                        nginx-1.14.2
[root@localhost src]# tar xf apache-tomcat-9.0.16.tar.gz -C /usr/local/
[root@localhost src]# cd /usr/local/
[root@localhost local]# ls
apache-tomcat-9.0.16  etc    include  lib64    nginx  share
bin                   games  lib      libexec  sbin   src

将解压的tomcat移到新建的目录里:
[root@localhost src]# cd /usr/local/
[root@localhost local]# ls
apache-tomcat-9.0.16  etc    include  lib64    nginx  share
bin                   games  lib      libexec  sbin   src
[root@localhost local]# mkdir tomcat 
[root@localhost local]# ls
apache-tomcat-9.0.16  etc    include  lib64    nginx  share  tomcat
bin                   games  lib      libexec  sbin   src
[root@localhost local]# mv apache-tomcat-9.0.16/ tomcat/tom
[root@localhost local]# cd tomcat/
[root@localhost tomcat]# ls
tom
[root@localhost tomcat]# ll tom/
总用量 124
drwxr-x---. 2 root root  4096 3月   7 14:44 bin
-rw-r-----. 1 root root 19203 2月   5 00:32 BUILDING.txt
drwx------. 2 root root   238 2月   5 00:32 conf
-rw-r-----. 1 root root  6095 2月   5 00:32 CONTRIBUTING.md
drwxr-x---. 2 root root  4096 3月   7 14:44 lib
-rw-r-----. 1 root root 57092 2月   5 00:32 LICENSE
drwxr-x---. 2 root root     6 2月   5 00:30 logs
-rw-r-----. 1 root root  2333 2月   5 00:32 NOTICE
-rw-r-----. 1 root root  3255 2月   5 00:32 README.md
-rw-r-----. 1 root root  6854 2月   5 00:32 RELEASE-NOTES
-rw-r-----. 1 root root 16262 2月   5 00:32 RUNNING.txt
drwxr-x---. 2 root root    30 3月   7 14:44 temp
drwxr-x---. 7 root root    81 2月   5 00:31 webapps
drwxr-x---. 3 root root    22 3月   7 14:44 work
建立多实例cat
[root@localhost tomcat]# cp -a tom/* cat/
[root@localhost tomcat]# ls
cat  tom
[root@localhost tomcat]# cd cat/
[root@localhost cat]# ls
bin           CONTRIBUTING.md  logs       RELEASE-NOTES  webapps
BUILDING.txt  lib              NOTICE     RUNNING.txt    work
conf          LICENSE          README.md  temp



写一个java页面:
[root@localhost ~]# vim index.jsp
[root@localhost ~]# cat index.jsp
<html>
<head>
        <title>test page</title>
</head>
<body>
        <%
            out.println("Hellow World");
        %>
</body>
</html>

将这个文件移到webapps下新建的目录里
[root@localhost ~]# ls
anaconda-ks.cfg  index.jsp
[root@localhost ~]# cd /usr/local/tomcat/tom/webapps/
[root@localhost webapps]# mkdir gx
[root@localhost ~]# cp index.jsp /usr/local/tomcat/tom/webapps/gx/
[root@localhost ~]# cd /usr/local/tomcat/tom/webapps/gx/
[root@localhost gx]# ls
index.jsp

启动tomcat
[root@localhost ~]# /usr/local/tomcat/tom/bin/catalina.sh start
Using CATALINA_BASE:   /usr/local/tomcat/tom
Using CATALINA_HOME:   /usr/local/tomcat/tom
Using CATALINA_TMPDIR: /usr/local/tomcat/tom/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/tom/bin/bootstrap.jar:/usr/local/tomcat/tom/bin/tomcat-juli.jar
Tomcat started.

[root@localhost ~]# ss -antl
State      Recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN     0      128         *:80                      *:*                  
LISTEN     0      128         *:22                      *:*                  
LISTEN     0      100    127.0.0.1:25                      *:*                  
LISTEN     0      100        :::8080                   :::*                  
LISTEN     0      128        :::22                     :::*                  
LISTEN     0      100       ::1:25                     :::*                  
LISTEN     0      1        ::ffff:127.0.0.1:8005                   :::*                  
LISTEN     0      100        :::8009                   :::*

在这里插入图片描述
点击红箭头添加管理界面:
在这里插入图片描述在这里插入图片描述修改配置文件web

[root@localhost ~]# cd /usr/local/tomcat/tom/
[root@localhost tom]# ls
bin           CONTRIBUTING.md  logs       RELEASE-NOTES  webapps
BUILDING.txt  lib              NOTICE     RUNNING.txt    work
conf          LICENSE          README.md  temp
[root@localhost tom]# cd conf/
[root@localhost conf]# ls
Catalina             jaspic-providers.xml  tomcat-users.xml
catalina.policy      jaspic-providers.xsd  tomcat-users.xsd
catalina.properties  logging.properties    web.xml
context.xml          server.xml
[root@localhost conf]# vim tomcat-users.xml 
添加以下:
-->
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-status"/>
<role rolename="manager-jmx"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-status,manager-jmx"/>
</tomcat-users>

[root@localhost ~]# vim /usr/local/tomcat/tom/webapps/manager/META-INF/context.xml
添加192.168...:
    allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192\.168\.\d+\.\d" />

重启服务
[root@localhost ~]# /usr/local/tomcat/tom/bin/catalina.sh stop
[root@localhost ~]# /usr/local/tomcat/tom/bin/catalina.sh start

检测manager
在这里插入图片描述
在这里插入图片描述修改端口sql

[root@localhost ~]# cd /usr/local/tomcat/cat/conf/
[root@localhost conf]# ls
Catalina             jaspic-providers.xml  tomcat-users.xml
catalina.policy      jaspic-providers.xsd  tomcat-users.xsd
catalina.properties  logging.properties    web.xml
context.xml          server.xml
[root@localhost conf]# vim server.xml 
	<Server port="8015" shutdown="SHUTDOWN">
	<Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8445" />
	    <Connector port="8019" protocol="AJP/1.3" 			  redirectPort="8445" />

重启服务
[root@localhost conf]# /usr/local/tomcat/cat/bin/catalina.sh stop
[root@localhost conf]# /usr/local/tomcat/cat/bin/catalina.sh start
[root@localhost conf]# ss -antl
State      Recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN     0      128         *:22                      *:*                  
LISTEN     0      100    127.0.0.1:25                      *:*                  
LISTEN     0      1        ::ffff:127.0.0.1:8015                   :::*                  
LISTEN     0      100        :::8080                   :::*                  
LISTEN     0      100        :::8081                   :::*                  
LISTEN     0      100        :::8019                   :::*                  
LISTEN     0      128        :::22                     :::*                  
LISTEN     0      100       ::1:25                     :::*                  
LISTEN     0      1        ::ffff:127.0.0.1:8005                   :::*                  
LISTEN     0      100        :::8009                   :::*                  

建立Java页面
[root@localhost webapps]# mkdir hh
[root@localhost webapps]# cp -a gx/* hh/
[root@localhost webapps]# ls
docs  examples  gx  hh  host-manager  manager  ROOT
[root@localhost webapps]# rm -rf gx/
[root@localhost webapps]# ls
docs  examples  hh  host-manager  manager  ROOT
[root@localhost webapps]# cd hh/
[root@localhost hh]# ls
index.jsp
[root@localhost hh]# cat
cat        catchsegv  catman     
[root@localhost hh]# cat index.jsp 
<html>
<head>
        <title>test page</title>
</head>
<body>
        <%
            out.println("Hellow World");
        %>
</body>
</html>

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

nginx安装

请看:https://mp.csdn.net/mdeditor/88032695#Nginx_733apache

mysql安装

请看:https://mp.csdn.net/mdeditor/87786704#mysql_112bootstrap

[root@localhost ~]# ss -antl
State      Recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN     0      128         *:80                      *:*                  
LISTEN     0      128         *:22                      *:*                  
LISTEN     0      100    127.0.0.1:25                      *:*                  
LISTEN     0      1        ::ffff:127.0.0.1:8015                   :::*                  
LISTEN     0      100        :::8080                   :::*                  
LISTEN     0      100        :::8081                   :::*                  
LISTEN     0      100        :::8019                   :::*                  
LISTEN     0      128        :::22                     :::*                  
LISTEN     0      100       ::1:25                     :::*                  
LISTEN     0      1        ::ffff:127.0.0.1:8005                   :::*                  
LISTEN     0      100        :::8009                   :::*                  
LISTEN     0      80         :::3306                   :::*
nginx轮询
将两个存放index.jsp目录名称改成同样
[root@localhost tom]# cd webapps/
[root@localhost webapps]# ls
docs  examples  gx  host-manager  manager  ROOT
[root@localhost webapps]# mv gx hh
重启nginx和tomcat

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
#gzip  on;
    upstream gx.com {
        server 192.168.72.31:8080;
        server 192.168.72.31:8081;
    }

    server {
        listen       80;
        server_name  www.gx.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.jsp index.html index.htm;
            proxy_pass   http://gx.com;
        }
 #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        location ~ \.jsp$ {
            proxy_pass   http://gx.com;
        }

在这里插入图片描述在这里插入图片描述