Heim  >  Artikel  >  Backend-Entwicklung  >  So erreichen Sie eine Leistungsoptimierung mit PHP-FPM

So erreichen Sie eine Leistungsoptimierung mit PHP-FPM

墨辰丷
墨辰丷Original
2018-06-04 10:58:381926Durchsuche

Dieser Artikel stellt Ihnen die Konfigurationsmethoden und Vorsichtsmaßnahmen zur Leistungsoptimierung durch PHP-FPM vor. Freunde in Not können sich auf die

Einführung beziehen:

PHP-FPM ist ein PHP-FastCGI-Manager Wenn PHP-Programme auf Nginx ausgeführt werden, werden die PHP-Programme im Allgemeinen zum Parsen an PHP-FPM weitergeleitet. Okay, das ist es!

PHP 5.4 hat mit der Integration von PHP-FPM begonnen, was bedeutet, dass beim Kompilieren von PHP einfach --enable-fpm PHP-FPM installiert.

1. PHP-FPM installieren

rrree

## Sehen Sie die oben genannten Parameter? --enable -fpm Ja , dies dient dazu, die PHP-FPM-Erweiterung zu aktivieren.

shell > ./configure --prefix=/usr/local/php \
--with-config-file-path=/usr/local/php --with-mysql=/usr/local/mysql/ \
--with-mysqli=/usr/local/mysql/bin/mysql_config --with-gd --with-xsl --with-bz2 \
--with-zlib --with-curl --with-pear --without-iconv --with-mcrypt \
--with-gettext --with-openssl --with-libxml-dir --with-png-dir --with-jpeg-dir --with-freetype-dir \
--with-libdir=lib64 --enable-ftp --enable-fpm --enable-opcache --enable-exif --enable-soap --enable-bcmath --enable-calendar \
--enable-sockets --enable-mbstring --enable-gd-native-ttf --disable-rpath --disable-debug

2. PHP-FPM konfigurieren

shell > make; make install

3. PHP-FPM überwachen

shell > cp /usr/local/src/php-5.6.17/php.ini-production /usr/local/php/php.ini # 这是 PHP 的配置文件
shell > cp /usr/local/src/php-5.6.17/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm # 这是 PHP-FPM 的启动脚本
shell > cd /usr/local/php/etc/
shell > cp php-fpm.conf.default php-fpm.conf # 复制一份配置文件
shell > vim php-fpm.conf

[global]

pid = run/php-fpm.pid # PID
rlimit_files = 65535 # 打开文件数限制

[www] # 进程池

user = nginx # 以 nginx 身份运行
group = nginx

listen = 127.0.0.1:9000 # 监听本机的 9000 端口

;listen = /dev/shm/php-cgi.sock; # 监听 UNIX SOCKET ,并把 SOCKET 放在了内存空间中,速度更快 ( Nginx 也要相应修改 )!
;listen.backlog = 10240 # UNIX SOCKET 的方式高并发下有点不稳定,该参数用来缓解 ( SOCKET 等待队列长度 )

;listen.owner = nginx # UNIX SOCKET 的权限
;listen.group = nginx
;listen.mode = 0660

pm = dynamic # 创建进程的方式,动态创建
pm.max_children = 32 # 最大进程数 ( 不能只看内存来创建,要看具体使用率,有时内存足够,进程数大多时,导致 CPU 频繁上下文切换,负载会很高 )
pm.start_servers = 5 # 初始进程数
pm.min_spare_servers = 5 # 最小空闲进程数
pm.max_spare_servers = 10 # 最大空闲进程数

pm.status_path = /php_status # PHP-FPM 状态监控 ( Nginx 要设置访问权限 )

shell > service php-fpm start

# Ich denke, verwenden Für Python-Skripte, die zur Überwachung verwendet werden sollen, ist das ?json-Format das beste!

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.

Verwandte Empfehlungen:

phpEine Methode zur Implementierung einer einfachen Wahrscheinlichkeit

php Methoden und einfache Beispiele zur While-Schleifensteuerung

Wie man domänenübergreifende Operationen in PHP implementiert

Das obige ist der detaillierte Inhalt vonSo erreichen Sie eine Leistungsoptimierung mit PHP-FPM. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn