栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

解决php-fpm启动后端口没有启动

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

解决php-fpm启动后端口没有启动

问题

在安装ngnix与相应的php服务后发现访问php文件是直接下载下来并没有解析。

原因:

因为nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端
nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx
而PHP-FPM就是一个PHP FastCGI管理器
简单来说php-fpm把nginx与php服务联系到一起。

解决方法 1,配置nginx。conf文件

在server{中添加如下代码:
php-fpm默认端口是9000

 location ~ .php(.*)$ {
           fastcgi_pass   127.0.0.1:9000;
           fastcgi_index  index.php;
           fastcgi_split_path_info  ^((?U).+.php)(/?.+)$;
           fastcgi_param  script_FILENAME  $document_root$fastcgi_script_name;
           fastcgi_param  PATH_INFO  $fastcgi_path_info;
           fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
           include        fastcgi_params;
   }

这样配置好后重新启动nginx服务。
systemctl restart nginx

3,开放端口

发现虽然不下载php文件了,但还是访问不了。
是因为9000端口没有开放
查看端口
netstat -tunlp | grep 9000
若没有任何回显则端口没有开放。
执行下面命令,给php-fpm开放9000端口。
php-cgi -b 127.0.0.1:9000 &
再次查看端口就会有回显。
访问php文件也正常访问。

4,添加命令到开机自启中

但若重新启动服务器则会失效。没有找到好的解决方法。只想到把上面的命令添加到开机自启中。若有朋友找到好的解决方法欢迎评论指教。

cd /etc/rc.d/init.d/
vi php-fpm-start.sh
#添加下面内容:

#!/bin/sh
#chkconfig: 2345 80 90
#description:开机自动启动的脚本程序
# 开启php-fpm服务 端口为9000
php-cgi -b 127.0.0.1:9000 &

退出保存后执行下面命令:

chmod +x php-fpm-start.sh#设置为可执行文件
#添加脚本到开机自动启动项目中
chkconfig --add php-fpm-start.sh
chkconfig php-fpm-start.sh on

重新启动服务器查看php文件是否可以执行了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/360969.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号