CGB2111-Day18
1. 前后端项目发布
1.1 图片回显操作
1.1.1 检查图片上传路径是否正确
1.1.2 浏览器检查图片是否正确
说明: 如果该操作正常, 则表示后端代码没错!!!
1.1.3 检查hosts文件是否有效
主要作用: 实现域名与IP地址的映射.
127.0.0.1 image.jt.com
127.0.0.1 manage.jt.com
127.0.0.1 web.jt.com
1.1.4 检查nginx代理配置
2. 检查nginx 是否正常
1.1.5 检查返回值是否正确
注意事项:
1.代理的路径不要有中文, 空格…
2.计算机名称是否为中文!!!
3.使用代理时,不要开启网络代理
1.2 Nginx常用属性
1.2.1 down属性
说明: 如果要求nginx 不将请求发送给某个服务器,则使用down属性
1.2.2 backup 属性
说明: 可以理解为备用机, 正常情况下,该服务器不会被访问. 当其它服务器遇忙时,或者全部down掉时,该服务器才会有效!.
解决并发问题的策略:
如果出现瞬间高并发的问题,这时备用机已经不能满足需求,则应该在架构设计中,采用熔断机制!!
100万/90万!!! 将多余的10万请求 直接熔断:保证服务器正常. 舍弃个别用户的请求.即可
#配置tomcat服务器集群 默认原则: 1.轮询策略upstream tomcats {#ip_hash;server 127.0.0.1:8091 down;server 127.0.0.1:8092 backup;server 127.0.0.1:8093 down;}
1.2.3 nginx 实现tomcat高可用
说明: 当tomcat服务器意外关闭时,nginx 还没有标识down熟悉时, 则nginx 依然会将请求发送给该服务器.这时看到用户的请求一直在"转圈" 2-3秒之后,切换其它服务器 进行访问. 这样的话 用户体验不好.
如何解决: 可以为nginx配置 自检的功能. 如果发现服务器宕机,则在指定的时间内,不会再次访问故障机!!!
#配置tomcat服务器集群 默认原则: 1.轮询策略upstream tomcats {#ip_hash;# 如果访问服务器 失败1次之后,60s之内 不会再次访问故障机.server 127.0.0.1:8091 max_fails=1 fail_timeout=60s;server 127.0.0.1:8092 max_fails=1 fail_timeout=60s;server 127.0.0.1:8093 max_fails=1 fail_timeout=60s;}
2 前端项目发布
2.1 项目发布端口号说明
- localhost:8000 前端脚手架的客户端工具.
- localhost:8080 前端的业务服务器.
- localhost:8091-8093 后端业务服务器.
2.2 前端项目发布说明
前端项目其实就是静态资源的集合体. HTML/CSS/JS, 静态资源通常是由脚手架工具进行编译之后生成的文件.
- 编译项目
- 检查静态资源文件
2.3 前端项目发布准备
修改main.js
修改AddItem.vue
将前端项目重新打包
2.4 前端项目
服务器说明: 由于生产环境下 不需要安装脚手架工具,所以没有8080的服务器. 所以需要准备一个可以抗击高并发的web前端服务器. 所以可以将nginx 当做web服务器使用.
1). 上传静态资源文件到nginx根目录中
2).配置反向代理 web.jt.com
说明: 修改完成之后记得保存!!!,之后重启nginx
#3.配置前端代理服务器server {listen 80;server_name web.jt.com;location / {root dist;index index.html;}}
3). windows项目发布
3. 完成Linux项目发布
3.1 Linux学习
3.1.1 关于路径说明
3.2 安装Linux JDK
3.2.1 上传JDK安装包
- JDK安装包位置
- 确定Linux的目录,并且上传文件
3.2.2 解压文件
命令: tar -xvf jdk-8u51-linux-x64.tar.gz
3.2.3 检查JDK是否有效
3.2.4 JDK环境变量配置
命令1: vim /etc/profile
#设定jdk环境
export JAVA_HOME=/usr/local/src/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib
命令2: 让环境变量有效 source /etc/profile
4 提前安装Maridb数据库
4.1 预习安装步骤
数据库安装文档
5.Linux项目发布
5.1 Linux项目发布流程图
5.2 安装Mariadb
数据库安装文档
5.3 部署tomcats集群
5.3.1 修改业务配置
- 修改数据库配置
- 修改文件上传根目录
- 检查pom.xml文件
5.3.2 tomcat服务器部署
上传jar包文件
运行jar包文件 指令: java -jar 8091.jar &
启动测试:
5.3.3 关闭tomcat服务器
- 检索java 服务项 jps
- 关闭进程
kill pid号
kill -15 pid号
kill -9 pid号 强制杀死 线程直接终止 后果自负
5.3.4 准备3台tomcat服务器
1.准备8091/8092/8093的服务器,之后完成代码调试
2. 效果测试
5.3.5 项目后端运行
说明: 由于上述的命令 操作时程序与客户端窗口绑定,则该操作是前端绑定, 如果客户端窗口关闭,则服务停止. 所以后期项目发布采用后端项目运行的方式.
命令: nohup java -jar 8091.jar => 8091.log &
5.3.6 日志检查
cat 输出文件所有的内容
more 输出文档所有的内容,分页输出,空格浏览下一屏,q退出
less 用法和more相同,只是通过PgUp、PgOn键来控制
tail 用于显示文件后几号,使用频繁
tail -10 nginx.conf 查看nginx.conf的最后10行
tail –f nginx.conf 动态查看日志,方便查看日志新增的信息
ctrl+c 结束查看
5.3.7 脚本启动方式
说明: 如果每次都启动单台服务器,启动的效率很低, 则可以考虑采用脚本的方式运行.
命令:
1. vim start.sh
2. 编辑脚本文件
#!/bin/sh
nohup java -jar 8091.jar => 8091.log &
nohup java -jar 8092.jar => 8092.log &
nohup java -jar 8093.jar => 8093.log &
3. 运行脚本 sh start.sh
5.4 安装nginx
nginx安装步骤
CGB2111-Day18相关推荐
- Python学习路程day18
Python之路,Day18 - Django适当进阶篇 本节内容 学员管理系统练习 Django ORM操作进阶 用户认证 Django练习小项目:学员管理系统设计开发 带着项目需求学习是最有趣和效 ...
- day18 17.c3p0连接池使用
连接池时间长不用空闲着,dbcp是不回收的,性能可能有些问题.c3p0是可以自动回收.实际开发中c3p的生产力比dbcp强,性能上更强. package cn.itcast.datasource;im ...
- Day18 (二)反射
反射机制是什么 反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称为java ...
- python合法关键字是_python练习题-day18
1.匹配一行文字中的所有开头的字母内容 import re s="i love you not because of who you are, but because of who i am ...
- 初学python之路-day18
time时间模块 时间戳(timestamp):time.time() 延迟线程的运行:time.sleep(secs) (指定时间戳下的)当前时区时间:time.localtime([secs]) ...
- Java基础day18
Java基础day18 Java基础day18-字节缓冲流&字符流 1.字节缓冲流 1.1字节缓冲流构造方法 1.2字节流复制视频 2.字符流 2.1为什么会出现字符流 2.2编码表 2.3字 ...
- LeetCode算法入门- Multiply Strings -day18
LeetCode算法入门- Multiply Strings -day18 题目介绍 Given two non-negative integers num1 and num2 represented ...
- QT每日一练day18:文件IO
一.读文件 day18.pro SOURCES += \main.cpp main.cpp #include<QFile> #include<QDebug> int main( ...
- 句句真研—每日长难句打卡Day18
句句真研-每日长难句打卡Day18 参考译文:但研究者认为,如果外部董事在坏消息爆发前就已离开公司,那么他们会更容易避免声誉受损,即便历史记录显示'"错误行为形成时,董事们尚在其职" ...
- Python菜鸟入门:day18编程学习
写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 传送门: day01基础知识 day02知识分类 day03 ...
最新文章
- 最新 Windows 7 7100安装
- kustomize+argo
- Facebook上的一道题,超过50万的评论和1万3500次分享
- python 仪表盘_如何使用Python刮除仪表板
- Cloudera-Manager 与 原生集群 免密登录问题
- 21天Jenkins打卡Day9-保留构建
- 代码也浪漫——Python烟花秀
- seo链轮应该怎么去做
- C#实现Word批量转换Pdf
- python训练数据集_python 划分数据集为训练集和测试集的方法 python中如何实现将数据分成训练集与测试集...
- linux pack文件镜像,使用buildpack-deps 构建自己的入容器镜像
- SHERlocked93 的 2019 年终总结
- JavaScript Core -- 不可小视的标点符号
- 博弈论中的零和对策和非零和对策
- 【安卓】电脑执行脚本控制安卓手机
- 判断网站统计中某个访客IP是否为百度蜘蛛的方法
- 几本经典的云计算方面的书籍下载-电子书下载
- 参考文献中不同符号的含义
- appendChild is not a function
- 《算法之美》全解读 序言
热门文章
- Python免费的家庭视频监控系统(1)
- 关于差分隐私的一些基本概念的整理
- Windows系统SNMP数据监测与OID
- win10默认浏览器里多余了一个无效选项
- Fatal error: Uncaught Error: Call to undefined function mysql_connect()问题解决
- git push提示dst refspec XXX matches more than one
- 测试总结:如何进行弱网测试
- 一个字符导致oracle安装出现ora-12154
- Buuctf—极客大挑战练习
- 图片放大不影响画质怎么做?这样放大不失真