1.5-php-fpm配置文件
/usr/local/php/etc/php-fpm.conf 是php服务的配置
/usr/local/php/etc/php.ini 是php软件的全局配置.如:时钟
主要配置的是php服务的配置,自带服务样板很乱,首先清空,插入代码
> /usr/local/php/etc/php-fpm.conf 清空文件
vim /usr/local/php/etc/php-fpm.conf 其实删除注释后,也就是下面的代码
[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
[www]
listen = /tmp/php-fcgi.sock 监听的方式,一般为sockte 可以自定义,自动生成
user = php-fpm
group = php-fpm
pm = dynamic 动态的,管理下面的代码
pm.max_children = 50 最大50个子进程
pm.start_servers = 20 一开始启动20子子进程,即启动php就启动20个进程
pm.min_spare_servers = 5 最小子进程5个
pm.max_spare_servers = 35 最多35个子进程
pm.max_requests = 500 一个子进程在它的生命周期内,一共处理500个请求。自动销毁
rlimit_files = 1024 每一个进程,它所使用的文件描述符的限制,大点也没关系
slowlog = /tmp/www_slow.log 追踪网站,排查网站慢的日志
request_slowlog_timeout = 1 脚本超时1秒,记录到上条路径的slow.log中
php_admin_value[open_basedir]=/data/www/:/tmp/ 指定php有权限的目录
代码分为两个部分
1.global 全局配置,主要是pid和错误日志
2.www为服务配置,
如果配置中pm = static 那么只有pm.max_children = 50生效,也就是启动就有50个进程,其它不生效。
建议使用dynamic 一开始会启动20个pool,如果空闲,则一个个销毁,直到最小5个为止。
多个pool的配置 不同域名,对应不同pool。有2个好处,1可以为不同的网站赋予不同的权限2一个网站挂掉,不影响其他pool的网站。
[global]
pid = /usr/local/php/var/run/php-fpm.pid
error_log = /usr/local/php/var/log/php-fpm.log
[www]
listen = /tmp/www.sock
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
slowlog = /tmp/www_slow.log
request_slowlog_timeout = 1
[www1] 改动1
listen = /tmp/www1.sock 改动2
user = php-fpm
group = php-fpm
pm = dynamic
pm.max_children = 50
pm.start_servers = 20
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500
rlimit_files = 1024
slowlog = /tmp/www1_slow.log
request_slowlog_timeout = 1
课后答疑:
1:有两个问题1 这个listen = /tmp/php-fcgi.sock 什么时候写sock 什么时候用127.0.0.1:9000呢?
2 php-fmp里面php_admin_value[open_basedir] =/data/www/ 和nginx里面的虚拟主机配置文件root /data/aaa 如果这两个同时配置了那个目录会生效呢?
答:1. listen你愿意用哪个就哪个,都差不多,但有的人认为socket性能要比ip:port的形式高效,在我看来都差不多。
2. nginx配置的只是一个网站根目录,而php里面的open_basedir 是限定php的,你这样设置后,发现你的网站根本就不能运行了。
2:php-fpm设置了多个池子,如果需要每个pool指定不同的用户,那用户是在php编译安装时在这里--with-fpm-user=php-fpm如何绑定多个用户呢
答:上面那个是默认的,我们还可以在配置文件里定义额外的。
3:理解不了socket是什么
答:就是用来通信的文件,类似tcp/ip的通信机制,这种文件是unix/linux系统里面特有的。像mysql的数据通信,我们就可以使用socket文件通信。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Long URLs, often cluttered with keywords and tracking parameters, can deter visitors. A URL shortening script offers a solution, creating concise links ideal for social media and other platforms. These scripts are valuable for individual websites a

Laravel simplifies handling temporary session data using its intuitive flash methods. This is perfect for displaying brief messages, alerts, or notifications within your application. Data persists only for the subsequent request by default: $request-

This is the second and final part of the series on building a React application with a Laravel back-end. In the first part of the series, we created a RESTful API using Laravel for a basic product-listing application. In this tutorial, we will be dev

Laravel provides concise HTTP response simulation syntax, simplifying HTTP interaction testing. This approach significantly reduces code redundancy while making your test simulation more intuitive. The basic implementation provides a variety of response type shortcuts: use Illuminate\Support\Facades\Http; Http::fake([ 'google.com' => 'Hello World', 'github.com' => ['foo' => 'bar'], 'forge.laravel.com' =>

The PHP Client URL (cURL) extension is a powerful tool for developers, enabling seamless interaction with remote servers and REST APIs. By leveraging libcurl, a well-respected multi-protocol file transfer library, PHP cURL facilitates efficient execution of various network protocols, including HTTP, HTTPS, and FTP. This extension offers granular control over HTTP requests, supports multiple concurrent operations, and provides built-in security features.

Do you want to provide real-time, instant solutions to your customers' most pressing problems? Live chat lets you have real-time conversations with customers and resolve their problems instantly. It allows you to provide faster service to your custom

The 2025 PHP Landscape Survey investigates current PHP development trends. It explores framework usage, deployment methods, and challenges, aiming to provide insights for developers and businesses. The survey anticipates growth in modern PHP versio

In this article, we're going to explore the notification system in the Laravel web framework. The notification system in Laravel allows you to send notifications to users over different channels. Today, we'll discuss how you can send notifications ov
