在实际的生产环境中遇到了实际需要解决的问题,需要把服务部署的方式梳理出来,在同一个服务器中部署多个PHP环境,架构图如下:
在工作实践中遇到的很多问题的普遍性都是相通的,公司运行的可新项目都是版本比较低的,需要一步一步去升级、优化,也就是一点一点的分步骤优化,有着诸多挑战,技术人的成长就是敢于一步一步抽丝剥茧,最后让架构变的丝滑。
依然使用Nginx作为链接PHP-FPM的Web服务器,分别使用9000、9001、90002端口分别去搭建不同的版本的php-fpm,设置Nginx不同的运行$document_root
中,这个是预设方案,在实施过程中需要准备一些准备的知识,谋定而后动。
emergency_restart_threshold
在指定的一段时间内,如果失效的PHP_FPM子进程数超过这个值,PHP_FPM主进程就优雅重启。
emergency_restart_threshold = 10
设定emergency_restart_interval
设置采用的时间跨度。
emergency_restart_interval = 0
下面要详细介绍的是php-fpm的配置:
pm.start_servers
设置的值一样,用于确保新进入的Http请求无需等待PHP-FPM在进程池中重新初始化进程。user = nobody
group = nobody
listen = 127.0.0.1:9000
pm.max_children = 51
pm.start_servers = 3
pm.min_spare_servers = 2
pm.max_spare_servers = 4
pm.max_requests = 1000
showlog = /path/to/showlog.log
request_showlog_timeout = 5s
有时间在更新同一个服务器上部署多个PHP版本的服务器的内容。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。