java项目部署应用

java项目部署应用

一、JAVA项目的部署–Tomcat

1.介绍

JAVA的特点:

  1. 跨平台性强,平台兼容性强
  2. 自带内存的回收机制
  • JVM:java virtual machine。java虚拟机。提供一套java语言的运行环境,java语言的转码器

    java跨平台性的体现

    准备了一系列的内存管理(新生代,老生代,永久代)

  • JRE:Java Runtime Enviroment。java运行时环境。JVM+java运行库。java运行环境

    库:注册页面:处理请求。java和数据库交互

  • JDK:Java development kit。JRE+java编辑器+java工具

2.什么是Tomcat

java语言的web应用,tomcat大型jdk环境管理器

  • tomcat和nginx的区别
  1. nginx:处理静态请求的一个web应用服务。nginx只可以处理静态请求,涉及到动态请求,将请求代理给相应动态请求处理服务
  2. tomcat:处理java语言的动态请求web应用服务。既可以处理静态请求,也可以处理动态java资源请求
    • LNMT:tomcat虽然能处理静态请求,但是处理效率极差
    • tomcat配置较为单一,功能性较差

二、tomcat的部署与安装

1.安装方式

yum安装:支持,但是路径混乱,不方便管理

二进制安装:解压即用

2.二进制安装tomcat

cd /usr/local
上传tomcat和jdk包
#安装jdk
rpm -ivh jdk-8u102-linux-x64.rpm
# 检查jdk
java -version

#安装tomcat
tar xvf apache-tomcat-8.0.27.tar.gz
#创建软链接
ln -s /usr/local/apache-tomcat-8.0.27 /tomcat

3.tomcat的目录结构

bin:存放tomcat的命令
	catalina.sh		#tomcat管理jvm虚拟机的脚本
	startup.sh		#tomcat启动脚本
	shutdown.sh		#tomcat关闭脚本
conf:存放tomcat一系列配置文件
lib:存放tomcat依赖的运行库环境
logs:存放日志
temp:存放内存生成的临时文件
webapps:默认存放tomcat部署的项目的代码
work:工作目录

4.启动tomcat

/tomcat/bin/startup.sh
#检查端口
netstat -lntup
tcp6       0      0 :::8080                 :::*                    LISTEN      2571/java
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      2571/java
tcp6       0      0 :::8009                 :::*                    LISTEN      2571/java

f5e2a2dd4a0a3309eb6e213a4aa31efc

三、通过tomcat部署java项目

1.代码托管平台

gitee.com
github.com

2.java项目的部署

jar:java -jar

war:Tomcat部署运行

3.清空代码目录

rm -rf /opt/*
mv /tomcat/webapps/*  /opt/

4.上传war包

自动解压
tomcat默认读取代码路径名称ROOT。因此修改目录名称ROOT
mv jpress-v3.3.0.war ROOT.war
5a01b72c35ecc6d192f9cdb10c81223b

5.遇到的问题

  1. 考虑如何通过域名访问,用80端口访问
  2. 如何实现站点的多实例

四、tomcat配置管理

1.配置文件介绍

/tomcat/conf
server.xml 		#tomcat主配置文件。类似nginx的nginx.conf
context.xml		#存放的全是tomcat针对请求的url的匹配规则。类似于Nginx的location的东西
tomcat-user.xml	#配置tomcat运行用户和绑定的角色

2.server.xml的配置管理

Server				#定义每个服务的信息。nginx中的server
	Service			#定义网站
		connector 	#连接器。定义网站的监听端口。类似nginx中的listen
		host		#定义网站域名,代码路径,日志路径。类似于nginx中的server_name和root

3.通过修改配置文件实现通过jpress.dms.com访问jpress

vim /tomcat/conf/server.xml
# 配置监听端口
<Connector port="80" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
# 配置域名和代码路径
<Host name="jpress.dms.com"  appBase="webapps"
      unpackWARs="true" autoDeploy="true">
name 		#域名
appBase 	#代码路径
unpackWARs 	#是否解压war包
autoDeploy 	#是否自动解压
  <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
         prefix=" localhost_access_log" suffix=".txt"
         pattern="%h %l %u %t &quot;%r&quot; %s %b" />
</Host> 

4.重启tomcat

/tomcat/bin/shutdown.sh
/tomcat/bin/startup.sh

5.部署额外网站

冲突问题:域名,端口

额外部署zrlog项目
1.编写配置文件
vim /tomcat/conf/server.xml
      <Host name='zrlog.dms.com'  appBase='zrlog' unpackWARs="true" autoDeploy="true" >
      </Host>

2.准备war包
cd /tomcat/zrlog
上传zrlog包自动解压
#重命名
mv zrlog-2.2.1-efbe9f9-release_.war ROOT.war
#重启tomcat
/tomcat/bin/shutdown.sh
/tomcat/bin/startup.sh

fc994b1642704fe176924a3c3be0dc50

五.tomcat日志管理

catalina  #存放tomcat调用jvm日志信息
#配置自定义日志文件
vim /tomcat/conf/server.xml
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="zrlog_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
directory	#日志存放目录
prefix		#日志名称
suffix		#日志格式

六、添加系统角色

vim /tomcat/conf/tomcat-users.xml
<tomcat-users>
      <role rolename="tomcat"/>
      <role rolename="role1"/>
      <role rolename="manager-script"/>
      <role rolename="manager-gui"/>
      <role rolename="manager-status"/>
      <role rolename="admin-gui"/>
      <role rolename="admin-script"/>
      <user username="tomcat" password="tomcat" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>
</tomcat-users>

权限说明
admin-gui       — 可访问 "host管理" 页面,但"APP管理" 和 "服务器状态" 页面无查看权限
manager-gui     — 无 "host管理" 页面访问权限,有"APP管理" 和 "服务器状态" 页面查看权限
manager-status  — 只有"服务器状态" 页面查看权限
manager-script  — 有脚本方式管理接口访问权限和"服务器状态" 页面查看权限
manager-jmx     — JMX 代理接口访问权限和"服务器状态" 页面查看权限
admin-script    — 只有host-manager脚本方式管理接口访问权限
<user username="tomcat" password="123456" roles="manager-gui,admin-gui"/>

七、部署java项目方式——运行jar包项目

1.war包——tomcat运行

2.jar包

关闭tomcat服务
java -jar
nohup java -jar reader-pro-2.7.3.jar --spring.profiles.active=prod --reader.app.secure=true --reader.app.secureKey=123 &

八、maven代码封装过程

1.介绍

通过编译java源代码,封装成war包或者jar包

2.安装maven工具

cd /usr/local
上传解压
tar xvf apache-maven-3.8.4-bin.tar.gz
# 创建软链接
ln -s /usr/local/apache-maven-3.8.4 maven
#配置maven
vim /usr/local/maven/conf/settings.xml
第168行注释,添加

<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexux aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

# 设置环境变量
export PATH="$PATH:/usr/local/maven/bin"
## 变量永久生效
echo 'export PATH="$PATH:/usr/local/maven/bin"' >>/etc/profile

#通过maven封装编译源码
pom.xml		#maven封装源码所依赖的环境配置文件
maven封装必须和pom.xml在同级目录
mvn
	package	#封装源码包
	clean	#清除已有包
  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值