PHP-FPM和nginx配置

前言

PHP终于是编译安装完成了,接下来就是配置PHP-FPMnginx

配置PHP-FPM

1、首先查看PHP-FPM默认读取的配置路径

php-fpm -h
# default: /usr/local/php7.3/

默认读取的配置文件在[PREFIX/etc]下。所以最终的配置路径在/usr/local/php7.3/etc/php-fpm.conf
2、接下来配置fpm。找到默认的php-fpm.conf.default copy到php-fpm.conf
在配置文件中配置include属性,如:include=/etc/php-fpm.d/*.conf
include指定下配置各个项目的配置文件。可参考默认的配置项:

user = nobody
group = nobody
listen = 127.0.0.1:9000
pm = dynamic
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3

优化参考:为高性能优化 PHP-FPM

3、查看下默认的配置:搬砖PHP-FPM配置
4、定义自己的PHP-FPM配置
配置include=/etc/php-fpm.d/*.conf指定下的www.conf

user = www
group = www
listen = /usr/local/var/run/www.sock
listen.owner = www
listen.group = www
listen.mode = 0777
; 因为配置的是我本机电脑,所以访问量也就是我本人而已。所以采用`ondemand`格式最好了!
pm = ondemand
pm.max_children = 30
pm.process_idle_timeout = 10s

默认FPM不支持以sudo权限启动,需要增加参数-R才行。可以通过php-fpm -h查看。启动FPM只需要执行php-fpm即可。
顺便看看php-fpm支持的参数有哪些。

# 读取指定的配置文件启动FPM
php-fpm -c /path/to/php-fpm.conf
# 以守护进程的方式启动FPM
php-fpm -D
# 不以守护进程的方式启动FPM
php-fpm -F
# 指定pidfile启动FPM
php-fpm --pid /path/to/pidfile

可是FPM的进程管理在mac上没有直接可以操作的命令,当然可以自己编写脚本。更方便的是直接使用supervisor管理。操作如下:
(1)关闭FPM默认的以守护进程启动模式:daemonize = no
(2)配置supervisor

[program:php-fpm]
directory=/usr/local/php7.3/sbin/
command=sudo php-fpm -R
numprocs=1
user=root
autorestart=true 
stdout_logfile=/var/log/supervisord/php-fpm.log
loglevel=info

(3)以后就可以方便的通过supervisor的web管理该进程了。
PHP-FPM和nginx配置

配置nginx

本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!