域名映射
作用:方便本地进行资源访问。不用记忆大量port。
流程:在本地 "C:\Windows\System32\drivers\etc" 的 hosts文件中配置,给服务器所在机器ip设置一个别名。由于没有端口,使用配置后的域名别名访问的话,默认是发往了80端口,也就是nginx监听的端口,所以,请求会先发送到nginx上,然后通过nginxd的反向代理,将请求服务器上的部署好的某个容器(软件)。
注意:只会在本机访问有效,因为配置在本机的系统的底层配置中。
1-1
项目部署
远程服务器上如何部署
中途接受项目,部分项目服开发完成,需要部署到远程服务器。
技术:
Gogs: 自助Gti服务,仓库(私服)
Jenkins:是一个可扩展的持续集成引擎。
( 持续、自动地构建/测试软件项目;监控一些定时执行的任务)
Jenkins工作流程:
①:从Gogs拉取项目;
②:在本地创建镜像;
③:运行镜像成为容器。
本地项目部署
接手项目后,管理的能够开发的服务,需要先从Gogs的仓库中,clone到本地。
服务配置有多个环境,切默认开启的环境要是部署在远程服务器上,事先一定要查看清楚配置文件,并修改配置文件,切换分支到本地,用本地服务替换远程服务。
常用的修改方式直接在运行/调试配置窗口的profiles active 栏中修改,当然也可在配置文件中激活本地开发的环境上。最后,将远程服务器上同名的服务下线(停止)就行了。
(开发完成的依然部署在远程即可)
项目发布
本地项目开发完成后(某个具体功能开发完毕),首先commit到本地仓库,紧接着合并发分支,在push到Gogs远程仓库。然后,Gogs就会通知Jekins来拉取新代码并且重新部署到服务器上。
1-2
Bug如何定位
测试开发好的功能时,使用浏览器中的开发者工具(F12),可以根据response中的错误提示信息,进入idea中搜索错误信息出处,这种方式的前提是醋错误提示语不是定义在枚举中的字符串常量,而是普通字符串;也可以,根据请求的四要素中的路径、方式依照请求一般从浏览器发往nginx-->gateway-->nacos(负载均衡)-->最终下的路径定位到一个controller,只要找到controller,以注释为主,代码为辅,找到业务的主干逻辑,使用debug工具,依靠断点来逐一排查代码中的bug.
1-3
登录流程
①接受用户账号密码的输入;
②做一个非空的判断;
③不为null,先根据用户名去数据库中查询;
④判断返回的对象不为空的情况下,加密用户输入的密码,跟库中的密码比对;
⑤比对成功,代表用户登录成功,然后制作token,返回给前端,并且编写一个拦截器,拦截所有非登录的请求;
⑥之后用户每次访问都要携带者token,拦截器会拦截进行一个校验,校验通过,用户方可正常访问,否则就不能进行后续的操作。
1-4
文章发布
一片文章的真正意义上的发布,大概需要经过文章预发布、内容安全审核(机审、人工审核)、发布文章,只有经通过容安全的审核的文章,才能进入大众的视野,否则是不予发布。
文章预发布:也就是一些具备资格的人可以在自媒体客户端上,整理发布文章,这个阶段文章还没有添加到app端,用户还不能查看;
内容审核:通常是借助第三方的接口进行审核,文章要用到的图片,通常存储在Minio上,在没有部署外网可以访问的域名情况下需要先下载才能审核;
发布文章:只有审核通过的文章,普通的用户才能在app端查看文章,审核不过的文章,就会修改状态,不能上线,人工介入处理。