今天周末,还没睡醒就收到阿里云的短信通知,提示服务器宕机了,已重启让我看服务知否正常,手机打开网站提示无法访问页面。于是赶紧起来操作了一番,ping了下ip是通的,然后看了下是nginx服务没有启动,赶紧启动后访问却提示404错误,这就有点懵了,配置文件原封不动怎么会提示404呢,可以确定配置是没有问题的。
接着在测试目录看了下当时只放了一个php文件,然后试着改了重新创建了一个html文件可以访问,说明ngnix不能正常解析php文件,nginx与apache解析php的方式有些不同,这里引用网络上的一段简单介绍:apache是通过mod_php来解析php nginx是通过php-fpm(fast-cgi)来解析php,mod_php 通过嵌入 PHP 解释器到 Apache 进程中,只能与 Apache 配合使用,而 cgi 和 fast-cgi 以独立的进程的形式出现,只要对应的Web服务器实现 cgi 或者 fast-cgi 协议,就能够处理 PHP 请求。
于是重启了一下php-fpm,然后改回php文件测试,访问正常。
service php-fpm restart
ps:
nginx -c /etc/nginx/nginx.conf
nginx -s reload