如何搭建一个自己的网站-项目篇

咪哥杂谈

共 1307字,需浏览 3分钟

 · 2020-07-22

咪哥杂谈


0f086ab39f7bb90c8cc0a94c694ca9d7.webp

本篇阅读时间约为 3 分钟。


1

前言


这周要来分享的是项目篇。
简单的来介绍,我们访问整个网页的流程是什么,从访问网页,背后经历了什么,以及我用到的技术栈。



2

访问网页的背后


在 2019 的时候,当初在写 Python 的 Flask 框架时,写到过一篇文章:访问网页的背后,究竟发生了什么?
当时的流程图是这样的:

fcfbe9228561c0191edf9723513c5df7.webp

但这次的网站服务有变动,如下:

dc5d8e56741e73b8513acb51bc9debaf.webp


这次后端服务选用的是 Java 来开发后台应用。


按照流程来简单的说下:


当通过浏览器访问域名时,会被 DNS 服务器解析成 ip,请求到相应的阿里云服务器,第一层走到的是 Nginx 软件。


Nginx 是一个负载均衡的软件,可以简单的理解为它可以将上层调用过来的请求转发给下层服务。


选择 Nginx 的目的没啥,就是为了单纯的玩玩,以目标来驱动学习,在之前的公司中并没有接触过 Nginx,都是别人配好的。


通过这次实战,对 Nginx 的配置了解了不少。


Nginx 目录下有个配置文件叫 nginx.conf,默认改它就好:

721e67938a08c7940918cc5c324b2239.webp

具体配置就不放了,知道它的主要作用是请求转发即可。


在后面,调用的是 jar 包提供的 web 服务。具体也不介绍,大家也不会感兴趣,大部分关注本号的都是学 Python 的。


整个 jar 包是用 docker 虚拟化来发布的。用 docker 也是为了玩技术。现在的一线互联网公司,大部分项目都会使用 docker 来虚拟化自己的微服务。


docker有 5 个好处:

持续集成、版本控制、可移植性、隔离性、安全性


个人项目其实完全没必要使用 docker 来部署,但如果你想让别人使用你的项目,可以利用 docker 打成镜像服务提供给别人。


别人想使用的话,只需要安装 docker 即可,到时候把你的镜像拉下来启动 docker 就能完成服务的迁移。非常的友好和便利。


最后,关于部署,如果是传统公司的运维同学,一定经历过自己写 shell 脚本的痛苦。


上家公司,我经历过自己用 Linux 脚本来人肉停止,更新,部署,启动项目的整个流程。不仅消耗精力,而且还浪费时间。


程序员,懒惰是第一生产力,那有能把流程自动化的工具,为什么不用呢?能把这一套流程自动化的工具,叫 Jenkins 。


e3f817544a217357cead390959e1dabb.webp



可以通过配置,写好流程,当每次项目的代码有所变更,它会自动从 git 上拉取服务,然后按照脚本中写好的流程,自动停止服务,更新服务,启动服务。


配置:

b87a011b2e8bb80dfb32ddf6089cc670.webp


以上,就是本项目涉及的东西,感兴趣的小伙伴可以自行参考下。不感兴趣的忽略本篇内容即可。



3

总结


本篇简单的介绍了我在这次建站中用到的一些技术和软件的选型。


简单的总结下涉及到的技术关键词:


  • java

  • Nginx

  • docker

  • Jenkins


有许多主流技术都是为了学习而选用的,其实像现在这种小服务,完全没必要搞这么复杂。


但是有目的地学习,有的时候学到的东西效果出奇的好,没有实践,理论上的东西永远记不住,编程就是这样。。。


多动手,多实践,多踩坑,才能对新东西快速的了解与熟悉。


那,本篇到这里就结束了,如果你有什么想沟通交流的,欢迎留言区评论探讨!





▼往期精彩回顾▼如何搭建一个自己的网站-服务器篇




浏览 12
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报