tomcat

1.tomcat简介

Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。

Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。

Tomcat和Nginx、Apache(httpd)、lighttpd等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Nginx/Apache服务器。

对比php软件,区别?

目前Tomcat最新版本为9.0。Java容器还有resin、weblogic等。

2.tomcat 安装

2.1 准备

[root@nis ~]# cd /application/tools/
[root@nis tools]# rz
# apache-tomcat-8.0.27.tar.gz    jdk-8u60-linux-x64.tar.gz   apache-maven-3.3.9-bin.tar.gz
[root@nis tools]# ls
apache-maven-3.3.9-bin.tar.gz  CentOS7_2.iso
apache-tomcat-8.0.27.tar.gz    jdk-8u60-linux-x64.tar.gz
[root@nis tools]# tar xf jdk-8u60-linux-x64.tar.gz  -C /application/
[root@nis tools]# ln -s /application/jdk1.8.0_60  /application/jdk
[root@nis tools]# sed -i.ori '$a export JAVA_HOME=/application/jdk\nexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH\nexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar' /etc/profile
[root@nis tools]# source /etc/profile
[root@nis tools]# java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

2.2 安装tomcat

[root@nis tools]# tar xf apache-tomcat-8.0.27.tar.gz  -C /application/
[root@nis tools]# ln -s /application/apache-tomcat-8.0.27  /application/tomcat
[root@nis tools]# echo 'export TOMCAT_HOME=/application/tomcat'>>/etc/profile
[root@nis tools]# source /etc/profile
[root@nis tools]# chown -R root.root /application/jdk/ /application/tomcat/
[root@nis tools]# tail -4 /etc/profile
export JAVA_HOME=/application/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
export TOMCAT_HOME=/application/tomcat

2.3 目录介绍

[root@tomcat ~]# cd /application/tomcat/
[root@tomcat tomcat]# tree -L 1
.
├── bin         #→用以启动、关闭Tomcat或者其它功能的脚本(.bat文件和.sh文件)
├── conf        #→用以配置Tomcat的XML及DTD文件
├── lib         #→存放web应用能访问的JAR包
├── LICENSE
├── logs        #→Catalina和其它Web应用程序的日志文件
├── NOTICE
├── RELEASE-NOTES
├── RUNNING.txt
├── temp        #→临时文件
├── webapps     #→Web应用程序根目录
└── work        #→用以产生有JSP编译出的Servlet的.java和.class文件
7 directories, 4 files
[root@tomcat tomcat]# cd webapps/
[root@tomcat webapps]# ll
total 20
drwxr-xr-x 14 root root 4096 Oct  5 12:09 docs     #→tomcat帮助文档
drwxr-xr-x  6 root root 4096 Oct  5 12:09 examples #→web应用实例
drwxr-xr-x  5 root root 4096 Oct  5 12:09 host-manager #→管理
drwxr-xr-x  5 root root 4096 Oct  5 12:09 manager  #→管理
drwxr-xr-x  3 root root 4096 Oct  5 12:09 ROOT     #→默认网站根目录

2.4 启动tomcat

#→启动程序/application/tomcat/bin/startup.sh
#→关闭程序/application/tomcat/bin/shutdown.sh
[root@nis bin]# /application/tomcat/bin/startup.sh 
Using CATALINA_BASE:   /application/tomcat
Using CATALINA_HOME:   /application/tomcat
Using CATALINA_TMPDIR: /application/tomcat/temp
Using JRE_HOME:        /application/jdk
Using CLASSPATH:       /application/tomcat/bin/bootstrap.jar:/application/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@nis bin]# netstat -tunlp|grep java
tcp6       0      0 :::8009                 :::*                    LISTEN      13394/java          
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      13394/java   
找不到8080端口
[root@nis bin]# systemctl is-enabled firewalld.service disabled
[root@nis bin]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

http://10.0.0.201:8080/        #网页版

2.5 配置文件

[root@nis conf]# tail -4 tomcat-users.xml 
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>
</tomcat-users>
[root@nis conf]# /application/tomcat/bin/shutdown.sh
Using CATALINA_BASE:   /application/tomcat
Using CATALINA_HOME:   /application/tomcat
Using CATALINA_TMPDIR: /application/tomcat/temp
Using JRE_HOME:        /application/jdk
Using CLASSPATH:       /application/tomcat/bin/bootstrap.jar:/application/tomcat/bin/tomcat-juli.jar
[root@nis conf]# /application/tomcat/bin/startup.sh
Using CATALINA_BASE:   /application/tomcat
Using CATALINA_HOME:   /application/tomcat
Using CATALINA_TMPDIR: /application/tomcat/temp
Using JRE_HOME:        /application/jdk
Using CLASSPATH:       /application/tomcat/bin/bootstrap.jar:/application/tomcat/bin/tomcat-juli.jar
Tomcat started.

2.6 web站点部署

[root@nis conf]# cd /application/tomcat/webapps/
[root@nis webapps]# cd ROOT/
[root@nis ROOT]# ls
asf-logo.png       bg-nav.png    RELEASE-NOTES.txt  tomcat.svg
asf-logo-wide.gif  bg-upper.png  tomcat.css         WEB-INF
bg-button.png      build.xml     tomcat.gif
bg-middle.png      favicon.ico   tomcat.png
bg-nav-item.png    index.jsp     tomcat-power.gif
[root@nis ROOT]# rm -rf *
[root@nis ROOT]# ls
[root@nis ROOT]# rz -E
rz waiting to receive.
[root@nis ROOT]# ls
jpress-web-newest.war
[root@nis ROOT]# jar xf jpress-web-newest.war   
[root@nis ROOT]# ls
jpress-web-newest.war  robots.txt  templates
META-INF               static      WEB-INF

2.6.1 创建数据库

db01上执行
[root@db01 ~]# mysql -uroot -poldboy123
mysql> create database jpress DEFAULT CHARACTER SET utf8;
Query OK, 1 row affected (0.07 sec)

mysql> grant all on jpress.* to jpress@'172.16.1.%' identified by '123456';
Query OK, 0 rows affected (0.02 sec)

mysql> ^DBye

在浏览器上登录配置

http://10.0.0.201:8080/admin/index


3 tomcat多实例

[root@nis ~]# cd /application/tomcat/webapps/ROOT/
[root@oldboyedu ROOT]# ll
总用量 20316
-rw-r--r--  1 root root 20797013 8月   2 19:19 jpress-web-newest.war
drwxr-xr-x  3 root root       36 9月  19 2016 META-INF
-rw-r--r--  1 root root       96 7月  27 2016 robots.txt
drwxr-xr-x 11 root root      130 9月  19 2016 static
drwxr-xr-x  4 root root       29 9月  19 2016 templates
drwxr-xr-x  6 root root       70 9月  19 2016 WEB-INF
[root@nis ROOT]# cd /application/tools/
[root@nis tools]# ls
apache-maven-3.3.9-bin.tar.gz  CentOS7_2.iso
apache-tomcat-8.0.27.tar.gz    jdk-8u60-linux-x64.tar.gz
[root@nis tools]# tar xf apache-tomcat-8.0.27.tar.gz 
[root@nis tools]# ls
apache-maven-3.3.9-bin.tar.gz  CentOS7_2.iso
apache-tomcat-8.0.27           jdk-8u60-linux-x64.tar.gz
apache-tomcat-8.0.27.tar.gz
[root@nis tools]# chown -R root.root apache-tomcat-8.0.27
[root@nis tools]# cp -a apache-tomcat-8.0.27 tomcat8_1
[root@nis tools]# cp -a apache-tomcat-8.0.27 tomcat8_2
[root@nis tools]# sed -i 's#8005#8011#;s#8080#8081#' tomcat8_1/conf/server.xml
[root@nis tools]# sed -i 's#8005#8012#;s#8080#8082#' tomcat8_2/conf/server.xml
[root@nis tools]# tar zcf  tomcat8_mutli.tar.gz ./tomcat8_1 ./tomcat8_2
[root@nis tools]# ls
apache-maven-3.3.9-bin.tar.gz  jdk-8u60-linux-x64.tar.gz
apache-tomcat-8.0.27           tomcat8_1
apache-tomcat-8.0.27.tar.gz    tomcat8_2
CentOS7_2.iso                  tomcat8_mutli.tar.gz
[root@nis tools]# ll -h
总用量 4.3G
-rw-r--r-- 1 root root 8.1M 8月   2 19:19 apache-maven-3.3.9-bin.tar.gz
drwxr-xr-x 9 root root  149 8月   4 08:52 apache-tomcat-8.0.27
-rw-r--r-- 1 root root 8.8M 8月   2 19:19 apache-tomcat-8.0.27.tar.gz
-rw-r--r-- 1 qemu qemu 4.1G 7月  31 17:17 CentOS7_2.iso
-rw-r--r-- 1 root root 173M 8月   2 19:19 jdk-8u60-linux-x64.tar.gz
drwxr-xr-x 9 root root  149 8月   4 08:52 tomcat8_1
drwxr-xr-x 9 root root  149 8月   4 08:52 tomcat8_2
-rw-r--r-- 1 root root  18M 8月   4 09:03 tomcat8_mutli.tar.gz
[root@nis tools]# tar xf tomcat8_mutli.tar.gz  -C /application/
[root@nistools]# /application/tomcat8_1/bin/startup.sh 
Using CATALINA_BASE:   /application/tomcat8_1
Using CATALINA_HOME:   /application/tomcat8_1
Using CATALINA_TMPDIR: /application/tomcat8_1/temp
Using JRE_HOME:        /application/jdk
Using CLASSPATH:       /application/tomcat8_1/bin/bootstrap.jar:/application/tomcat8_1/bin/tomcat-juli.jar
Tomcat started.
[root@nis tools]# /application/tomcat8_2/bin/startup.sh 
Using CATALINA_BASE:   /application/tomcat8_2
Using CATALINA_HOME:   /application/tomcat8_2
Using CATALINA_TMPDIR: /application/tomcat8_2/temp
Using JRE_HOME:        /application/jdk
Using CLASSPATH:       /application/tomcat8_2/bin/bootstrap.jar:/application/tomcat8_2/bin/tomcat-juli.jar
Tomcat started.
[root@nis tools]# netstat -tunlp |grep java
tcp6       0      0 :::8009                 :::*                    LISTEN      3507/java           
tcp6       0      0 127.0.0.1:8011          :::*                    LISTEN      6991/java           
tcp6       0      0 127.0.0.1:8012          :::*                    LISTEN      7042/java           
tcp6       0      0 :::8081                 :::*                    LISTEN      6991/java           
tcp6       0      0 :::8082                 :::*                    LISTEN      7042/java           
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      3507/java           

4.  tomcat集群

[root@lb01 ~]# cd /application/nginx/conf/
[root@lb01 conf]# ll
total 72
-rw-r--r-- 1 root root 1077 Jun 30 06:12 fastcgi.conf
-rw-r--r-- 1 root root 1077 Jun 30 06:12 fastcgi.conf.default
-rw-r--r-- 1 root root 1007 Jun 30 06:12 fastcgi_params
-rw-r--r-- 1 root root 1007 Jun 30 06:12 fastcgi_params.default
-rw-r--r-- 1 root root 2837 Jun 30 06:12 koi-utf
-rw-r--r-- 1 root root 2223 Jun 30 06:12 koi-win
-rw-r--r-- 1 root root 3957 Jun 30 06:12 mime.types
-rw-r--r-- 1 root root 3957 Jun 30 06:12 mime.types.default
-rw-r--r-- 1 root root  841 Jul 25 06:29 nginx.conf
-rw-r--r-- 1 root root  840 Jul  1 06:18 nginx.conf.bak
-rw-r--r-- 1 root root  947 Jul  1 07:32 nginx.conf.bak.uri
-rw-r--r-- 1 root root  820 Jul  1 08:57 nginx.conf.bak.url.k
-rw-r--r-- 1 root root 2656 Jun 30 06:12 nginx.conf.default
-rw-r--r-- 1 root root    0 Jul  1 07:32 nginx.confg
-rw-r--r-- 1 root root  636 Jun 30 06:12 scgi_params
-rw-r--r-- 1 root root  636 Jun 30 06:12 scgi_params.default
-rw-r--r-- 1 root root  664 Jun 30 06:12 uwsgi_params
-rw-r--r-- 1 root root  664 Jun 30 06:12 uwsgi_params.default
-rw-r--r-- 1 root root 3610 Jun 30 06:12 win-utf
[root@lb01 conf]# cp  nginx.conf{,.2017.8.4.bak}
[root@lb01 conf]# vim nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    upstream web_pools {
    }

    server {
        listen       80;
        server_name  bbs.etiantian.org;
        location / {
        proxy_pass http://web_pools;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
        }
    }

    server {
        listen       80;
        server_name  localhost;
        location / {
        proxy_pass http://web_pools;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
        }
    }

}

"nginx.conf" 36L, 841C written                 
[root@lb01 conf]# nginx  -t
nginx: the configuration file /application/nginx-1.10.3/conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.10.3/conf/nginx.conf test is successful
[root@lb01 conf]# nginx  -s reload


[root@nis tools]# echo 8081>>/application/tomcat8_1/webapps/ROOT/index.jsp
[root@nis tools]# echo 8082>>/application/tomcat8_2/webapps/ROOT/index.jsp
[root@nis bin]#  vim catalina.sh +97
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=12345  
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false 
-Djava.rmi.server.hostname=10.0.0.201"


[root@nis bin]# tail -1 /etc/hosts
10.0.0.201 oldboyedu 
                        
[root@nis bin]#  ./shutdown.sh 
Using CATALINA_BASE:   /application/tomcat
Using CATALINA_HOME:   /application/tomcat
Using CATALINA_TMPDIR: /application/tomcat/temp
Using JRE_HOME:        /application/jdk
Using CLASSPATH:       /application/tomcat/bin/bootstrap.jar:/application/tomcat/bin/tomcat-juli.jar
[root@nis bin]# ./startup.sh 
Using CATALINA_BASE:   /application/tomcat
Using CATALINA_HOME:   /application/tomcat
Using CATALINA_TMPDIR: /application/tomcat/temp
Using JRE_HOME:        /application/jdk
Using CLASSPATH:       /application/tomcat/bin/bootstrap.jar:/application/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@nis bin]#  netstat -tunlp|grep java
tcp6       0      0 :::8009                 :::*                    LISTEN      18088/java          
tcp6       0      0 127.0.0.1:8011          :::*                    LISTEN      6991/java           
tcp6       0      0 127.0.0.1:8012          :::*                    LISTEN      7042/java           
tcp6       0      0 :::8081                 :::*                    LISTEN      6991/java           
tcp6       0      0 :::8082                 :::*                    LISTEN      7042/java           
tcp6       0      0 :::40598                :::*                    LISTEN      18088/java          
tcp6       0      0 :::12345                :::*                    LISTEN      18088/java          
tcp6       0      0 :::56926                :::*                    LISTEN      18088/java          
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      18088/java   





  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值