PHP-FPM是一个FastCGI进程管理器,它是PHP的其中一个执行环境,并且使用相同的代码库。PHP-FPM允许PHP程序运行在独立的进程中,维护进程池,提高了PHP程序的性能和稳定性。
php-fpm.conf是PHP-FPM的配置文件,在使用PHP-FPM的时候必须配置这个文件。本文将详细介绍php-fpm.conf中文及重要参数说明。
## 1.关于文件位置
首先,我们需要了解php-fpm.conf文件存放的位置。php-fpm.conf文件在不同的操作系统中有不同的存储位置:
- CentOS/Fedora/RHEL:/etc/php-fpm.conf
- Ubuntu/Debian:/etc/php/7.2/fpm/php-fpm.conf
## 2.文件结构
php-fpm.conf文件的结构如下:
```
[全局设置]
[全局变量]
[www设置]
[www变量]
```
其中,全局设置是应用于所有进程池的设置,www设置是仅应用于www进程池的设置,变量则是由设置定义并在所有池共享的变量。
## 3.重要参数说明
下面是一些php-fpm.conf文件中重要的参数。
### 第1个全局设置
日志文件路径
```
error_log = /var/log/php-fpm/error.log
```
设置php-fpm的错误日志文件路径。这里设置的是/var/log/php-fpm/error.log,您可以根据需要修改该路径。
日志级别
```
log_level = warning
```
设置php-fpm的日志级别。warning是默认设置,输出恼人的错误和警告信息,而不会生成太多的无用垃圾。
### 第2个全局设置
进程监听的IP和端口
```
listen = /run/php-fpm/php-fpm.sock
```
这个设置是PHP-FPM的socket路径。类似于IP地址和端口号,在应用程序中进行连接。php-fpm.sock是一个Unix域socket。
### www设置
www进程监听的IP和端口
```
listen = 127.0.0.1:9000
```
www进程池的监听IP和端口设置。这里的设置是127.0.0.1:9000,您也可以根据您的需要进行相应的设置。
### 其他设置
子进程启动前需要执行的PHP文件
```
php_value[session.save_path] = /var/lib/php/session
php_value[date.timezone] = Asia/Shanghai
php_value[error_log] = /var/log/php/www-error.log
php_admin_value[upload_tmp_dir] = /tmp
php_admin_value[memory_limit] = 256M
php_admin_flag[log_errors] = on
php_admin_value[error_reporting] = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
```
这里的设置包括一些PHP配置,如session存储路径、时区、错误日志文件路径、上传临时文件夹路径、内存限制等。
## 总结
本文介绍了在php-fpm.conf文件中一些关键的参数,详细介绍了全局设置、www设置以及其他设置。了解这些参数是了解和配置PHP-FPM进程管理器的第一步。