• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
坠落的星辰
博客园    首页    新随笔    联系   管理    订阅  订阅

Tomcat基本应用

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安装配置启动

yum安装:
	[root@web01 ~]# yum install java -y
	
	二进制安装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配置虚拟主机 ---> 一台服务器运行多个站点

<!--tomcat虚拟主机-->
<Host name="tomcat1.oldxu.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.oldxu.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.oldxu.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 -poldxu.com
MariaDB [(none)]> create database zrlog charset utf8;
	<---此前配置过all用户,可以复用
MariaDB [(none)]> grant all privileges on *.* to 'all'@'%' identified by 'oldxu.com';


jeesns  --社交
jpress  --博客		(群里-->新增Host -->新增站点目录--->jpress.war修改为ROOT.war)
zrlog   --博客


源码包-->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依赖)

#1.配置conf/server.xml 增加一个Host
        <!--jpress站点-->
      <Host name="jpress.oldxu.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>


#2.上传代码
[root@web01 ~]# mkdir /code/jpress && cd /code/jpress
[root@web01 jpress]# rz jpress.war
[root@web01 jpress]# mv jpress.war ROOT.war

#3.重启Tomcat
[root@web01 jpress]# /soft/tomcat/bin/shutdown.sh && /soft/tomcat/bin/startup.sh && tail -f /soft/tomcat/logs/catalina.out

7、Tomcat配置基础认证 ---> 了解

如何开启 Server Status  Host Manager页面
	#1.配置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@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+" />


--------------------------------------------------------------------------
#3.启用zrlog的基础认证 ---> zrlog.oldxu.com/admin     了解   使用Nginx替代
--------------------------------------------------------------------------
[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>


#配置用户名密码,关联对应的角色(多个role不要使用相同用户)
[root@es-node1 tomcat]# vim /soft/tomcat/conf/tomcat-users.xml
<role rolename="zrlog_role"/>
<user username="tomcat" password="123456" roles="zrlog_role"/>

#重启tomcat
[root@es-node1 ~]# /soft/tomcat/bin/shutdown.sh && /soft/tomcat/bin/startup.sh

8、部署多节点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.修改域名解析

9、部署多节点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.多节点挂载   
# mount -t nfs 172.16.1.31:/data/zrlog/ /code/zrlog/ROOT/attached/
posted @ 2019-12-24 11:21  坠落的星辰  阅读(425)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3