1.Tomcat简介
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服务器。
2.B/S(Browser/Server)结构
最早出现了CGl (Common Gateway Interface)通用网关接口,通过浏览器中输入URL直接映射到一个服务器端的脚本程序执行,这个脚本可以查询数据库并返回结果给浏览器端。这种将用户请求使用程序动态生成的技术,称为动态网页技术。先后出现了ASP、PHP、JSP等技术,这些技术的使用不同语言编写的程序都运行在服务器端,所以称为WEB后端编程。有一部分程序员还是要编写HTML、CSS、JavaScript,这些代码运行在浏览器端,称为WEB前端编程。合起来称为Browser/Server编程,即B/S编程。
3.java基础
3.1 web架构
PC端或移动端浏览器访问 从静态服务器请求HTML、CSS、JS等文件发送到浏览器端,浏览器端接收后渲染在浏览器上从图片服务器请求图片资源显示 从业务服务器访问动态内容,动态内容是请求后有后台服务访问数据库后得到的,最终返回到浏览器端
手机 App访问 内置了HTML和]S文件,不需要从静态WEB服务器下载JS或HTML。为的就是减少文件的发送,现代前端开发使用的S文件太多或太大了有必要就从图片服务器请求图片,从业务服务器请求动态数据 客户需求多样,更多的内容还是需要由业务服务器提供,业务服务器往往都是由一组服务器组成。
3.2 java历史
Java原指的是印度尼西亚的爪哇岛,人口众多,盛产咖啡、橡胶等。
Java语言最早是在1991年开始设计的,最初叫Oak项目,它初衷是跑在不同机顶盒设备中的。
1993年网景公司成立。Oak项目组很快他们发现了浏览器和动态网页技术这个巨大的市场,转向WEB方向。并首先发布了可以让网页动起来的Applet技术(浏览器中嵌入运行Java字节码的技术)。
在1995年,一杯爪哇岛咖啡成就了Java这个名字。
Sun公司第一个Java公开版本1.0发布于1996年。口号是"一次编写,到处运行"(Write once,Run anywhere),跨平台运行。
1999年,SUN公司发布了第二代Java平台(Java2)。
2009年4月20日,Oracle甲骨文公司宣布将以每股9.50美元,总计74* *亿美金**收购SUN(计算机系统)公司。2010年1月成功收购
2010年,Java创始人之一的 James Gosling 离开了Oracle,去了Google。
2010年8月13日,Oracle在加利福尼亚地方法院起诉Google侵犯版权和专利权。Oracle声称
Google侵犯了Java 37个API和部分专利。地方法院的陪审团认为未侵犯专利,且API无版权。
2016年5月26日,地方法院二审陪审团认定未侵犯版权,对37个JAVA API的重新实现受到合理使用的保护。
2017年Oracle上诉美国联邦巡回上诉法院,2018年3月27日判决Oracle胜诉,Google应赔偿近90亿美金。
2019年1月Google想让美国最高法院撤销联邦法院裁决。谷歌表示裁决是"对软件业的毁灭性一击"。现任特朗普政府支持Oracle公司,但微软、Mozilla、 红帽支持Google。目前案件已经受理,但由于疫情推迟。有更多的企业和组织加入进来,包括IBM、计算机和通信协会、互联网协会、超过150名学者和教授。此案如果Oracle胜诉,将在美国形成判例,将深远广泛影响软件业。例如: POSIX接口, 是商用系统UNIX的兼容接口规范。
3.2 jdk
JDK: Java Development Kit,即Java语言的软件开发工具包JDK协议基于JRL(JavaResearch License)协议
3.3安装openjdk流程
具体操作
1.将二进制软件包拖到opt下进行安装
2.使用yum安装这个软件
3.要去/etc/profile改一下文件配置
export JAVA_HOME=/usr/java/default
#指明自己java的根目录
export PATH=$JAVA_HOME/bin:$PATH
#java的启动文件
4.检测一下就好了
4.tomcat
4.1 tomcat 介绍
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和
并发访问用户不是很多的场合下被普遍使用,Tomcat 具有处理HTML页面的功能,它还是一个Servlet和JSP容器
起始于SUN 公司的一个Servlet的参考实现项目 Java Web Server,开发者是 James Duncan Davidson,在1999年,将项目贡献给了apache软件基金会(ASF),和ASF现有的项目 JServ 合并,并开源成为顶级项目
Tomcat 仅仅实现了Java EE规范中与Servlet、JSP相关的类库,是JavaEE不完整实现。
4.2 tomcat配置文件
配置文件
| 目录名字 | 功能 |
|---|---|
| bin | 存放启动和关闭 Tomcat 的脚本文件,比较常用的是 catalina.sh、startup.sh、shutdown.sh 三个文件 |
| conf | 存放 Tomcat 服务器的各种配置文件,比较常用的是 server.xml、context.xml、tomcat-users.xml、web.xml 四个文件。 |
| lib | 存放 Tomcat 服务器的 jar 包,一般不作任何改动,除非连接第三方服务,比如 redis,那就需要添加相对应的 jar 包 |
| logs | 存放 Tomcat 日志 |
| temp | 存放 Tomcat 运行时产生的文件 |
| webapps | 存放项目资源的目录 |
| work | Tomcat 工作目录,一般清除 Tomcat 缓存的时候会使用到(升级版本时注意要删除里面的缓存) |
conf子目录
| 文件名 | 说明 |
|---|---|
| server.xml | 主配置文件 |
| web.xml | 每个webapp只有“部署"后才能被访问,它的部署方式通常由web.xml进行定义,其存放位置为WEB-INF/目录中;此文件为所有的webapps提供默认部署相关的配置,每个web应用也可以使用专用配置文件,来覆盖全局文件 |
4.2.1 组件
| 名称 | 说明 |
|---|---|
| server | 服务器,Tomcat运行的进程实例,一个Server中可以有多个service,但通常就一个 |
| service | 服务,用来组织Engine(引擎)和Connector(连接器,端口)的对应关系,一个service中只有一个Engine |
| connector | 连接器,负责客户端的HTTP、HTTPS、AJP等协议连接。一个Connector只属于某一个Engine |
| Engine | 即引擎,用来响应并处理用户请求。一个Engine上可以绑定多个Connector |
| Host | 即虚拟主机,可以实现多虚拟主机,例如使用不同的主机头区分 |
| Context | 应用的上下文,配置特定url路径映射和目录的映射关系: url => directory |
4.2.2 核心组件
-
Tomcat启动一个Server进程。可以启动多个Server,即tomcat的多实例, 但一般只启动一个
-
创建一个Service提供服务。可以创建多个Service,但一般也只创建一个
- 每个Service中,是Engine和其连接器Connector的关联配置
-
可以为这个Service提供多个连接器Connector,这些Connector使用了不同的协议,绑定了不同的端口。其作用就是处理来自客户端的不同的连接请求或响应
-
Service 内部还定义了Engine,引擎才是真正的处理请求的入口,其内部定义多个虚拟主机Host
- Engine对请求头做了分析,将请求发送给相应的虚拟主机
- 如果没有匹配,数据就发往Engine上的defaultHost缺省虚拟主机
- Engine上的缺省虚拟主机可以修改
-
Host 定义虚拟主机,虚拟主机有name名称,通过名称匹配
-
Context 定义应用程序单独的路径映射和配置
4.3 安装Tomcat软件
1.先rpm安装jdk
2.去/etc/profile 修改配置文件
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
3.刷新一下这个文件
4.之后去解压tomcat安装包
5.把这个源码包放到/usr/local/tomcat下
6.开启tomcat
7.去浏览器查看
8.创建一个用户,把tomcat里面的文件,属主属组改变成新的用户
9.写一个systemd服务文件
#vim /etc/systemd/system/tomcat.service
#编写tomcat.service文件
[Unit]
Description=Tomcat
#After=syslog.target network.target remote-fs.target nss-lookup.target
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/local/tomcat/bin/startup.sh
ExecStop=/usr/local/tomcat/bin/shutdown.sh
RestartSec=3
PrivateTmp=true
User=tomcat
Group=tomcat
[Install]
WantedBy=multi-user.target
10.刷新和重启服务
4.4 打包jar包的实际操作
1.我们先制作模拟环境,创建两个文件
2.进行打包
3.将我们的这个jar包拷到/usr/local/tomcat/webapps/下
4.在这个文件夹下我们没有解压但是会自动解压
4.5 使用tomcat安装博客
因为前面我们已经安装过了tomcat,所以安装一个数据库就行
具体操作
1.现将我们自己的博客项目放到webapps文件夹下
2.将原文件复制一份改个名字
3.把这个项目的属主与数组改成tomcat
4.安装数据库,做一个本地仓库
cat >/etc/yum.repos.d/mysql.repo <<EOF
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/
enabled=1
gpgcheck=0
EOF
5.yum安装
yum -y install mysql-community-server
6.启动数据库
7.找到初始密码
8.登录数据库
9.修改密码
set global validate_password_policy=0;
set global validate_password_length=1;
mysql> alter user root@'localhost' identified by 'Admin@123';
10.创建数据库
CREATE DATABASE blog;
GRANT all ON blog.* TO 'bloguser'@'%' IDENTIFIED BY 'admin123';
GRANT all ON blog.* TO 'bloguser'@'localhost' IDENTIFIED BY 'admin123';
flush privileges;
11.现在去浏览器上去创建用户
12.写好数据库的信息,点击下一步
13.创建用户
14.输入账号密码,进入博客