51区未解之谜网

未解之谜与世界之最,猎奇文章

首页 >  科学探索 >  运行在阿里云ECS上的PHP-FPM+Nginx

运行在阿里云ECS上的PHP-FPM+Nginx

时间:2018-11-19 作者:迷迷 来源:51区未解之谜网 手机阅读

集装箱码头出现后,集装箱技术在互联网领域得到空前的普及。无论是大公司还是钓市初创公司,农民基本上都会在各种技术社区或各种演讲会上学习相关技术。作为一个跳楼创业公司,我们也不例外。去年,我们做了一些关于Docker.Solution的事情,一年前测试了一些程序,今天我总结了在践踏坑的过程中遇到的坑和一些想法,希望能给认识Docker并渴望尝试的人一些启示。当然,在这方面有丰富经验的学生更欢迎提出一些建议或建议。  

我们项目的标准PHP技术栈:PHP-FPM+Nginx运行在阿里云的ECS上,数据库也是阿里云的服务。  

从理论上讲,对于一般的刁丝创投公司的刁丝项目来说,没有必要使用过于复杂的技术,对新技术的约束也是大农的职业道德。在项目上线以来遇到的各种问题中,如上一篇文章中提到的laravel的性能问题,而HHVM或PHP7,这些新技术都提到性能,所有的突然切换风险都太大,因此可以使用Container运行一些服务测试;例如,以前有一个BUG,一个接口问题占用了太多的内存,导致系统响应超时;例如,在看过其他人在各种技术会议上共享的经验之后,我真的很想自己尝试一下。  

blob.png

根据Docker的哲学,每个容器都是一个独立的服务,服务通过接口相互协作,采用的方案是PHP-FPM和Nginx分别在不同的容器中运行,PHP-FPM容器将端口暴露给Nginx容器。  

容器之间的网络通信最初使用Docker自己的链接。虽然链接很简单,但它不是很有用。Link是通过在启动容器时修改/ETC/HOST文件来实现的。当时遇到的一个问题是,容器的IP在通过链接重新启动之后发生了变化,但是容器中没有链接。还有一个问题是,当同一个服务需要打开多个容器时,当然,如果它以集群方式运行,则更加困难,因此链接只能在本地开发、本地开发中发挥作用。领事做服务发现。领事不在这里介绍。感兴趣的学生可以阅读这篇文章:使用领事和注册官为码头集装箱服务发现(https:www.livewyer.comblog201502service-discovery-docker-containers-u)。  

然后放在主机,和代码的目录是安装在容器启动。根据所使用的接口方案,接口分为几个不同的容器中运行,和资源隔离的应力进行了测试。符合预期,很满意。然后,我们选择了两个容器运行hhvm测试和性能真的提高了很多。整体结构如下图所示:  

这可以正常使用,然后处理日志。首先,主机上安装了一个目录来存储日志,但这与Docker的想法不太一致。所以我们得到了一个LogStash容器,并把各种容器的日志写入LogSTASH容器中。  

然后我们监控集装箱。我们使用ONAPM服务,这并不坏。还有其他开源工具可供选择,但使用ONAPM服务更方便。  

一个完整的技术堆栈已经建立,运行几天没有问题。当然,作为搜索者,有更高的要求。后来,我想到了一个问题:Docker的想法是容器是一个完整的服务,但是我们使用的是在容器中运行PHP-FPM,代码不在容器中,而是通过目录安装来实现这一点。追求完美:完美之路  

事实上,把代码放入容器不仅仅是为了思想的完美,而且为了另一个目的:基于DOCKER的CI。基本的想法是每一个版本都建立了一个新的图像版本。在编译过程中,代码需要更新到最新版本,然后安装依赖的第三方库和其他与业务相关的预处理。构建完成后,推到注册表,然后在每个节点下拉,重新启动容器。整个过程  

怎么样这是完美的。如果现实是如此完美,但现实总是会有各种各样的坑等待着你!  

首先,在使用这个机制之前,发布代码、合并分支只需几秒钟,然后在每个节点下拉代码。但是在使用DOCKER之后,合并分支需要建立一个镜像,建立一个推送寄存器,然后把镜面拉到每个节点,更不用说说了。它还需要几分钟。此时,一些学生可能会说DOCKER镜像的原理不是层机制。是的,是层。每个构建只需要更新需要更新的层,但是仍然没有办法只更新那些像Git之类的文件,至少更新整个项目的代码目录。  

其次,我们之前只需要更新代码,但现在我们需要重新启动容器。最初,重新启动容器非常快,但是PHP-FPM在容器中运行非常慢。我猜它会发送一个SigTalk的信号到集装箱的过程中,当DOCKER停止执行。PHP-FPM在处理SIGTERM信号时会做一些清理工作,节点至少有几十个容器,每个容器都会重新启动,这很耗时。  

在使用完美机制之后,这种简单的发布需要几分钟。尽管整个过程是完全自动的,但是没有必要在完美理念上妥协。  

此外,还有一个非常奇怪的问题:当容器升级到1.10时,在容器启动后经常会遇到端口不可通行。此时,如果您进入容器发起一个网络请求,如IP低于ping时,端口将恢复正常。长期使用各种工具进行调试,仍然没有发现问题所在,DiaosiPioneer公司也没有精力研究这样一个深奥的探索。莱姆,不得不暂时搁置一段时间。  

虽然没有理想的完美解决方案,但是也使整个框架更加方便扩展,比如在交通高峰期快速上架的节点。由于近年来云计算的发展,这个问题也更容易解决。ODE放置在主机目录中,所以基本上每个主机只需要三个条件就可以上网:  

在购买ECS之后,完成上述操作以生成系统映像,当新节点需要联机时,该系统映像可以直接用于配置服务器。已被领事提及。  

DOCKER群将用于未来的集群管理。当对调度的需求很大时,可以尝试使用Mesos或Kubernetes。然而,集装箱的生态链发展很快,在需要时可能有更好的解决方案。  

简单地概括整个感知过程,从体系结构的角度来看,永远不会有完美的体系结构,只有最适合自己的体系结构。团队对各种技术的理解以及技术选择的复杂性。不要看几个牛分享他们的技术架构,而是急于尝试他们自己的项目。最后,即使他们做不到,也会给其他人留下一团糟去清理。最后,在迭代过程中保持项目简单的能力始终是衡量代码农民技术水平的一个重要标准。  


相关文章

  • 科学探索:世界上最神奇的科学书
    科学探索:世界上最神奇的科学书
    《科学探索:世界上最神奇的科学书》是吉林出版集团有限责任公司出版的图书,作者是《中国学生的第一套科普读物》编委会。
  • 人格心理学:人性的科学探索
    人格心理学:人性的科学探索
    一直以来,人格心理学不仅是心理学研究的重要领域,也是普通读者非常感兴趣的领域。近年来,人格心理学已经进入了它的黄金时期,本书的第二版汇聚并及时更新了人格领域内各个方面的研究成果,见证了该学科的繁荣景象。
  • 人体复杂系统科学探索
    人体复杂系统科学探索
    《人体复杂系统科学探索》是2012年1月科学出版社出版的图书,作者是佘振苏、倪志勇。本书继承和发展了钱学森的系统科学、人体科学和思维科学的思想,从系统哲学、科学原理、应用技术和工程实践四个层次构建了研究人体复杂系统学的理论框架,建立了研究人体的广泛的科学基础,即人体系统科学。
  • 科学探索与发现:人体的奥秘
    科学探索与发现:人体的奥秘
    《科学探索与发现:人体的奥秘》以简明易懂的语言,介绍了人体的种种奥秘,为广大青少年构建起了一座广博的人体知识宝库,在很大程度上可以满足广大青少年的求知欲和好奇心。全书由3个部分构成:人体器官的奥秘、人体自然现象和人体奇异现象。在人体器官的奥秘这一部分,主要介绍了关于人体器官的一些基本常识,如眼睫毛的作用,身兼数职的鼻子,胃会不会消化自己,小眼睛能看大世界,小舌头的作用,皮肤是人体的第一道城墙,如此等等。
  • 科学探索与发现:自然密码
    科学探索与发现:自然密码
    《科学探索与发现:自然密码》用深入浅出的语言,向青少年读者介绍了宇宙地球知识、地理知识、动植物知识、微生物知识、气象知识等,使读者在轻松阅读的同时,能够在宏观上对自然知识有一定的了解。《科学探索与发现:自然密码》适合中学生和小学高年级的学生阅读,是一本很好的百科知识课外读物。限于学识和时间,书中难免会存在一些不足,敬请专家和读者朋友批评指正。
  • 科学探索者--物质构成
    科学探索者--物质构成
    美国中学普遍选用的综合理科教葛脚材,新课标、新汗兆阿狱观念、新学法的最佳参考用书。科学探索者全套15册。探索科学奥秘,指导研究性学习,知识能力方法并重,动手动脑趣味无穷。本的主要内容包括走近科学 来自植物的化学品设灶断、了解物质、物质的变化、元素和无素周期表、碳化学跨学科探索:
  • 科学抽象
    科学抽象
    科学认识过程的一个环节,指在思维中抛开客体的非本质方面而抽取其本质方面的过程,"抽象"本身不限于指思维抽取客体的本质方面,它还包括人类依据一定的需要,在思维中把客体的某一或某些非本质的方面抽取出来的过程;但科学抽象则主要是指前者。
  • 火星移民计划
    火星移民计划
    是由埃隆·马斯克所对媒体透露的移民火星并在火星建立社区的计划。在公元2015年2月,其被曝是骗局,有可能会有去无回,亦触及一些伦理问题。 "火星一号"计划自在全球发起报名以来,有自全球上百个国家的8万多名志愿者申请,自中国的申请人有1万多名。报名费已超100万美元。很多报名者对移民火星计划的难以实现性表示失望。一些人亦望取回11美元的报名费,但都遭到拒绝。
  • 登月计划
    登月计划
    近几年,中国的探月、登月计划受到世人的关注,但依然掩藏着一些不为人知的秘密。中国人何时在月球上留下第一行脚印,在这里插上鲜艳的五星红旗?何时建立月球基地?这都成了许多人急切想知道的问题。 根据中国已经确定的探月工程的计划,整个探月工程分为三个阶段,第一期工程为"绕",二期工程为"落", 2017年进行的三期工程为"回"。
  • 科学发现室
    科学发现室
.

科学探索

热门文章

热门文章

今日最新