Fork me on GitHub

Docker-Nginx粗解

Docker/Nginx粗解

与在本地运行脚本不同,公司的脚本通常存储在后台,通过服务器进行调用。这里粗略地介绍两种比较重要的技术:Docker/Nginx

Docker

Docker的思想来源于集装箱,在一艘大船上,可以把货物规整的摆放起来。并且各种各样的货物被集装箱标准化了,集装箱和集装箱之间不会互相影响。docker就是类似的理念。现在都流行云计算了,云计算就好比大货轮。docker就是集装箱

  1. 不同的应用程序可能会有不同的应用环境

    比如.net开发的网站和php开发的网站依赖的软件就不一样,如果把他们依赖的软件都安装在一个服务器上就要调试很久,而且很麻烦,还会造成一些冲突。常规来讲,我们可以在服务器上创建不同的虚拟机在不同的虚拟机上放置不同的应用,但是虚拟机开销比较高docker可以实现虚拟机隔离应用环境的功能,并且开销比虚拟机小,小就意味着省钱了。

  2. 你开发软件的时候用的是Ubuntu,但是运维管理的都是centos,运维在把你的软件从开发环境转移到生产环境的时候就会遇到一些Ubuntu转centos的问题,比如:有个特殊版本的数据库,只有Ubuntu支持,centos不支持,在转移的过程当中运维就得想办法解决这样的问题。这时候要是有docker你就可以把开发环境直接封装转移给运维,运维直接部署你给他的docker就可以了。而且部署速度快。

  3. 在服务器负载方面,如果你单独开一个虚拟机,那么虚拟机会占用空闲内存的,docker部署的话,节省内存。

总而言之,隔离应用环境,封装转移开发环境,并且不吃内存。

docker exec -it containerID /bin/bash
#使用docker exec进行container,即某个封装的集装箱;it创建一个伪终端,/bin/bash表示载入容器后运行bash,保持进程的运行
ls
#查看文件夹结构
cd /var/www/  
#cd到目录

bash是什么?

Shell俗称壳(用来区别于内核),是指“提供使用者使用界面”的软件,就是一个命令行解释器。

bash 是一个为GNU项目编写的Unix shell,也就是linux用的shell

shell是什么?

在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器)。它类似于DOS下的command.com和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序

Nginx是什么?

Nginx是一个http服务器。是一个使用c语言开发的高性能的http服务器及反向代理服务器Nginx是一款高性能的http服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。

Nginx的应用场景

1、 http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器

2、 虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。

  • 基于端口的,不同的端口

  • 基于域名的,不同域名

    3、 反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

posted @ 2020-07-13 19:50  Rser_ljw  阅读(32)  评论(0编辑  收藏