tomcat

tomcat

配置文件相关内容介绍:

.java 源代码

.class 经过java编译器编译后字节码,需要java(jvm java虚拟机)才能运行

.jar 库、包是多个.class文件打包生成

.war 项目打包文件

META-INF 元数据信息

WEB-INF:项目的主要功能程序;

tomcat简介

Apache Tomcat最早是由Sun开发的,在1999年被捐献给ASF(Apache 软件基金会 Apache Software Foundation),隶属于Jakarta(雅加达)项目,现在已经独立为一个顶级项目。因为Tomcat 技术先进、性能稳定,同时也是一个免费的开放源代码的Web 应用服务器,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,被很多企业普遍使用,也是开发和调试JSP程序的首选。成为目前比较流行的Web 应用服务器。

Apache nginx tomcat比较

Apache是用C写的;

Nigix是用C写的;

Tomcat是用Java写的;

Apache

优点:模块多,功能全面,性能稳定,适合静态HTML

缺点:配置相对复杂,自身不支持动态页面

Nginx

优点:功能较多,负载均衡、反向代理等,速度比Apache快

缺点:轻量级web服务器,功能不如Apache全面

Tomcat

优点:能够处理动态请求,可以独立于Apache运行,支持JSP

缺点:对静态内容和大文件的支持有所欠缺

tomcat安装

jdk:Java Software | Oracle

本地安装包:http://192.168.3.200/Software/jdk-8u401-linux-x64.tar.gz

tomcat:http://192.168.3.200/Software/apache-tomcat-9.0.87.tar.gz

思路:

首先安装jdk;

再安装tomcat

实验步骤:

下载 jdk1.8

注:此处 CentOS7 是64位,所以下载的是:Linux x64, 文件类型为 tar.gz 的文件

JDK 官网地址:https://www.oracle.com/java/(opens new window)

xShell 连接云服务器,找到 jdk1.8 所在的位置,输入解压指令:

 tar -xvf jdk-8u401-linux-x64.tar.gz
 mv jdk1.8.0_401 /usr/local/jdk1.8

配置 jdk 环境,输入编辑指令:

 vim /etc/profile

进入编辑页面,输入 i 开始编辑

在最后一行加上环境:

 #set java enviroment
 JAVA_HOME=/usr/local/jdk1.8
 CLASSPATH=.:$JAVA_HOME/lib.tools.jar
 PATH=$JAVA_HOME/bin:$PATH
 export JAVA_HOME CLASSPATH PATH

JAVA_HOME= jdk 的安装路径,编辑完毕,按下键盘的 Esc 退出编辑模式,再输入指令:

 :wq

保存并退出

检查 jdk 是否安装成功,编辑完保存退出

输入重置环境指令:

 source /etc/profile

输入查看版本指令:

 java -version

Tomcat 压缩包下载

下载 apache-tomcat-9.0.65.tar

我们可以看到tomcat软件包的名称包含有apache字样,原因很简单,它是由apache资助的项目

下载地址:https://tomcat.apache.org/download-90.cgi(opens new window)

xShell 连接输入解压指令:

 tar -xvf apache-tomcat-9.0.87.tar.gz
 cd /opt/
 mv apache-tomcat-9.0.87 tomcat1

云服务安全组开放 8080 端口

启动tomcat,进入 tomcat 的 bin 目录,输入启动指令:

 ./startup.sh

测试是否启动成功,在浏览器中输入:云服务器公网IP:8080

 [root@zuolaoshi webapps]# netstat -antp | grep java
 tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      46987/java          
 tcp6       0      0 :::8080                 :::*                    LISTEN      46987/java    

使用nginx发布tomcat站点

部署tomcat网站

通过部署两个tomcat站点,分别采用nginx url rewrite方法和反向代理发布。

  • 设置tomcat1

 [root@zuolaoshi ~]# cd /opt/tomcat1/webapps/
 [root@zuolaoshi webapps]# mv ROOT tomcat
 [root@zuolaoshi webapps]# mv jpress ROOT
  • 设置tomcat2

 [root@zuolaoshi ~]# cd /opt/tomcat2/webapps/
 [root@zuolaoshi webapps]# mv ROOT tomcat
 [root@zuolaoshi webapps]# mv test ROOT
二、使用rewrite实现
2.1、部署nginx
 [root@zuolaoshi ~]# dnf install nginx -y
2.2、设置nginx配置文件
 [root@zuolaoshi ~]# vim /etc/nginx/nginx.conf
 [root@zuolaoshi ~]# sed -i '/#/d' /etc/nginx/nginx.conf
 [root@zuolaoshi ~]# sed -i '/^$/d' /etc/nginx/nginx.conf
 server {
         listen       80;
         listen       [::]:80;
         server_name  www.a.com;
         location / {
                 rewrite ^/$ http://127.0.0.1:8080/jpress break;
         }
     }
     server {
         listen       80;
         listen       [::]:80;127.0.0.1
         server_name  www.b.com;
         location / {
                 rewrite ^/$ http://127.0.0.1:8081/test break;
         }
     }
 [root@zuolaoshi ~]# systemctl restart nginx
2.3、修改测试机的hosts文件
 [root@zuolaoshi conf]# vim /etc/hosts
 192.168.98.200  www.a.com
 192.168.98.200  www.b.com
2.4、 打开浏览器直接访问域名测试

测试方法: 打开浏览器输入之前设置好的域名 http://www.a.com http://www.b.com 查看是否能访问到对应的网站内容,能看到说明实验成功。

三、使用反向代理实现
设置nginx配置文件
 user nginx;
 worker_processes auto;
 error_log /var/log/nginx/error.log;
 pid /run/nginx.pid;
 include /usr/share/nginx/modules/*.conf;
 events {
     worker_connections 1024;
 }
 http {
     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                       '$status $body_bytes_sent "$http_referer" '
                       '"$http_user_agent" "$http_x_forwarded_for"';
     access_log  /var/log/nginx/access.log  main;
     sendfile            on;
     tcp_nopush          on;
     tcp_nodelay         on;
     keepalive_timeout   65;
     types_hash_max_size 2048;
     include             /etc/nginx/mime.types;
     default_type        application/octet-stream;
     include /etc/nginx/conf.d/*.conf;
     server {
         listen       80;
         listen       [::]:80;
         server_name  www.a.com;
         location / {
                 proxy_pass http://127.0.0.1:8080;
         }
     }
     server {
         listen       80;
         listen       [::]:80;
         server_name  www.b.com;
         location / {
                 proxy_pass http://127.0.0.1:8081;
         }
     }
 }
打开浏览器直接访问域名测试

测试方法: 打开浏览器输入之前设置好的域名 http://www.a.com http://www.b.com 查看是否能访问到对应的网站内容,能看到说明实验成功。

  • 12
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值