Mac Nginx 关联 php 详细配置以及常见错误

$ cd /etc/php-fpm.d

$ cp www.conf.default www.conf

  • 配置并启动 php-fpm

php-fpm 会依赖于 php-fpm.conf 文件的,如果没有这个文件会报错的,上面我们已经建好了。

打开命令行执行下面命令

$ php-fpm

如果报错如下,那是因为 php-fpm.log 文件找不到:

[06-Nov-2020 11:54:54] ERROR: failed to open error_log (/usr/var/log/php-fpm.log): No such file or directory (2)

[06-Nov-2020 11:54:54] ERROR: failed to post process the configuration

[06-Nov-2020 11:54:54] ERROR: FPM initialization failed

而且我们通过命令行打开目录的时候,也会发现这个目录根本不存在

$ cd /usr/var/log

甚至连 var 目录都没有,那既然没有,加上为了避免权限问题,我们干脆将这个路径配置到 /usr/local/var/log 目录中

打开 php-fpm.conf 文件

$ vim php-fpm.conf

找到 error_log 跟上面一样打开注释,然后修改一下存放路径,然后保存。

;error_log = log/php-fpm.log

改成

error_log = /usr/local/var/log/php-fpm.log

再次执行

$ php-fpm

如果报错如下,是因为文件权限问题,使用 $ sudo php-fpm 执行命令

[06-Nov-2020 14:54:25] NOTICE: [pool www] ‘user’ directive is ignored when FPM is not running as root

[06-Nov-2020 14:54:25] NOTICE: [pool www] ‘group’ directive is ignored when FPM is not running as root

再次执行

$ sudo php-fpm

如果报错如下,是因为没有找到 php-fpm.pid 文件,一般报这个错误是因为文件权限问题

[06-Nov-2020 14:56:56] ERROR: Unable to create the PID file (/usr/var/run/php-fpm.pid).: No such file or directory (2)

[06-Nov-2020 14:56:56] ERROR: FPM initialization failed

我们将上面已经打开的 pid 路径做一下调整,其实他们指向的是一个地方,只是相对路径改成绝对路径

pid = run/php-fpm.pid

改成

pid = /usr/local/var/run/php-fpm.pid

再次执行,我这边 php-fpm 启动就大功告成了!!

$ sudo php-fpm

如果有报错端口被占用,可以看看这篇文章

[10-Nov-2020 17:33:17] ERROR: unable to bind listening socket for address ‘127.0.0.1:9000’: Address already in use (48)

[10-Nov-2020 17:33:17] ERROR: FPM initialization failed

四、如何查看 PHP 服务启动成功
  • 方式一:可以终端命令的方式查看端口使用情况,也就是 9000 端口是否有没有被使用,被什么程序在使用

$ sudo lsof -i tcp:9000

dengzemiaodeMacBook-Pro:~ dengzemiao$ sudo lsof -i tcp:9000

Password:

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

php-fpm 2366 root 7u IPv4 0x900d5fb14fcb74e1 0t0 TCP localhost:cslistener (LISTEN)

php-fpm 2367 nobody 5u IPv4 0x900d5fb14fcb74e1 0t0 TCP localhost:cslistener (LISTEN)

php-fpm 2368 nobody 5u IPv4 0x900d5fb14fcb74e1 0t0 TCP localhost:cslistener (LISTEN)

  • 方式二:如果你重复执行上面的启动命令也会报错如下,这里提示是 9000 端口已经被使用了,php 启动之后占用的就是 9000 端口,所以也就不用担心啥了,如果 9000 端口是被别的程序在使用,也可以关闭这个端口的程序在重新启动。

dengzemiaodeMacBook-Pro:~ dengzemiao$ sudo php-fpm

dengzemiaodeMacBook-Pro:~ dengzemiao$ sudo php-fpm

[06-Nov-2020 16:09:03] ERROR: unable to bind listening socket for address ‘127.0.0.1:9000’: Address already in use (48)

[06-Nov-2020 16:09:03] ERROR: FPM initialization failed

五、Nginx 连接 PHP 配置
  • 上面我们已经安装启动好 NginxPHP 服务了,现在就需要来到 Nginx 进行配置一下

  • 我们来到 nginx.conf 目录

/usr/local/etc/nginx/nginx.conf

  • 在这个目录里面看看有没有 fastcgi.conf 文件,如果没有这个文件的话,还是老办法,将 fastcgi.conf.default 拷贝改成 fastcgi.conf,因为这个文件是 Nginxphp 的桥梁文件。

$ cp fastcgi.conf.default fastcgi.conf

  • 有了桥梁文件,就可以来到 Nginx 的配置文件 nginx.conf 中添加一个 虚拟主机 配置支持一下 php 文件使用了,找到配置文件打开进行编辑,添加一个支持 php 解析的虚拟主机。

server {

监听端口

listen 8081;

主机名称

server_name www.dzm.com;

根目录 (写到这上面就是下面所有的 location 都共用这个根目录)

root /usr/local/var/dzm;

匹配协议

location / {

index index.html;

}

PHP 脚本请求全部转发到 fastcgi 处理. 使用 fastcgi 协议默认配置.

fastcgi 服务器和程序 PHP 沟通的协议.

location ~ .php$ {

设置监听端口

fastcgi_pass 127.0.0.1:9000;

设置 nginx 的默认首页文件

fastcgi_index index.php;

引入 fastcgi 的配置文件

include fastcgi.conf;

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
2533239)]

[外链图片转存中…(img-ynaJHlbj-1715552533239)]

[外链图片转存中…(img-sf0DTbiG-1715552533239)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 16
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值