jvm的提供(Java需要jvm虚拟机)
jre:java运行环境 java runtime environment,包含了jvm。
jdk:java开发环境 会包含java的运行环境 jre。
Tomucat、Nginx的区别
Tomcat是一个web服务,提供动态程序的解析(java),支持静态资源。
企业会nginx+tomcat模型, nginx处理静态资源,tomcat处理动态资源(java),能加速网站的访问和降低访问的延迟。
Tomcat的安装、配置、启动
1.安装jdk
[root@nfs ~]# yum install java -y
2.安装Tomcat (下载、解压、启动)
[root@nfs ~]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.34/bin/apache-tomcat-9.0.34.tar.gz
[root@nfs ~]# mkdir /soft
[root@nfs ~]# tar xf apache-tomcat-9.0.34.tar.gz -C /soft/
[root@nfs ~]# ln -s /soft/apache-tomcat-9.0.34/ /soft/tomcat
3.目录结构
bin 主要包含启动和关闭tomcat的脚本(启停java脚本依赖jar包文件)
conf tomcat配置文件的目录
lib tomcat运行时需要加载的jar包
logs tomcat日志存放位置
temp tomcat临时存放文件路径
webapps tomcat默认站点目录
work tomcat运行时产生的缓存文件
4.Tomcat配置文件、架构
[root@nfs ~]# vim /soft/tomcat/conf/server.xml
5.Tomcat虚拟主机配置
[root@nfs ~]# vim /soft/tomcat/conf/server.xml
...
<!--具体站点的配置,默认站点 Host就相当于是Nginx的一个Server_name-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
...
6.Tomcat部署Zrlog
获取war包,或者 ( 源码包 -->编译-->war包--部署 )
war包:直接部署
源码包:编译生成war包在部署
例子
1.定义虚拟主机
[root@web01 ~]# vim /soft/tomcat/conf/server.xml
...
<!--站点zrlog.yang.com-->
<Host name="zrlog.yang.com" appBase="/zrlog"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="zrlog_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
...
2.上传war包到指定目录
[root@web01 conf]# mkdir /zrlog
[root@web01 conf]# ll /zrlog/
总用量 11316
-rw-r--r-- 1 root root 11585583 5月 11 11:32 ROOT.war
3.重启Tomcat
[root@web01 conf]# /soft/tomcat/bin/shutdown.sh
[root@web01 conf]# /soft/tomcat/bin/startup.sh
4.检查
[root@web01 conf]# tail -f /soft/tomcat/logs/catalina.out
11-May-2020 11:33:32.577 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄["http-nio-8080"]
11-May-2020 11:33:32.681 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in [4,035] milliseconds
5.访问站点
配置远程数据库
[root@db01 ~]# mysql -uroot -pgoodyang
MariaDB [(none)]> grant all privileges on *.* to 'all'@'%' identified by 'goodyang';
MariaDB [(none)]> create database zrlog charset utf8;
6.多个web节点
1.安装tomcat
[root@web02 ~]# yum install java -y
2.拷贝代码 (注意是在web01节点操作的)
[root@web01 ~]# scp -rp /soft root@10.0.0.8:/
[root@web01 ~]# scp -rp /zrlog root@10.0.0.8:/
3.web02操作如下
[root@web02 ~]# rm -rf /soft/tomcat/
[root@web02 ~]# ln -s /soft/apache-tomcat-9.0.34/ /soft/tomcat
7.共享静态资源。
1.安装
[root@nfs ~]# yum install nfs-utils -y
2.配置共享目录
[root@nfs ~]# cat /etc/exports
/data/blog 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
/data/zrlog 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
3.创建目录、启动nfs
[root@nfs ~]# mkdir /data/zrlog
[root@nfs ~]# chown -R www.www /data/zrlog/
[root@nfs ~]# systemctl restart nfs
4.挂载
[root@web01 ~]# mount -t nfs 172.16.1.31:/data/zrlog /zrlog/ROOT/attached/
[root@web02 ~]# mount -t nfs 172.16.1.31:/data/zrlog /zrlog/ROOT/attached/
自带的认证
1.配置conf/tomcat-users.xml
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="qwe" password="123456" roles="manager-gui,admin-gui"/>
2.还需要配置该项目的访问权限,因为Tomcat默认管理页面仅允许本机访问,如果希望其他网段能正常访问,需要配置允许规则。
找到webapps/项目/META-INF/context.xml
[root@es-node1 tomcat]# vim 项目目录下/META-INF/context.xml
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
#修改为
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|10\.0\.0\.\d+" />