Java项目部署流程
不平衡的叉叉树 人气:0安装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; } }
图片回显操作
总结
加载全部内容