$ 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
配置
-
上面我们已经安装启动好
Nginx
与PHP
服务了,现在就需要来到Nginx
进行配置一下 -
我们来到
nginx.conf
目录
/usr/local/etc/nginx/nginx.conf
- 在这个目录里面看看有没有
fastcgi.conf
文件,如果没有这个文件的话,还是老办法,将fastcgi.conf.default
拷贝改成fastcgi.conf
,因为这个文件是Nginx
与php
的桥梁文件。
$ 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前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
2533239)]
[外链图片转存中…(img-ynaJHlbj-1715552533239)]
[外链图片转存中…(img-sf0DTbiG-1715552533239)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!