Java项目部署完整流程:从安装JDK到实现文件上传的详细步骤

Java项目部署的完整流程(超详细!)

Java项目部署完整流程:从安装JDK到实现文件上传的详细步骤

更新时间是 2022 年 7 月 20 日 9 时 37 分 01 秒,作者是不平衡的叉叉树。

我相信许多 Java 新手都会碰到这样一个问题,他们跟着教材去敲代码时觉得很容易,然而当要让他们完整地实现一个应用项目时就不会了。下面这篇文章主要向大家介绍了关于 Java 项目部署的全部流程,有需要的朋友可以参考一下。

目录

安装JDK目标工作目录

上传JDK安装包

先准备好jdk安装包

然后直接拖拉到当前目录下,实现文件上传

解压安装包

解压所使用的命令为:tar 以及 -xvf 等参数,要解压的文件是 jdk-8u51-linux-x64.tar.gz 。

将文件名称进行修改,把“mvjdk-8u51-linux-x64”改为“jdk1.8”。

将 jdk-8u51-linux-x64.tar.gz 的安装文件进行删除操作,即执行 rm -rf jdk-8u51-linux-x64.tar.gz 命令。

解压了安装包之后,就可以把安装包删除掉,接着再对文件名称进行修改。

测试JDK

安装MariaDB数据库虚拟机测试

测试当前虚拟机是否可以正确链接外网

只需显示上述内容即可,无需等待全部执行完毕(此过程较为费时),输入 Ctrl+C 便可退出运行。

下载MariaDB数据库

命令:yum install mariadb-server

如果下载出现失败的情况,需要先使用下面的命令来清空已经安装的文件,接着再重新进行下载,即执行 yum clean all 命令。

键入y确认下载.

安装成功提示

数据库启动

在[root@localhost src]环境下,执行启动命令 systemctl start mariadb 。

在 [root@localhost src] 环境下,执行重启命令为 systemctl restart mariadb

在[root@localhost src]环境下,执行关闭命令,即停止 mariadb 服务,命令为 systemctl stop mariadb

设定开机自启动,具体操作为在终端中输入 [root@localhost src]# systemctl enable mariadb 。

关闭开机自启动。具体操作如下:在 root@localhost src 环境下,执行命令 # systemctl disable mariadb 。

初始化数据库

命令:mysql_secure_installation

测试数据库

命令:mysql -u root -p

键入密码:root

MySQL数据库远程访问配置

此时应该会报错,继续往下操作

链接数据库的说明

说明:

1. 如果需要远程链接数据库必须通过防火墙

如果要进行远程链接数据库的操作,那么数据库中必须开启远程访问权限。否则,就会拒绝链接。

配置Linux数据库权限

可以把 host 字段下的 localhost(实际上任意一个都可以)改成 %.

切换数据库mysql

切换mysql数据库

修改数据库表

查询user表中的host/root/password

.将host=“localhost” 改为 “%”

刷新数据库权限

配置Linux防火墙检查防火墙状态

命令:firewall-cmd --state

防火墙配置

防火墙存在一个配置文件,这个配置文件表明在 Linux 系统启动时,防火墙应该进行何种操作。

需求: 告诉linux系统以后开机不需要启动防火墙

执行命令以禁用 firewalld.service,即运行 systemctl disable firewalld.service 这条指令。

启动防火墙的开机自启动命令为:systemctl 去启用 firewalld.service 。

手动关闭防火墙

停止防火墙服务:执行 systemctl stop firewalld.service 这个命令。

启动防火墙:执行 systemctl start firewalld.service 命令。

手动开放防火墙端口

1). 检查防火墙开放的端口

命令:firewall-cmd --list-ports

2).检查端口是否开放

执行命令“firewall-cmd --query-port 80/tcp”,通过该命令来查询 80 端口的 TCP 状态。

3). 开启防火墙

使用 firewall-cmd 命令,将其作用域设置为 public 区域,添加端口 80 并指定为 tcp 协议,且设置为永久生效。

4).移除端口

使用 firewall-cmd 命令,将其作用域设置为 public 区域,移除 9090/tcp 这个端口的访问权限,并且是永久性的移除。

5).关于防火墙操作的解释

–zone #作用域

添加端口,其格式为端口/通讯协议,这里的端口为 80,通讯协议为 tcp

移除端口,其格式为端口/通讯协议,例如移除 80/tcp 这个端口

–permanent #永久生效,没有此参数重启后失效

6).重启防火墙

命令:firewall-cmd --reload

数据库远程测试

现在应该可以直接链接数据库了

导入项目数据库导出数据库

点击备份操作

选择导出的位置

导入数据库

1.右键点击导入

2. 导入数据之后执行刷新即可.

部署后台服务器创建目录

创建images目录,用于存放图片等文件

修改后端相关地址

将来所有的图片都会被上传到 Linux 的目录里,因此需要进行修改。

项目打包

idea 工具的右侧存在一个 maven。点击它可以打开项目的 lifecycle。接着点击 install 即可。

说明: 如果打包问题,则检查maven的配置!!!

上传jar包

上传刚刚已经打包好的jar包

说明:

在 /usr/local/src/ 这个位置创建用于存放 tomcats 的目录。

2. 在tomcats内上传8091.jar包文件

项目发布

命令:java -jar 8091.jar

效果:

测试效果

1.检查端口号是否正确

测试数据库链接是否处于正常状态。倘若出现如图所示的效果,那就意味着一切都正常。

Tomcat集群部署准备8092服务器

已经准备了 8091 的端口,现在要准备一个 8092 端口。可以直接修改 application.yml 配置文件里的端口号,将其改为 8092。接着进行打包操作,之后再传入 Linux 系统。

发布命令

使用命令,先执行 java -jar 8091.jar ,然后执行 java -jar 8092.jar 。

启动成功之后,回车跳入Linux系统.

弊端在于与当前的 Session 相绑定。倘若 Session 关闭了,那么服务器就会全部停止运行。

端口号占用问题

因为操作不当,有可能致使前一个 tomcat 服务器未能正常关闭,并且一直留存于内存之中。在此之后进行启动操作的话,必然会出现端口号被占用的情况。

查询: java进程命令 jps

关闭进程项

说明: 如果需要关闭Linux系统中的进程,则需要如下命令

语法: kill PID号

命令:

1. kill PID号 常规关闭进程

kil -15 的 PID 号关闭较为严格。当前的进程被其他进程引用,所以无法关闭。

3. kill -9 PID号 强制关闭进程

访问测试

说明: 切换8091/8092 检查服务是否正常即可

Nginx Nginx介绍

第一个公开版本 0.1.0 于 2004 年 10 月 4 日发布。

它以类 BSD 许可证的形式发布了源代码。它因稳定性而闻名,也因丰富的功能集而闻名,还因简单的配置文件而闻名,同时因低系统资源的消耗而闻名。2011 年 6 月 1 日,nginx 1.0.4 发布了。

Nginx 是一款轻量级的服务器。它可以作为 Web 服务器,也可以作为反向代理服务器,还能作为电子邮件(IMAP/POP3)代理服务器。它是在 BSD-like 协议下发行的。其特点是占用内存少,并发能力强。事实上,在同类型的网页服务器中,nginx 的并发能力表现较好。在中国大陆,使用 nginx 的网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

特点:

1.nginx 是反向代理服务器/web服务器

2.占用内存少 不到2M tomcat 300-400M

3.并发能力强 3-5万次/秒

tomcat 的并发能力为 150 至 220 次每秒。对 JVM 进行调优(增大运行内存)后,其并发能力可达 1000 次每秒。

4.解析:

1.功能简单 只做请求的"转发"处理

2.开发语言 C语言

Nginx的代理机制反向代理

反向代理服务器处于用户与目标服务器之间。对于用户来说,反向代理服务器等同于目标服务器。这意味着用户直接访问反向代理服务器,就能获取到目标服务器的资源。并且,用户无需知晓目标服务器的地址,也不用在用户端进行任何设定。反向代理服务器常可被用于实现 Web 加速。也就是利用反向代理作为 Web 服务器的前置设备,以此来减轻网络和服务器的负载,进而提升访问的效率。

总结:

1. 代理服务器位于 用户和服务器之间

2. 用户以为代理服务器就是目标服务器.

3. 用户无需了解真实服务器地址.

4. 反向代理服务器保护了服务器端的信息 (服务器端代理)

正向代理

正向代理,指的是存在于客户端与原始服务器之间的服务器。客户端为了从目标服务器获取内容,会向代理发送一个请求并指明目标(即原始服务器)。接着,代理会将该请求转交至原始服务器,之后把获得的内容再返回给客户端。

特点:

1. 代理服务器位于用户与服务器之间

2. 用户了解访问的服务器到底是谁.(指定了访问的服务器)

3. 只有用户可以使用正向代理 (客户端代理)

4. 正向代理保护了用户的信息.

小结:

反向代理起到了保护服务器信息的作用。这种保护作用被称为服务器端代理,主要用于业务数据的获取。

正向代理起到了保护用户信息的作用。它被称作客户端代理。(在网络出口方面)

3. 用户每次请求几乎都有正向和反向代理的影子.

前端项目发布nginx目录结构说明

http {
	#每个服务都是一个server
    server {
    	#默认监听80端口
        listen       80;
        #监听域名信息
        server_name  localhost;
		#具体反向代理服务 / 默认写法
        location / {
        	#root 代理的是一个目录
            root   html;
            #默认访问页面
            index  index.html index.htm;
        }
	}
}

前端发布准备工作修改前端的main.js

修改AddItem.vue文件

前端打包操作项目打包

查看打包目录dist

上传前端项目

将前端打包好的目录 dist 上传至指定位置,即 /usr/local/nginx 目录下,情况如图所示。

修改hosts文件

路径为 C:\Windows\System32\drivers\etc

修改文件内容(注意权限问题):

127.0.0.1       localhost
::1             localhost
#图片服务器域名
#127.0.0.1       image.jt.com
#前端域名地址
#127.0.0.1       web.jt.com
#后端域名地址
127.0.0.1 对 manage.jt.com 实施管理操作。
 
#Linux系统配置 只对本机测试有效
192.168.126.129 是 image.jt.com 。
192.168.126.129 这个地址对应的是 web.jt.com 。
192.168.126.129 与 manage.jt.com 相关联。192.168.126.129 指向 manage.jt.com 。192.168.126.129 对应 manage.jt.com 。

配置前端反向代理

通过 80 端口来访问前端的静态资源文件,这需要修改 nginx 配置文件。

#配置前端服务器
	server {
		listen 80;
		server_name web.jt.com;
 
		location / {
			root dist;
			index index.html;
		}
	}

删除原来的配置文件,上传修改之后的

重启nginx服务(注意是在sbin目录下重启)

项目访问

后端服务器发布需求分析

前端项目 web.jt.com 向某个地方发送请求,这个地方是后端服务器 manage.jt.com 。

后端服务器的 8091 可以为用户提供服务,后端服务器的 8092 也可以为用户提供服务。

难点: 通过域名负载均衡一个服务器 为用户提供数据支持.

配置tomcat集群

采用轮询策略来依次访问服务器,以此实现负载均衡机制。倘若各个服务器的性能存在差异,那么就可以通过分配权重来决定各个服务器的访问次数。

#一次请求,访问一个服务器 集群的配置 负载均衡机制
	# upstream 集群的关键字.
	# tomcats 是集群的名称 可以任意 xxxx
	# server  每个服务的地址
	# 默认采用轮询的策略,依次访问服务器.
使用权重来分配各个服务器的访问次数,例如在下面一轮(进行 3 次访问)的过程中,91 被访问了两次,92 被访问了 1 次。
	upstream tomcats {
服务器 192.168.126.129 其端口为 8091 且权重为 2 ;
服务器 192.168.126.129 的端口为 8092 且权重为 1。
	}
 
	
	#配置后端服务器 8091/8092
	#后端域名  manage.jt.com
	server {
		listen 80;
		server_name manage.jt.com;
 
		location / {
反向代理服务器发起了一个 http 请求,这个请求是关于网址的代理。
			proxy_pass  http://tomcats;
		}
	}

上传文件重启服务

修改了上面的配置文件之后,需删除原有的文件,上传修改之后的

重启nginx服务器

负载均衡测试

这就是一轮刷新页面后得到的结果。

前后端联调

使用了 nginx 后,无需通过 ip 直接访问服务器,而是采用域名进行访问。这样做更便于用户理解,同时也能保护服务器信息。

图片回显图片请求说明

说明用户请求的是一个网址,并且要求将其代理到 /usr/local/src/images 这个目录,这就是该目录的代理情况。

配置图片反向代理

修改配置文件成功后,需上传 nginx.conf 文件,接着重启服务器。

    #配置图片反向代理  image.jt.com 
	server {
		listen 80;
		server_name image.jt.com;
		location / {
            #目录的代理
			root /usr/local/src/images;
		} 
	}

图片回显操作

总结

这篇关于 Java 项目部署的完整流程的文章到此就介绍完毕了。如果想了解更多相关 Java 项目部署流程的内容,可以搜索脚本之家以前的文章,或者继续浏览下面的相关文章。希望大家以后能多多支持脚本之家!

你可能想看:
« 上一篇
下一篇 »

相关推荐

java中什么是冒泡,冒泡算法

2026年09月06日

27阅读

java中冒号,java双冒号

2026年09月06日

26阅读

java中的->,java中的是什么意思

2026年09月06日

24阅读

java中的super用法,Java中super的说明

2026年09月06日

28阅读

java中反射的应用,java中反射的应用场景

2026年09月06日

25阅读

java中开关的定义,Java关键字有哪些

2026年09月06日

25阅读