PHP-FPM和nginx配置
前言
PHP终于是编译安装完成了,接下来就是配置PHP-FPM
和nginx
。
配置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管理该进程了。
配置nginx
本作品采用《CC 协议》,转载必须注明作者和本文链接