1.JVM基本介绍

JAVA编译型 ---> 编译
C 编译型--->
linux --->编译一次
windows --->编译一次
macos
ubuntu
跨平台 移值型差 只需要将源代码进行一次编译 war,能够在多处运行。
jvm虚拟机 windows jvm --->war
linux jvm --->war
mac jvm --->war jvm 如何安装?
jvm 需要 jre java运行环境 环境:
jre: java运行环境 包含 jvm
jdk: java开发环境 包含 jre 只想运行java代码,只需要jre即可
既想要运行环境,开发环境 jdk

2.Tomcat与Nginx区别

tomcat
基于java开发一个web服务器软件, 和nginx类似.
tomcat能直接解析jsp代码,以及静态资源.
nginx + tomcat

3.Tomcat安装配置启动

1.yum安装:
[root@web01 ~]# yum install java -y 2.二进制安装tomcat
[root@web01 ~]# mkdir /soft && cd /soft
[root@web01 soft]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.26/bin/apache-tomcat-9.0.26.tar.gz
[root@web01 soft]# tar xf apache-tomcat-9.0.26.tar.gz
[root@web01 soft]# ln -s /soft/apache-tomcat-9.0.26 /soft/tomcat
[root@web01 soft]# /soft/tomcat/bin/startup.sh
[root@web01 soft]# netstat -lntp|grep java
tcp6 0 0 :::8009 :::* LISTEN 8500/java
tcp6 0 0 :::8080 :::* LISTEN 8500/java
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 8500/java 二进制方式:
jdk使用二进制
tomcat使用二进制
[root@es-node1 ~]# mkdir /soft/
[root@es-node1 ~]# tar xf jdk-8u60-linux-x64.tar.gz -C /app/
[root@es-node1 ~]# ln -s /soft/jdk1.8.0_60 /soft/jdk
[root@es-node1 ~]# vim /etc/profile
#...最后面添加...
export JAVA_HOME=/app/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar [root@es-node1 ~]# tar xf apache-tomcat-9.0.26.tar.gz -C /soft
[root@es-node1 ~]# /soft/apache-tomcat-9.0.26/bin/startup.sh

4.Tomcat配置文件详解

一个server表示一个tomcat实例
一个server中包含多个Connector连接器,Connector的主要功能是接受、响应用户请求。
service的作用是:将connector关联至engine(catalina引擎)
一个host就是一个站点,类似于nginx的多站点
context类似于nginx中location的概念

5.Tomcat配置虚拟主机 ---> 一台服务器运行多个站点

[root@web01 soft]# vim /soft/tomcat/conf/server.xml
<!--tomcat虚拟主机-->
<Host name="tomcat1.cheng.com" appBase="/code1"
unpackWARs="true" autoDeploy="true"> <!--类似于nginx的location path是访问的路径 ->映射 docBase是真实的路径-->
<Context docBase="/code1/admin" path="/test" reloadable="true"/> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="tomcat1_access_log" suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host> 无法启动原因:
1.替换配置文件: pkill java 然后在启动
2.配置文件写错
3.虚拟主机是添加,不要修改
4.context如果写了,一定要有对应的目录,不然整体就报错
/soft/tomcat/logs/catalina.out

6.Tomcat部署博客项目zrlog

域名: zrlog.cheng.com:8080
站点目录: /code/zrlog <--ROOT目录
10.0.0.7 tomcat 端口 8080 10.0.0.51 mysql 端口 3306 1.配置server.xml文件 ,新增在 engline内
[root@web01 ~]# vim /soft/tomcat/conf/server.xml
<!--zrlog站点-->
<Host name="zrlog.cheng.com" appBase="/code/zrlog"
unpackWARs="true" autoDeploy="true"> <Va0lve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="zrlog_access_log" suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host> 2.创建站点目录,上传zrlog的war包
[root@web01 ~]# mkdir /code/zrlog
[root@web01 ~]# cd /code/zrlog/
[root@web01 zrlog]# rz ROOT.war <---这个是zrlog的war包,名称就叫ROOT 3.重启Tomcat服务
[root@web01 zrlog]# /soft/tomcat/bin/shutdown.sh && /soft/tomcat/bin/startup.sh && tail -f /soft/tomcat/logs/catalina.out 4.配置域名解析 5.在172.16.1.51的数据库上,创建一个zrlog的库,配置授权访问用户
[root@db01 ~]# mysql -uroot -p000000
MariaDB [(none)]> create database zrlog charset utf8;
<---此前配置过all用户,可以复用
MariaDB [(none)]> grant all privileges on *.* to 'all'@'%' identified by 'oldxu.com'; jeesns --社交

6.1Tomcat部署博客项目jpress

1.配置server.xml文件 ,新增在 engline
<!--jpress博客-->
<Host name="jpress.cheng.com" appBase="/code/jpress"
unpackWARs="true" autoDeploy="true"> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="jpress_access_log" suffix=".txt"
pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host> </Engine> 2.创建站点目录,上传jpress的war包
[root@web01 ~]# mkdir /code/jpress
[root@web01 ~]# cd /code/jpress/
[root@web01 jpress]# rz ROOT.war 3.重启Tomcat服务
[root@web01 jpress]# /soft/tomcat/bin/shutdown.sh && /soft/tomcat/bin/startup.sh && tail -f /soft/tomcat/logs/catalina.out 4.配置域名劫持
5.在172.16.1.51的数据库上,创建一个jpress的库,配置授权访问用户
[root@db01 ~]# mysql -uroot -p000000
MariaDB [(none)]> create database jpress charset utf8;
<---此前配置过all用户,可以复用
MariaDB [(none)]> grant all privileges on *.* to 'all'@'%' identified by 'oldxu.com';

7.源码包-->jar包--war包的关系?

源码包  -->  由开发人员编写的

		maven

		jar     -->  源码包编译
无法独立运行, 需要被某个程序所依赖 mysql连接
可以独立运行, java -jar xx.jar 启动
https://gitee.com/chejiangyi/dingding-sonar war --> 源码包编译, 可以直接放在tomcat中进行部署 (这种类型居多) 源码-->maven编译-->jar或者war包
war包直接放入tomcat即可运行, war在运行过程中需要依赖 jar包
jar包 分为两种, 可独立运行(对外提供服务), 不可独立运行(被war依赖)

8.Tomcat配置基础认证 ---> 了解

Tomcat如何开启 Server Status  Host Manager页面
1.配置conf/tomcat-users.xml
[root@web01 ~]# vim /soft/tomcat/conf/tomcat-users.xml
<role rolename="manager-gui"/>
<user username="tomcat" password="123456" roles="manager-gui"/> 2.如果访问还是403,是因为tomcat默认仅运行本地访问该管理页面,需要允许同网段主机访问
[root@web01 ~]# ll /soft/tomcat/webapps/manager/
[root@web01 ~]# ll /soft/tomcat/webapps/host-manager/ [root@web01 ~]# vim /soft/tomcat/webapps/manager/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+" />



9.启用zrlog的基础认证 ---> zrlog.cheng.com/admin 了解 使用Nginx替代

方式一:Nginx配置认证:
server {
listen 80;
server_name zrlog.cheng.com; location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $http_host;
} location /admin {
auth_basic "closed site";
auth_basic_user_file conf/auth_conf;
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $http_host;
}
} 方式二:Tomcat认证
[root@es-node1 tomcat]# vim /code/zrlog/ROOT/WEB-INF/web.xml
<web-app>
...
<security-constraint>
<web-resource-collection>
<web-resource-name>zrlog</web-resource-name>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection> <auth-constraint>
<role-name>zrlog_role</role-name>
</auth-constraint>
</security-constraint> <login-config>
<auth-method>BASIC</auth-method>
<realm-name>Default</realm-name>
</login-config>
...
</web-app> 2.配置用户名密码,关联对应的角色(多个role不要使用相同用户)
[root@es-node1 tomcat]# vim /soft/tomcat/conf/tomcat-users.xml
<role rolename="zrlog_role"/>
<user username="tomcat" password="123456" roles="zrlog_role"/> 3.重启tomcat
[root@es-node1 ~]# /soft/tomcat/bin/shutdown.sh && /soft/tomcat/bin/startup.sh 4.浏览器测试验证

10.部署多节点Tomcat-->mysql

##环境:	10.0.0.7   ---> 10.0.0.51
10.0.0.8 ---> 10.0.0.51
1.安装jdk
[root@web02 ~]# yum install java -y 2.安装tomcat 部署代码 (scp)
---->在web01上操作
[root@web01 ~]# scp -rp /soft root@172.16.1.8:/
[root@web01 ~]# scp -rp /code/zrlog root@172.16.1.8:/code/ 在web02上操作>>>
[root@web02 soft]# rm -rf /soft/tomcat/
[root@web02 soft]# ln -s /soft/apache-tomcat-9.0.26 /soft/tomcat
[root@web02 soft]# /soft/tomcat/bin/startup.sh 3.修改域名解析

11.部署多节点Tomcat-->NFS

	10.0.0.7   ---> 10.0.0.51
10.0.0.8 ---> 10.0.0.51
10.0.0.31
1.安装NFS
[root@nfs ~]# groupadd -g 666 www
[root@nfs ~]# useradd -u666 -g666 www
[root@nfs ~]# yum install nfs-utils -y
[root@nfs ~]# cat /etc/exports
/data/zrlog 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
[root@nfs ~]# mkdir /data/zrlog
[root@nfs ~]# systemctl restart nfs 2.找到图片资源 推送图片资源至NFS
[root@web01 ~]# scp -rp /code/zrlog/ROOT/attached/* root@172.16.1.31:/data/zrlog/
[root@nfs ~]# chown -R www.www /data/zrlog/ ---->>>重新授权 3.多节点挂载
[root@web01 attached]# mount -t nfs 172.16.1.31:/data/zrlog /code/zrlog/ROOT/attached/
[root@web02 soft]# mount -t nfs 172.16.1.31:/data/zrlog /code/zrlog/ROOT/attached/

12.Nginx配置代理

[root@lb01 conf.d]# cat proxy_zrlog.cheng.com.conf
upstream zrlog {
server 172.16.1.7:8080;
server 172.16.1.8:8080;
} server {
listen 80;
server_name zrlog.cheng.com; location / {
proxy_pass http://zrlog;
include proxy_params;
}
}

18.Tomcat基本应用的更多相关文章

  1. 18.Tomcat部署及优化

    Tomcat部署及优化 目录 Tomcat部署及优化 Tomcat简介 Tomcat核心组件 Web容器 什么是 servlet? 什么是 JSP? Container 结构分析 Tomcat 请求过 ...

  2. 【Tomcat 6.0官方文档翻译】—— 简介

    Tomcat作为使用最多的web容器,研究其原理过程,对掌握java web开发有很重要的影响. 因此下定决心,从官方文档入手,好好学学web相关的知识. 介绍     本篇是Apache Tomca ...

  3. 通过Eclipse3.1以上启动Tomcat访问不到tomcat管理界面的问题(转载)

    通过Eclipse插件启动Tomcat的问题 默认分类   2009-10-23 15:54   阅读118   评论0   字号: 大  中  小 目前在通过Eclipse中插件启动Tomcat时遇 ...

  4. The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path:

    今天下载Windows安装版的tomcat5.5,安装完以后启动时候出现: The Apache Tomcat Native library which allows optimal performa ...

  5. 高并发场景 LVS 安装及高可用实现

    1.1 负载均衡介绍 1.1.1 负载均衡的妙用 负载均衡(Load Balance)集群提供了一种廉价.有效.透明的方法,来扩展网络设备和服务器的负载.带宽.增加吞吐量.加强网络数据处理能力.提高网 ...

  6. SpringBoot2.0 Actuator 监控参数说明

    主要内容更 监控参数说明 Maven坐标 <dependency> <groupId>org.springframework.boot</groupId> < ...

  7. 来不及解释!Linux常用命令大全,先收藏再说

    摘要:Linux常用命令,很适合你的. 一提到操作系统,我们首先想到的就是windows和Linux.Windows以直观的可视化的方式操作,特别适合在桌面端PC上操作执行相应的软件.相比较Windo ...

  8. SprinMvc快速入门

    1.spring mvc Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web框架. 查看官方文档:https://docs.spring.io/sp ...

  9. 监控框架 - prometheus - 参数指标

    基于SpringBoot2.0+ Actuator metrics的监控(基于Oracle JDK9,G1) 引言 SpringBoot2在spring-boot-actuator中引入了microm ...

随机推荐

  1. sql字段为逗号分开的字符串值的关联查询

    1.TREE表: [strID] [int] IDENTITY(1,1) NOT NULL,[strName] [nvarchar](50) NOT NULL, 2.SubInfo CREATE TA ...

  2. Tcloud 云测平台-多服务框架开源

    技术栈 Python3.7 + Vue前端github地址:https://github.com/bigbaser/Tcloud后端github地址:https://github.com/bigbas ...

  3. HashMap浅析

    一.概述 HashMap,基于哈希结构的Map接口的一个实现,无序,允许null键值对,线程不安全的.可以使用集合工具类Collections中的synchronizedMap方法,去创建一个线程安全 ...

  4. Linux初识之VMWare14中配置Centos7桥接网络环境

    1.查看当前初始环境如下:

  5. kubernetes实战(二十六):kubeadm 安装 高可用 k8s v1.16.x dashboard 2.x

    1.基本配置 基本配置.内核升级.基本服务安装参考https://www.cnblogs.com/dukuan/p/10278637.html,或者参考<再也不踩坑的Kubernetes实战指南 ...

  6. tomcat下的路径问题

    在tomcat下 如果是根据类装载器获得某个需要修改的文件路径 就有可能在web项目部署的时候存在问题 比如这里有一个测试 package Junit.test; public class test ...

  7. Intellij IDEA 2019 + Java Spring MVC + Hibernate学习笔记(2)

    书接上文 首先根据各种Spring MVC教程,建立了基础的结构,是否合理不知道,姑且先这样,有问题再解决问题.学习新东西,不能怕掉坑里... 查询网上别人的经历说需要把根目录下的lib目录下的所有包 ...

  8. 浅析html+css+javascript之间的关系与作用

    三者间的关系 一个基本的网站包含很多个网页,一个网页由html, css和javascript组成. html是主体,装载各种dom元素:css用来装饰dom元素:javascript控制dom元素. ...

  9. 关于大脑与CPU的简单思考

    今天午休突发奇想的思考了大脑与cpu的差异,发现出了大脑是生物信号驱动的单核cpu而已(并行任务是时间片的调度,要额外的堆栈记忆或者物理如纸张的存储). 大脑永远是线性的逐行执行指令,执行期间无法判断 ...

  10. Linux6.x 更换国内比较快的yum源-通用版

    ----------更换国内比较快的yum源----------- ----------163--------- cd /etc/yum.repos.d mv CentOS-Base.repo Cen ...