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

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

时间:2019-01-25 11:40:19 作者:迷迷 来源:奇闻吧 手机阅读

集装箱码头出现后,集装箱技术在互联网领域得到空前的普及。无论是大公司还是钓市初创公司,农民基本上都会在各种技术社区或各种演讲会上学习相关技术。作为一个跳楼创业公司,我们也不例外。去年,我们做了一些关于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。然而,集装箱的生态链发展很快,在需要时可能有更好的解决方案。  

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


相关文章

  • 火星上若有生命吃什么?甲烷可能是首选美味
    火星上若有生命吃什么?甲烷可能是首选美味
    英国亚伯丁大学科学家对来自火星的陨石进行研究,发现它们都包含着甲烷,暗示甲烷可能是火星微生物的食物源。  科学家对来自火星的陨石分析发现几乎全部都含有甲烷,他们指出,这些甲烷可能是火星微生物的食物来源,这对于研究分析火星潜在生命形式提供了重...
  • 古时候十大惊天政变 彻底改变中国古代
    古时候十大惊天政变 彻底改变中国古代
    在漫长的中国封建社会,政变当作国家内乱的重要形式,与兵变、民变(或称农民起义)交替发生,成为困扰统治阶级的突出问题和影响国家、民族发展的主要因素。中国封建社会历代的最高统治者,都把防止政变当作执政的重要任务,在总结古代经验教训的基础上,不断...
  • 香烟烟雾是否能唤醒癌细胞
    香烟烟雾是否能唤醒癌细胞
    近年来,肿瘤的治疗取得了很大进展。从手术、放疗、化疗到靶向治疗和免疫治疗,患者的生存率越来越高,这使得肿瘤的复发更加重要。例如,乳腺癌,62%的死亡发生在手术后五年。毕竟,原...
  • 首次在东南极洲南大洋深处发现深海海参--“无头鸡怪”
    首次在东南极洲南大洋深处发现深海海参--“无头鸡怪”
    澳大利亚南极分部(AAD)拍摄到了一种极其不寻常的海参,这是第一次在东南极洲南大洋深处发现它。深海海参学名是Enypniastes eximia,又称“无头鸡怪”,它的行动方式和大多海参并不一样。这是第二次发现这种生...
  • 1999年外星生物入侵有证据吗?
    1999年外星生物入侵有证据吗?
    “99年的事情瞒不住了”本来只是一个段子而已,都是网友为了混淆视听编出来的,据说在99年的时候有外星生物到了地球上,地球的组织打败了外星生物,后来为了避免恐慌所有人的记忆都被消除了,而幸存者签订了保密协议不能透露,带大家一起看看。99年的事...
  • 窃蛋龙并不以“偷蛋”为生 而是一种“妈妈下蛋爸爸孵”的爱心三角龙
    窃蛋龙并不以“偷蛋”为生 而是一种“妈妈下蛋爸爸孵”的爱心三角龙
    窃蛋龙孵蛋图。赵闯绘制(qiwen818.com报道)据新华每日电讯(记者 岳冉冉):日前,古物种学家破解了一起百年“悬案”:名为“窃蛋龙类”的三角龙,并不以“偷蛋”为生,更没有世代做“贼”的习惯,而是一种“妈妈下蛋爸爸孵”的爱心三角龙。科...
  • 独特的沙漠灌溉方式
    独特的沙漠灌溉方式
    新疆的气候非常干旱,降水稀少,河流经常断流,可是为什么在这种极端不适合作物生长的环境下,会奇迹般长出绿油油的皿果蔬菜和庄稼?原来这一切都源于坎儿井的滋润。如今吐鲁番哈密盆地里的生活和生产用水,有的来自地表的防渗、防冲引水渠道,有的来自机井,...
  • 是什么原因导致在当代中国伪科学的流言四起、大师遍地呢?
    是什么原因导致在当代中国伪科学的流言四起、大师遍地呢?
    我们的整套体系不仅不能确保信息传播的合理、准确和多元化,更恶劣的是,它还促进信息劣币驱逐良币。 这不,中国政府对伪气功大师王林的调查也开始进入国际媒体的视野。这并非绝...
  • Alphabet推出新颖的“网格规模”架构彻底改变能源存储
    Alphabet推出新颖的“网格规模”架构彻底改变能源存储
    Google母公司Alphabet的新分拆计划旨在通过依靠融盐和防冻剂混合物的新型电网规模架构来改革能源储存。在2017年首次成为马耳他项目后,Alphabet实验室X的毕业生现在是一家名...
  • 全球十大未解之谜,媲美百慕大的神秘之地~
    全球十大未解之谜,媲美百慕大的神秘之地~
    在美国亚利桑纳州,有一个称为迷信山的山区,光听这个名字就带着神秘感。据传说记载:1840年末,一位名叫伯拦塔的探险人深入山区,几经艰险,终于发现一处矿藏丰富的金矿,他仔细地作了标记,以便终生受用,从此很多探宝人一直想找出这处金矿,但很多人不...

科学探索

热门文章

今日最新

友情链接: 美女图片 两性健康网 奇闻818手机版 说说大全 奇闻网 168图片网 z6新闻网 奇闻818 天下奇闻