标签:highlight engine ubuntu 消息推送 mq服务器 web 注册 注册登录 docker 容器
视频内容,首先视频正在审核,通过了我会贴上来。
Docker是什么?
Docker 是一个开源的应用容器引擎,你可以将其理解为一个轻量级的虚拟机,开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任 何流行的 Linux 机器上。
为什么要使用 Docker?
作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。
更轻松的迁移
由于 Docker 确保了执行环境的一致性,使得应用的迁移更加容易。Docker 可以在很多平台上运行,无论是物理机、虚拟机、公有云、私有云,甚至是笔记 本,其运行结果是一致的。因此用户可以很轻易的将在一个平台上运行的应用,迁移到另一个平台上,而不用担心运行环境的变化导致应用无法正常运行的情况, 从而不会再出现 「这段代码在我机器上没问题啊]的现象
更轻松的维护和扩展
Docker 使用的分层存储以及镜像的技术,使得应用重复部分的复用更为容易,也使得应用的维护更新更加简单,基于基础镜像进一步扩展镜像也变得非常简 单。此外,Docker 团队同各个开源项目团队一起维护了一大批高质量的 官方镜像,既可以直接在生产环境使用,又可以作为基础进一步定制,大大的降低了应 用服务的镜像制作成本。
更快速的启动时间
传统的虚拟机技术启动应用服务往往需要数分钟,而 Docker 容器应用,由于直接运行于宿主内核,无需启动完整的操作系统,因此可以做到秒级、甚至毫秒 级的启动时间。大大的节约了开发、测试、部署的时间。
更高效的利用系统资源
由于容器不需要进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统资源的利用率更高。 无论是应用执行速度、内存损耗或者文件存储速度,都要比传统虚拟机技术更高效。因此,相比虚拟机技术,一个相同配置的主机,往往可以运行更多数量的应 用。
对比传统虚拟机总结
Docker 的主要用途,目前有三大类。
(1)提供一次性的环境。比如,本地测试他人的软件、持续集成的时候提供单元测试和构建的环境。
(2)提供弹性的云服务。因为 Docker 容器可以随开随关,很适合动态扩容和缩容。
(3)组建微服务架构。通过多个容器,一台机器可以跑多个服务,因此在本机就可以模拟出微服务架构。
1、更新update到最新的版本
yum update
2、卸载老版本docker
yum remove docker docker-common docker-selinux docker-engine
3、安装需要的软件依赖包
yum install -y yum-utils device-mapper-persistent-data lvm2
4、设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5、查看docker版本
yum list docker-ce --showduplicates|sort -r
6、安装docker
yum install docker-ce-18.03.1.ce -y
7、启动docker
systemctl start docker
8、加入开机自启
systemctl enable docker
9、配置国内镜像加速
vi /etc/docker/daemon.json { "registry-mirrors": ["http://hub-mirror.c.163.com"] }
Docker 包括三个基本概念:
镜像(Image) 容器(Container) 仓库(Repository)
代码如下:
通过docker run 运行的时候会自动到仓库搜索
docker run -d --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management
参数说明:
-d 开启守护进程,程序后台运行
-p 15672:15672 : 将主机的15672端口,映射到容器的15672端口,用于外网访问到容器
--name rabbit : 容器名字
通过当前命令,查看容器是否启动,环境是否安装完毕
docker ps -a
安装 rabbitmq-c,C 与 RabbitMQ 通信需要依赖 rabbitmq-c 库(librabbitmq),具体请看https://github.com/alanxz/rabbitmq-c
1、通过git或者wget等方式下载
git clone git://github.com/alanxz/rabbitmq-c.git
cd rabbitmq-c
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq
cmake --build . --target install
注意路径指定,下载amqp扩展时需要指定路径,同时需要修改安装路径下的lib64为lib,否则php扩展载入的时候找不到扩展
2、接下来就是安装 php amqp 的扩展了
可以通过源码编译安装
wget http://pecl.php.net/get/amqp-1.8.0.tgz tar zxvf amqp-1.8.0.tgz cd amqp-1.8.0 /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq make && make install
必须指定好 rabbitmq-c文件的安装路径才行,也就是上面安装的时候的路径
最后将‘extension=amqp.so‘加入 php.ini
RabbitMQ Server:也叫broker server,它是一种传输服务。 他的角色就是维护一条从Producer到Consumer的路线,保证数据能够按照指定的方式进行传输。
基础:
手把手教你写留言板系统av78744637
HTML+PHP+Mysql实现网站注册登录av78785761
php从零教学支付技术大通关Av78773453
零基础小白两小时入门PHP基础语法av81031138
两小时熟练PHP基础语法八大数据类型av81050275
PHP黄金搭档mysql数据库两小时基础入门av81142395
PHP微信扫码支付从入门到实战av83815575
PHP微信支付从入门到实战教程av83707632
教你如何用laravel开发支付宝接口av77424057
php扩展开发:
PHP扩展开发——cookie与session原理实战av83825917
php扩展开发——验证码开发av83864077
tp:
TP5开发大型ERP核心系统Auth认证组件av80969844
女神老师讲解thinkphp6支付大通关av79763622
redis:
redis从入门到精通实战教程av83679805
9年架构师教你用redis实现高并发限流av94478592
9年架构师教你用redis实现高并发秒杀av94926372
9年架构师讲解redis高并发秒杀解决方案av95010886
swoole:
PHP—swoole通往大神修炼之路:av77924246
手把手教你用swoole+websocket实现户外监控直播(总集篇):av79087951
教你用swoole开发网络游戏:av79264440
PHP高级技术手写swoole分布式框架:av78383962
PHP高级技术手写swoole分布式框架(二):av78632435
PHP高级技术手写swoole分布式框架(三):av78748923
PHP高级技术手写swoole分布式框架(框架优化):av78856427
PHP高级技术手写swoole分布式框架(分布式RPC):av79012272
用swoole实现消息推送:av79874641
swoole+docker+redis主从复制及读写分离av78781841
加薪、涨分利器-Swoole-Go协程+Mysql8.0实现高性能数据库连接池:av93991412
更多学习内容请访问:
怎么从一名码农成为架构师的必看知识点:目录大全(不定期更新)
标签:highlight engine ubuntu 消息推送 mq服务器 web 注册 注册登录 docker 容器
原文地址:https://www.cnblogs.com/993089249a/p/12488526.html