文章目录
java项目部署应用
一、JAVA项目的部署–Tomcat
1.介绍
JAVA的特点:
- 跨平台性强,平台兼容性强
- 自带内存的回收机制
-
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的区别
- nginx:处理静态请求的一个web应用服务。nginx只可以处理静态请求,涉及到动态请求,将请求代理给相应动态请求处理服务
- 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
三、通过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](https://img-blog.csdnimg.cn/img_convert/aa0b8550deed8e34d5209e3c432748d5.png)
5.遇到的问题
- 考虑如何通过域名访问,用80端口访问
- 如何实现站点的多实例
四、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 "%r" %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
五.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 "%r" %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 #清除已有包