松哥原创的 Spring Boot 视频教程已经杀青,感兴趣的小伙伴戳这里-->Spring Boot+Vue+微人事视频教程
临近年底,最近工作中又折腾上 Docker 了,用完之后,不得不说,真香!
事情的起因很简单,有个刚入行不久小伙伴需要在一个现有的 Java 服务器上部署一个 PHP 应用,这个 Java 服务器上目前就跑了一个 Spring Boot 应用,然后用 Nginx 做了反向代理。部署 PHP 其实也没什么难度,但是如果你运气不好,那就有的折腾了。
我大概跟他说了下思路:
首先安装 PHP 环境,这块注意兼容性问题即可。然后就是 PHP 服务器的选择,可以选择 Nginx 也可以选择 Apache。
如果使用 Nginx 做服务器,Nginx 本身没有解析 PHP 脚本的功能,还需要安装 php-fpm 去解析 PHP,然后配置 Nginx 作为反向代理,将请求的 PHP 脚本交给 php-fpm 去解析。Nginx 和 php-fpm 通信有两种方式,直接配置一个 www.sock 或者使用 tcp 通信,前者需要注意权限问题。
如果使用 Apache 做服务器就没有这么多事,Apache 服务器自己可以搞定 PHP 脚本的解析问题,我们只需要将 PHP 脚本放在 Apache 服务器正确的位置上即可。
由于服务器上已经安装了 Nginx,因此建议采用第一种方案。
大概就是这样的思路,说完之后小伙伴就自己去搞了。
两天之后,小伙伴又哼哧哼哧的找来了,还没部署成功,各种方案都试了,各种 BUG 都遇到了,搞的很头大,问我还有没有其他好办法。
我手头上事情多忙不开,没法帮他排查问题,于是顺手扔给他一个 Docker 命令去试下。几分钟后,小伙伴说你怎么不早说 Docker 命令,这也太爽了,一个命令就搞定了。
老实说,Docker 确实很香。特别是在当下云原生技术火热的情况下,容器技术作为云原生中的重要一环,作用异常重要。
松哥大概是在三年前开始接触容器技术,Docker、Docker-Compose 到后来的 K8s 都有涉猎。不过老实说,如果你只是做常规的企业应用开发,工作中用到 Docker 的场景可能并不多,最常见的场景可能就是安装一些环境而已。对运维来说这些可就是神器了,容器技术极大的简化了运维的工作量,如果公司里上了 DevOps,你可能会看到一个整天无所事事的运维在到处晃悠,再看看自己还在苦逼的搬砖,真是人比人气死人呀。松哥身边有个小伙伴不止一次的说想去搞运维,开发太累了。上了 DevOps 之后,大部分情况下运维的工作是挺爽的。
现在我 Mac 上的 MySql、Redis、RabbitMQ、MongoDB 等等都是使用 Docker 来安装,方便省事,用完了不想要了,一个命令就删除了,不留任何痕迹。
当然作为 Java 工程师,我们还是有必要学习一下 Docker 容器技术的,无论是追赶时髦的云原生还是自己平时安装个环境啥的,会点 Docker 总是没错的。松哥之前在学习 Docker 时,还写了一个 Docker 入门教程,有的小伙伴已经下载了,还有小伙伴可能还不知道,今天再给大家安利一下,在后台回复 docker 可以下载这个教程。
这个文字的教程我也写的蛮久了,最近还在想要是有空录制一个 Docker 入门的视频教程,等录好了会告诉大家。
今日干货
刚刚发表查看:13500回复:135后台回复 2TB,免费获取 2TB Java 学习资料。