Tomcat是用Java写的,java是一种跨平台的,面向对象的程序设计语言,java技术有卓越的通用性,高效性、平台移植性和安全性。
JRE是JDK的子集:JRE包括java虚拟机(jvm)和java核心类库和支持文件,不包括开发工具(JDK)--编译器、调试器和其它工具。
—IBM websphere
—Oracle weblogic # 甲骨文
—Apache tomcat # 阿帕齐(免费)
—RedHat Jboss # 红帽
—主程序目录:bin/
—库文件目录:lib/
—日志目录:logs/
—临时目录:temp/
—自动编译目录:work/
—配置文件目录:conf/
—页面目录:webapps/
解压tomcat的tar包
tar -xf apache-tomcat-8.0.30.tar.gz
mv apache-tomcat-8.0.30 /usr/local/tomcat
安装依赖
yum -y install java-1.8.0-openjdk
启动服务
bin/startup.sh
浏览器预览:IP:8080
注意:tomcat启动需要大量的随机字符,依赖/dev/random文件,但是该文件不稳定。
mv /dev/random /dev/random.bak
ln -s /dev/urandom /dev/random
ls -l /dev/random
yum -y install rng-tools
systemctl start rngd
验证服务,端口号分别为8005、8009、8080缺一不可,8005是关闭程序,8009是连接其他网站,8080是访问端口
netstat -ntulp | grep java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 58927/java
tcp6 0 0 :::8009 :::* LISTEN 58927/java
tcp6 0 0 :::8080 :::* LISTEN 58927/java
配置页面,静态是html,动态是jsp
echo "Tomcat-test" > /usr/local/tomcat/webapps/ROOT/test01.html
浏览验证
web服务器 | 虚拟主机格式 | 备 注 |
http | servername www.a.com documentroot /var/www/html |
virtualhost:配置虚拟主机 servername:域名 documentroot:网页 |
nginx | http { server { listen 80; server_name www.a.com; root html; index index.html; } } |
server语块定义一台虚拟主机 server:配置虚拟主机 listen:监听端口 server_name:域名 root:网页根目录 index:默认网页 |
tomcat | |
name:网络域名 appBase:页面目录 unpackWARs="true":自动解WAR包 autoDeploy="true":自动更新代码 |
更改主配置文件
vim /usr/local/tomcat/conf/server.xml
创建B网站存储网页的目录
mkdir -p /usr/local/tomcat/web_b/ROOT
创建网页
echo "tomcat AAAA" > /usr/local/tomcat/webapps/ROOT/index.html
echo "tomcat BBBB" > /usr/local/tomcat/web_b/ROOT/index.html
重启服务,修改后的配置文件生效需要先关闭tomcat,再启动
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
配置hosts
vim /etc/hosts
192.168.65.21 www.a.com www.b.com
验证
curl www.a.com:8080
curl www.b.com:8080
unpackWARs自动解压,autoDeploy自动更新
配置文件
vim /usr/local/tomcat/conf/server.xml
安装jar工具
yum -y install java-1.8.0-openjdk-devel
制作war包
jar -cf b.war /var/log
将war包放到网页目录下
mv b.war /usr/local/tomcat/web_b/
查看web_b目录,b.war已经自动解包
ls web_b/
b b.war ROOT
Context表示一个web应用程序,通常为WAR文件;path匹配用户访问路径,表示此web应用程序的url的前缀,这样请求的url为http://localhost:8080/path/;docBase定义页面位置,应用程序的路径或者是WAR文件存放的路径
tomcat访问路径与页面的设置。
3.2.1、配置一:path为空,docBase为空
vim /usr/local/tomcat/conf/server.xml
创建测试页面
echo "web_b/ROOT/index.html" > web_b/ROOT/index.html
echo "web_b/index.html" > web_b/index.html
重启后验证
curl www.b.com:8080
web_b/index.html
3.2.2、配置二:path为空,docBase="abc"
vim /usr/local/tomcat/conf/server.xml
创建测试页面
mkdir web_b/abc
echo "web_b/abc/index.html" > web_b/abc/index.html
重启后验证
curl www.b.com:8080
web_b/abc/index.html
3.2.3、配置二:path为空,docBase="/abc",加了/表示为linux的根
vim /usr/local/tomcat/conf/server.xml
创建测试页面
mkdir /abc
echo "/abc/index.html" > /abc/index.html
重启后验证
curl www.b.com:8080
/abc/index.html
3.2.4、配置二:path="/test",docBase="/abc"
vim /usr/local/tomcat/conf/server.xml
重启后验证
curl www.b.com:8080/test/
/abc/index.html
curl www.b.com:8080
web_b/ROOT/index.html
3.2.4、配置二:path="/test",docBase="abc"
vim /usr/local/tomcat/conf/server.xml
重启后验证
curl www.b.com:8080/test/
web_b/abc/index.html
curl www.b.com:8080
web_b/ROOT/index.html
配置文件:日志目录logs,日志文件b,文件格式.log
vim /usr/local/tomcat/conf/server.xml
备注:
className:指定logger的类名,此类必须实现org.apache.catalina.Logger 接口
directory:日志的目录
prefix:日志的名称
suffix:日志的后辍
重启后验证,查logs日志有了b日志文件,再访问网站后查看b日志文件,生存了访问记录
ls /usr/local/tomcat/logs/
b.2023-04-22.log
curl www.b.com:8080
web_b/ROOT/index.html
cat /usr/local/tomcat/logs/b.2023-04-22.log
192.168.65.21 - - [22/Apr/2023:11:34:48 +0800] "GET / HTTP/1.1" 200 22
Maven是一个跨平台的项目管理工具。作为Apache组织的一个颇为成功的开源项目,其主要服务于基于Java平台的项目创建,依赖管理和项目信息管理。maven是Apache的顶级项目,解释为“专家,内行”,它是一个项目管理的工具,maven自身是纯java开发的,可以使用maven对java项目进行构建、依赖管理。
基于项目对象模型(POM),是一个项目管理工具软件,可以通过简短的信息描述来管理项目的构造,报告和文档。maven项目需要设备联网,或将其他的成品程序从网上下载下来保存到一个文件中。POM项目对象模型,它是一个XML文件,包含了Maven创建项目的基本信息、构建过程、项目依赖等。
依赖指的就是是我们项目中需要使用的第三方Jar包, 一个大一点的工程往往需要几十上百个Jar包,按照我们之前的方式,每使用一种Jar,就需要导入到工程中,还要解决各种Jar冲突的问题。Maven可以对Jar包进行统一的管理,包括快速引入Jar包,以及对使用的 Jar包进行统一的版本控制。
之前我们创建项目,需要确定项目的目录结构,比如src 存放Java源码, resources存放配置文件,还要配置环境比如JDK的版本等等,如果有多个项目 那么就需要每次自己搞一套配置,十分麻烦Maven为我们提供了一个标准化的Java项目结构,我们可以通过Maven快速创建一个标准的Java项目。
Maven软件地址:Maven – Download Apache Maven
安装依赖工具
yum -y install bzip2
yum -y install jave-1.8.0-openjdk
yum -y install java-devel
maven软件的安装
wget https://dlcdn.apache.org/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
解压maven包:maven不需要安装软件,可以直接解压
tar -xf apache-maven-3.6.3-bin.tar.gz
mv apache-maven-3.6.3 /usr/local/maven
备注:
- bin:存放了 maven 的命令
- boot:存放了一些 maven 本身的引导程序,如类加载器等
- conf:存放了 maven 的一些配置文件,如 setting.xml 文件
- lib:存放了 maven 本身运行所需的一些 jar 包
配置文件,修改镜像仓库,在
vim /usr/local/maven/conf/settings.xml
alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/groups/public/
central
安装数据库,在实验中网页文件有数据库
yum -y install mariadb mariadb-server
systemctl restart mariadb.service
准备一个网站项目,代码已经编写完成
ls
cms.tar.gz
tar -xf cms.tar.gz
创建好的工程,Maven目录说明:
- src/main/java —— 源代码目录,存放项目的.java 文件,
- src/main/resources —— 资源目录,存放项目资源文件,如数据库的配置文件
- src/test/java —— test测试目录,存放所有单元测试.java 文件,如 JUnit 测试类
- target —— 项目输出位置,编译后的class 文件会输出到此目录
- pom.xml ——maven 项目核心配置文件
拷贝网站数据库配置文件到当前目录,该文件定义了数据库的用户和密码等信息
cd CMS/
cp src/main/resources/shishuocms.properties .
导入网站相关数据库文件
mysql -uroot -p < sql/install.sql
配置数据库密码
mysqladmin password
在项目CMS目录下,构建项目
/usr/local/maven/bin/mvn clean package
输出以下信息,构建成功
查看构建的war包
ls target/shishuocms-2.0.1.war
target/shishuocms-2.0.1.war
删除tomcat默认页面目录
rm -rf /usr/local/tomcat/webapps/ROOT
将构建的war包拷贝到webapps目录下,war包会自动解包
cp target/shishuocms-2.0.1.war /usr/local/tomcat/webapps/ROOT.war
打开浏览器访问www.a.com:8080看到“师说”页面则成功
创建公钥私钥
keytool -genkeypair -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/keystore
配置文件
vim /usr/local/tomcat/conf/server.xml
创建测试页面
echo "tomcat https" > /usr/local/tomcat/webapps/ROOT/index.html
验证
curl -k https://192.168.65.21:8443
tomcat https