Nginx PHP MySQL服务的启动顺序问题

本篇讨论一下Nginx、PHP、MySQL服务的启动顺序问题。

一般情况下,当服务器刚启动还没有收到HTTP请求时,哪个服务先启动哪个后启动没有佬影响。反之,当服务器刚启动时就要处理HTTP请求,特别是大量的请求时,Nginx、PHP、MySQL服务的启动顺序就很重要,不然就会出现500、502之类的错误。

首先要把MySQL服务启动起来,其次是PHP(fpm)服务,最后才是Nginx服务。为什么是这个顺序?

因为HTTP请求是由Nginx来处理的,如果请求的是PHP脚本,则nginx进程会与php-fpm进程进行交互,如果这时候php-fpm进程还没完全启动,则nginx就会因为得不到upsteam的response而会报超时的错误。同理,当PHP进程需要读取数据库时,如果MySQL服务没有启动,同样也会报错。所以它们三个的启动顺序自然就是MySQL第一,php-fpm第二,Nginx第三。

Leave a Comment

豫ICP备19001387号-1