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安装
本地安装包: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 查看是否能访问到对应的网站内容,能看到说明实验成功。