1. 后端项目搭建易错说明

1.1 数据库链接异常

问题描述: 该报错说明程序与数据库链接失败了.

解决方案:
1. 检查数据库服务器是否启动.
2. 检查链接数据库的用户名/密码/端口号/数据库名称

3. 检查数据库权限/防火墙

1.2 后端服务器链接异常

1.2.1报错说明

说明:
1.可能是由于后端跨域注解没有添加导致的.
2.有可能根据域名 http://manage.jt.com无法找到8091服务器.

1.2.2 保证后端服务器启动正常

  1. 测试后端服务器是否正常

    如果上述的测试有问题
    报错原因:
    1.tomcat服务器启动问题
    2.tomcat服务器端口号问题 8091/8092
    3.防火墙没关

1.2.3 检查Nginx代理是否正常

1.检查nginx配置文件

2. 检查nginx启动项
将多余的服务关闭,之后重启

2. 后端项目集群部署

2.1 部署2台tomcat服务器

2.1.1 修改端口号

说明: 将项目修改端口号8092 之后项目打包部署.

2.1.2 上传安装包

2.1.3 启动8091/8092服务器

命令: java -jar 8091.jar & java -jar 8092.jar &

2.1.4 检查java程序是否正常运行

说明: 在Linux系统中检索java的服务器

2.1.5 关闭进程

说明: 如果需要手动的关闭某个服务器的进程项则执行如下指令.
命令:
1. kill PID号 常规关闭进程 进程可以执行善后操作
2. kill -15 PID号 较为强制的关闭.
3. kill -9 PID号 强制关闭进程. (后果自负)

2.1.6 配置nginx服务器

说明: 将nginx配置文件 改为集群的规则,之后重启nginx服务器

2.2 项目后台部署

2.2.1 需求说明

命令说明: java -jar xxxx.jar & 该命令是前端启动的命令, 如果当前终端关闭,则所有关联的tomcat服务器都会关闭. 所以前端启动不适合项目真正的部署. 应该开启后端运行的方式.

2.2.2 后端启动命令

1.命令: nohup java -jar 8091.jar => 8091.log &
2.进程项检查: ps -ef | grep 服务名称
将之前的结果当作后边的参数进行调用

2.2.3 日志命令

cat 输出文件所有的内容
more 输出文档所有的内容,分页输出,空格浏览下一屏,q退出
less 用法和more相同,只是通过PgUp、PgOn键来控制
tail 用于显示文件后几号,使用频繁
tail -10 nginx.conf 查看nginx.conf的最后10行
tail –f nginx.conf 动态查看日志,方便查看日志新增的信息

ctrl+c 结束查看

2.2.4 关于项目启动脚本说明

需求: 需要tomcat服务器实现秒级开启
创建文件: vim start.sh
编辑脚本文件:

运行脚本: sh start.sh

3. Nginx Linux部署

3.1 安装包下载

3.2 上传安装包

  1. 上传安装包
  2. 解压文件
    命令: tar -xvf nginx-1.21.1.tar.gz

3.3 关于nginx安装说明

3.3.1 源文件说明

路径: /usr/local/src/下的nginx 文件是源文件目录. 该源文件目的是安装配置真正的nginx.
改名: mv nginx-1.21.1 nginx-source

3.3.2 nginx 安装

  1. 配置nginx
    ./configure
  2. 编译nginx
    make

    1. 安装nginx
      make install
  3. nginx 检查
    whereis nginx

3.3.3 Nginx命令

windows:
启动 start nginx
重启 nginx -s reload
停止 nginx -s stop

Linux:
目录: /usr/local/nginx/sbin
启动 ./nginx
重启 ./nginx -s reload
停止 ./nginx -s stop

nginx启动测试:

  1. 浏览器测试方法
  2. 检索进程项

3.4 实现前端项目部署

3.4.1 最终部署流程图

3.4.2 部署前端项目

说明: 将前端的静态资源文件上传到指定的目录中 如图所示.

3.4.3 修改nginx配置文件

路径: /usr/local/nginx/conf/nginx.conf

#1.配置前端服务器server {listen 80;server_name web.jt.com;location / {root dist;index index.html;}}#2.配置图片反向代理server {listen 80;server_name image.jt.com;location / {root /usr/local/src/images;}}#3.配置tomcat集群upstream tomcats {server 192.168.126.129:8091;server 192.168.126.129:8092;}#4.实现后端反向代理server {listen 80;server_name manage.jt.com;location / {proxy_pass http://tomcats;}}

修改完成之后重启nginx服务器

3.4.4 修改hosts文件

说明: 如果没有购买域名 可以暂时修改hosts文件实现域名与IP的映射.
注意事项: 修改的是客户端的HOSTS文件目录.
修改hosts文件:

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

项目总结

记忆:知识点!!!

框架梳理阶段

1.环境介绍

1.IDEA环境搭建
2.Maven环境说明 每次IDEA工作目录切换 maven需要重新配置
1. 配置软件路径配置
2. settings文件配置
3. 仓库路径配置

2.框架整理

2.1 SpringBoot入门案例

2.1.1 POM.xml文件说明

1. parent标签:  当前SpringBoot的版本所有相关依赖的版本进行了定义.
2. dependencies标签:  需要哪个依赖哪个.
3. build标签:  项目打包发布     如果没有build标签运行时 报错:没有主清单信息.

2.1.2 配置文件格式

1.YML配置文件   1. 数据结构 key-value结构2. 写法    key:(空格) value   !!!!3. YML文件有层级结构  注意父子级语法的缩进4. YML文件程序默认读取时采用UTF-8编码
2.properties配置文件1.properties语法 是Key-Value结构1.1 基本写法  key=value  不要写多余的空格1.2 properties 本身就是字符串的数据类型,所以无需添加'号1.3 properties  IDEA设定UTF-8 是IDEA读取的字符集编码程序通过IO进行读取时,默认编码ISO-8859-1,所以中文必定乱码 需要设定字符集.

2.1.3 为属性赋值

将数据信息交给Spring容器管理,之后由@Value注解动态实现赋值操作.

2.1.4 Lombok操作

动态生成get/set/toString…等方法
常见注解:
//注解的作用: 动态的生成get/set/toString…方法
@Data //一般为属性赋值 get/set方法
@NoArgsConstructor //无参构造
@AllArgsConstructor //全参构造
@Accessors(chain = true) //开启链式加载(重写set方法)

lombol有效期: 编译期有效.

2.1.5 SpringBoot测试类机制

2.2 Mybatis知识整理

2.2.1 Mybatis注入说明

1.Spring容器通过报扫描注解@MapperScan 为Mybatis的所有的接口创建代理对象.
代理对象:
1. JDK动态代理 要求必须有接口
2. CGLIB动态代理 有无接口都可以,但是代理对象是被代理者的子类.

2.Mybatis常用注解
@Select("")
@Insert("") //新增时使用 “更新”
@Update("") //更新
@Delete("") //删除
自己将项目中的某个模块 手写Sql实现.

2.2.2 MP相关介绍

周边框架: JPA 直接操作JDBC的简易框架
MP核心思想: 以对象的方式操作数据库!!!
MP基本用法: SpringBootDemo3中的测试案例

2.3 前后端调用

2.3.1Ajax介绍

理念: 局部刷新,异步访问
ajax为什么可以异步: 组件1.客户端 组件2:Ajax引擎(代理) 组件3:后端服务器
请求类型: 查询 GET 修改PUT 删除DELETE 新增POST
Ajax请求参数 与SpringMVC接收 方式处理!!!

2.3.2 跨域问题

1.同源策略 请求协议://域名:端口号 应该都相同.
2.什么是跨域 Ajax请求网址与浏览器网址违反同源策略.
3.如何解决跨域 跨域资源共享CROS机制. 后端服务器通过响应头信息 添加允许访问的域名地址.

展望

1.自己购买一台云主机,将自己的项目部署到服务器中.
2.云主机中有安全策略 安全组的配置!!! 云平台保证用户安全 额外开发的防火墙.

CGB2104-Day20相关推荐

  1. Java基础day20

    Java基础day20 Java基础day20-多线程 1.实现多线程 1.1进程和线程 1.2实现多线程方式一:继承Thread类 1.3设置和获取线程名称 1.4线程优先级 1.5线程控制 1.6 ...

  2. 初学python之路-day20

    logging模块 # 日志:日常的流水 => 日志文件,将程序运行过程中的状态或数据进行记录,一般都是记录到日志文件中 # 在正常的项目中,项目运行的一些打印信息,采用looging打印到文件 ...

  3. LeetCode算法入门- Remove Element -day20

    LeetCode算法入门- Remove Element -day20 1. 题目描述 Given an array nums and a value val, remove all instance ...

  4. QT每日一练day20:事件处理机制

    运行结果: day20.pro QT += core guigreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsCONFIG += c++11# The fo ...

  5. 句句真研—每日长难句打卡Day20

    句句真研-每日长难句打卡Day20 参考译文:我们往往将二战结束后的几十年看做是一个繁荣与增长的时代,数以百万的士兵们返回家乡,他们在<退伍军人权利法案>的帮助下去上大学,在婚姻登记处排队 ...

  6. Python学习:day20正则表达式

    写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 传送门: day01基础知识 day02知识分类 day03 ...

  7. 21天Jmeter打卡Day20 响应断言,JSON断言

    21天Jmeter打卡Day20 响应断言,JSON断言 https://www.jianshu.com/p/0ab3e5e22673 响应断言 响应断言的适用于返回的是HTML文本,或者是XML文本 ...

  8. DAY-20 GAN模式崩溃的理论解释

    DAY-20 GAN模式崩溃的理论解释 原文链接: https://bbs.cvmart.net/articles/283 模式崩溃(mode collapse) 给定数据集合,我们用编码映射将其映入 ...

  9. 算法训练营 day20 二叉树 最大二叉树 合并二叉树 二叉搜索树中的搜索 验证二叉树

    算法训练营 day20 二叉树 最大二叉树 合并二叉树 二叉搜索树中的搜索 验证二叉树 最大二叉树 654. 最大二叉树 - 力扣(LeetCode) 给定一个不重复的整数数组 nums . 最大二叉 ...

  10. English Learning - Day20 作业打卡 2022.12.26 周一

    English Learning - Day20 作业打卡 2022.12.26 周一 引言 一.给出如下短语的汉语释义 1. a burning house 2. an ag(e)ing popul ...

最新文章

  1. java socket nio 阻塞_Java NIO实现非阻塞式socket通信
  2. Java 对象都是在堆上分配内存吗?
  3. NYOJ 648 数字1的数量
  4. Navicat查看建表代码ddl
  5. 基于ID3、C4.5算法的决策树相关知识
  6. JS Ajax异步请求发送列表数据后面多了[]
  7. 5 月份最热的 GitHub 项目
  8. 微服务架构如何实现网站服务垂直化拆分
  9. 基于matlab的高等数学,基于matlab的高等数学实验详解.ppt
  10. python 打开网页并截图_python实现自动网页截图并裁剪图片
  11. 大数据处理的五大关键技术及其应用
  12. 上海php程序员职友集,好程序员WEB前端培训|HTML5培训|H5培训-好程序员官网
  13. 每日思考第 61 期:职场PUA与情场PUA
  14. 【Unity3D】Tank大战
  15. 【菜鸟学习论文】2020_Wasserstein Distances for Stereo Disparity Estimation
  16. SpringCloud自定义负载均衡策略--LoadBalancer
  17. 小公司如何做项目管理流程
  18. 「To B端增长黑客」 获客矩阵
  19. 分布式 | dble 启动的时候做了什么之配置检测
  20. 前端开发打包工具——webpack(1)

热门文章

  1. 中国超级计算机gpu,英伟达(NVIDIA)Tesla GPU为全球最快的超级计算机提供动力支持...
  2. 刚子扯谈:我对黑客精神的一些认知
  3. 瑞幸咖啡CMO杨飞:一切产品皆可裂变,一切创意皆可分享
  4. [4G5G专题-48]:物理层-无线资源映射RE Mapping
  5. iPhone新机来了 你的旧手机要不要放到二手交易平台上?
  6. mysql slave是什么_是mysql作用
  7. iapp上传图片到云函数
  8. 如何下载安装和使用 Office 2016的中文语言包?
  9. 教育青少年计算机等级考试,《新编计算机等级考试培训教程 新一级》青少年素质教育丛书.pdf...
  10. iOS Crash报告分析