安装JDK

目标工作目录

上传JDK安装包

先准备好jdk安装包

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

解压安装包

解压命令:  tar -xvf jdk-8u51-linux-x64.tar.gz

修改文件名称:  mv jdk-8u51-linux-x64 jdk1.8

删除安装文件: rm -rf jdk-8u51-linux-x64.tar.gz

已经解压了安装包,就可以将安装包删除了,然后修改一下文件名称

测试JDK

安装MariaDB数据库

虚拟机测试

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

 只要显示上述内容就可以了,不用等全部执行完(费时),键入Ctrl C退出运行即可.

下载MariaDB数据库

命令:yum install mariadb-server

如果下载失败,使用下面命令先清空已安装的文件,然后重新下载:yum clean all

 键入y确认下载.

安装成功提示

数据库启动

    1.   启动命令    [root@localhost src]# systemctl  start  mariadb
    2.   重启命令    [root@localhost src]# systemctl  restart  mariadb
    3.   关闭命令    [root@localhost src]# systemctl  stop  mariadb
    4.   设定开机自起 [root@localhost src]# systemctl  enable mariadb 
    5.   关闭开机自起 [root@localhost src]# systemctl  disable mariadb 

初始化数据库

命令: mysql_secure_installation

测试数据库

命令:mysql -u root -p

键入密码:root

MySQL数据库远程访问配置

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

链接数据库的说明

说明:

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

2. 如果远程链接数据库,数据库中必须开启远程访问权限才行,否则拒绝链接.

 配置Linux数据库权限

 可以将host字段下的localhost(其实哪一个都可以)修改为%.

切换数据库mysql

切换mysql数据库

修改数据库表

查询user表中的host/root/password

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

 刷新数据库权限

配置Linux防火墙

检查防火墙状态

命令:firewall-cmd --state

防火墙配置

说明:防火墙中有一个配置文件,表示当Linux系统启动时防火墙应该如何操作!!!

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

命令: systemctl disable firewalld.service

 开机启动防火墙命令:systemctl enable firewalld.service

手动关闭防火墙

关闭防火墙:systemctl stop firewalld.service

开启防火墙:systemctl start firewalld.service

手动开放防火墙端口

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

命令:firewall-cmd --list-ports

2).检查端口是否开放

命令:firewall-cmd --query-port 80/tcp

3). 开启防火墙

 命令:firewall-cmd --zone=public --add-port=80/tcp --permanent

 4).移除端口

命令: firewall-cmd --zone=public --remove-port=9090/tcp --permanent

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

–zone #作用域

–add-port=80/tcp #添加端口,格式为:端口/通讯协议

–remove-port=80/tcp #移除端口,格式为:端口/通讯协议

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

6).重启防火墙

命令:firewall-cmd --reload

数据库远程测试

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

导入项目数据库

导出数据库

点击备份操作

 选择导出的位置

导入数据库

1.右键点击导入

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

部署后台服务器

创建目录

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

修改后端相关地址

说明: 将来所有的图片都会上传到Linux的目录中,所以需要进行修改. 

项目打包

idea工具右边有个maven,点击打开项目的lifecycle,点击install

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

上传jar包

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

说明:

1. 在/usr/local/src/ 创建tomcats的目录

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

项目发布

命令:java -jar 8091.jar

效果:

测试效果

1.检查端口号是否正确

 2. 测试数据库链接是否正常 如果出现如图效果 ,则表示一切OK

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号 常规关闭进程

2. kil -15 PID号 较为严格的关闭. (当前的进程被其他进程引用 无法关闭)

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

访问测试

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

Nginx  

Nginx介绍

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本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. 反向代理服务器保护了服务器端的信息 (服务器端代理)

正向代理

正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从目标服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。

特点:

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

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

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

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

小结:

1. 反向代理保护了服务器信息. 称之为服务器端代理(业务数据获取)

2. 正向代理保护了用户的信息. 称之为客户端代理. (网络出口)

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

配置前端反向代理

通过http://web.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 {
		server   192.168.126.129:8091 weight=2;
		server   192.168.126.129:8092 weight=1;
	}
 
	
	#配置后端服务器 8091/8092
	#后端域名  manage.jt.com
	server {
		listen 80;
		server_name manage.jt.com;
 
		location / {
			#proxy_pass 反向代理服务器发起的是一个http请求,网址的代理
			proxy_pass  http://tomcats;
		}
	}

上传文件重启服务

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

重启nginx服务器

负载均衡测试

输入网址后,连续刷新3次页面,可以得到前面两次的端口号都是8091,最后一次是8092,这是一轮的结果

前后端联调 

使用了nginx之后,不需要使用ip直接访问服务器,而是使用了域名访问,更便于用户理解,保护了服务器信息.

图片回显

图片请求说明

说明: 用户请求网址 http://image.jt.com 要求代理到 /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项目部署流程内容请搜索Devmax以前的文章或继续浏览下面的相关文章希望大家以后多多支持Devmax!

Java项目部署的完整流程(超详细!)的更多相关文章

  1. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  2. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  3. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  4. Java实现世界上最快的排序算法Timsort的示例代码

    Timsort 是一个混合、稳定的排序算法,简单来说就是归并排序和二分插入排序算法的混合体,号称世界上最好的排序算法。本文将详解Timsort算法是定义与实现,需要的可以参考一下

  5. 带你一步步从零搭建一个Vue项目

    Vue.js是现在比较优秀的Web前端框架,非常推荐大家入门学习,这篇文章主要给大家介绍了关于如何一步步从零搭建一个Vue项目的相关资料,文中通过图文以及实例代码介绍的非常详细,需要的朋友可以参考下

  6. Java日期工具类的封装详解

    在日常的开发中,我们难免会对日期格式化,对日期进行计算,对日期进行校验,为了避免重复写这些琐碎的逻辑,我这里封装了一个日期工具类,方便以后使用,直接复制代码到项目中即可使用,需要的可以参考一下

  7. Java设计模式之模板方法模式Template Method Pattern详解

    在我们实际开发中,如果一个方法极其复杂时,如果我们将所有的逻辑写在一个方法中,那维护起来就很困难,要替换某些步骤时都要重新写,这样代码的扩展性就很差,当遇到这种情况就要考虑今天的主角——模板方法模式

  8. Java 中 Class Path 和 Package的使用详解

    这篇文章主要介绍了Java 中 Class Path和Package的使用详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下

  9. java SpringBoot 分布式事务的解决方案(JTA+Atomic+多数据源)

    这篇文章主要介绍了java SpringBoot 分布式事务的解决方案(JTA+Atomic+多数据源),文章围绕主题展开详细的内容介绍,具有一定的参考价值,感兴趣的小伙伴可以参考一下

  10. Java一维数组和二维数组元素默认初始化值的判断方式

    这篇文章主要介绍了Java一维数组和二维数组元素默认初始化值的判断方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部