php-fpm 启动参数说明
时间: 2023-10-21 07:36:05 浏览: 47
PHP-FPM (FastCGI Process Manager) 是 PHP 官方提供的一个 FastCGI 管理器,可以使 PHP 处理动态页面更加高效。PHP-FPM 的启动参数如下:
- -c <path/to/php.ini>:指定 php.ini 配置文件的路径。
- -g <num>:设置 FPM 进程的 Group ID。
- -s <path/to/fpm.sock>:指定 FPM 进程监听的 Unix 域套接字文件路径。
- -y <path/to/php-fpm.conf>:指定 PHP-FPM 的配置文件路径。如果不指定,默认使用 /etc/php-fpm.conf。
另外还有一些可选参数,如 -n(禁用 php.ini),-d(设置 PHP 配置项),-i(显示 PHP 配置信息)等。可以通过 php-fpm --help 命令查看更多参数说明。
相关问题
php-fpm 可用参数
### 回答1:
目前php-fpm可用的参数有:max_children、start_servers、min_spare_servers、max_spare_servers、max_requests、process_idle_timeout、security.limit_extensions、rlimit_files、rlimit_core等。
### 回答2:
php-fpm 是 PHP FastCGI 进程管理器,可以通过几个参数进行配置和控制。
1. `listen`:指定 php-fpm 监听的地址和端口号。可以设置为本地或远程 IP 地址,以及对应的端口号,默认为本地的 127.0.0.1:9000。
2. `pm`:指定进程管理的方式。可以选择 `static`、`dynamic` 或 `ondemand`。`static` 表示固定数量的进程,通过 `pm.max_children` 参数设置;`dynamic` 表示动态进程管理,通过 `pm.max_children`、`pm.start_servers`、`pm.min_spare_servers` 和 `pm.max_spare_servers` 参数进行控制;`ondemand` 表示按需创建进程,通过 `pm.max_children` 和 `pm.process_idle_timeout` 进行管理。
3. `pm.max_children`:指定进程池中的最大子进程数。只在 `pm` 设置为 `static` 或 `ondemand` 时有效。
4. `pm.start_servers`:指定启动时的静态子进程数。只在 `pm` 设置为 `dynamic` 时有效。
5. `pm.min_spare_servers`:指定最小空闲子进程数。只在 `pm` 设置为 `dynamic` 时有效。
6. `pm.max_spare_servers`:指定最大空闲子进程数。只在 `pm` 设置为 `dynamic` 时有效。
7. `pm.process_idle_timeout`:指定空闲进程的超时时间。只在 `pm` 设置为 `ondemand` 时有效。
8. `listen.backlog`:指定待处理的连接队列长度,超过该值的连接将被拒绝。默认为 511。
9. `request_terminate_timeout`:指定请求终止的超时时间。如果一个请求超过该时间还未完成,则会被强制终止。
10. `rlimit_files`:指定进程打开的文件描述符限制。默认值为系统的软限制值。
除了以上参数,还有一些其他可用的参数可以进一步配置 php-fpm 的性能、日志和安全等方面的属性。以上只是一些常用的参数,具体可以参考官方文档以获得更详细的了解。
### 回答3:
php-fpm 是一种用于管理 PHP FastCGI 进程的程序。它具有很多可用参数,以下是其中一些常用的参数:
1. `listen`:指定 PHP-FPM 监听的地址和端口,可以是本地套接字或 IP 地址。
2. `user` 和 `group`:设置 PHP-FPM 的运行用户和用户组,用于控制进程所属的权限。
3. `pm`:进程管理方式,有多个可选值。`static` 表示静态的进程管理方式,`dynamic` 表示动态的进程管理方式,`ondemand` 表示按需的进程管理方式。
4. `pm.max_children`:当采用动态进程管理方式时,设置最大可创建的子进程数量。
5. `pm.start_servers`:当采用动态进程管理方式时,设置初始启动的子进程数。
6. `pm.min_spare_servers`:当采用动态进程管理方式时,设置最小空闲子进程数。
7. `pm.max_spare_servers`:当采用动态进程管理方式时,设置最大空闲子进程数。
8. `pm.max_requests`:设置每个子进程处理的最大请求数,达到此值后将会被重启。
9. `request_terminate_timeout`:设置每个请求的最大执行时间,超过此时间将会被强制终止。
10. `chroot`:将 PHP-FPM 进程的根目录改变为指定的目录,增强安全性。
11. `php_admin_value` 和 `php_admin_flag`:设置 PHP 配置参数。
除了上述常用参数外,还有很多其他参数可以用于配置和优化 PHP-FPM 的运行。这些参数包括限制进程的资源使用、限制请求的内存使用、调整进程的优先级等等。根据实际需求,可以灵活地配置这些参数来满足服务器的性能和安全需求。
2核8g php-fpm 参数优化
根据提供的引用内容,我们可以得知以下信息:
- 每个PHP进程使用20-30M内存
- PHP-FPM环境配置了512M内存,可以设置为17-25个PHP进程
- 服务器从apache+php5转换为nginx+php7-fpm
因此,对于2核8G的服务器,我们可以考虑将PHP-FPM的参数设置为以下值:
```shell
pm = dynamic
pm.max_children = 40
pm.start_servers = 20
pm.min_spare_servers = 15
pm.max_spare_servers = 25
pm.max_requests = 500
```
解释如下:
- `pm = dynamic` 表示使用动态进程管理模式
- `pm.max_children = 40` 表示最大进程数为40个,这个值可以根据服务器内存大小和PHP进程占用内存大小进行调整
- `pm.start_servers = 20` 表示启动时创建的进程数为20个,这个值可以根据服务器负载情况进行调整
- `pm.min_spare_servers = 15` 表示最小空闲进程数为15个,这个值可以根据服务器负载情况进行调整
- `pm.max_spare_servers = 25` 表示最大空闲进程数为25个,这个值可以根据服务器负载情况进行调整
- `pm.max_requests = 500` 表示每个进程处理的最大请求数为500个,这个值可以根据服务器负载情况进行调整