国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Table of Contents
PHP-FPM achieves performance optimization, php-fpm performance optimization
Articles you may be interested in:
Home Backend Development PHP Tutorial PHP-FPM achieves performance optimization, php-fpm performance optimization_PHP tutorial

PHP-FPM achieves performance optimization, php-fpm performance optimization_PHP tutorial

Jul 12, 2016 am 08:55 AM
php php-fpm Performance optimization

PHP-FPM achieves performance optimization, php-fpm performance optimization

Introduction:

PHP-FPM is a PHP FastCGI manager. Generally, when running PHP programs on Nginx, the PHP programs will be thrown to PHP-FPM for parsing. Okay, that’s it!

PHP 5.4 has integrated PHP-FPM, which means that when compiling PHP, just --enable-fpm will install PHP-FPM.

1. Install PHP-FPM

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

## Did you see the bunch of parameters above? This is compiling PHP. One of the parameters is --enable-fpm. Yes, this is to enable the PHP-FPM extension.

shell > make; make install

2. Configure PHP-FPM

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 的啟動(dòng)腳本
shell > cd /usr/local/php/etc/
shell > cp php-fpm.conf.default php-fpm.conf # 復(fù)制一份配置文件
shell > vim php-fpm.conf

[global]

pid = run/php-fpm.pid # PID
rlimit_files = 65535 # 打開(kāi)文件數(shù)限制

[www] # 進(jìn)程池

user = nginx # 以 nginx 身份運(yùn)行
group = nginx

listen = 127.0.0.1:9000 # 監(jiān)聽(tīng)本機(jī)的 9000 端口

;listen = /dev/shm/php-cgi.sock; # 監(jiān)聽(tīng) UNIX SOCKET ,并把 SOCKET 放在了內(nèi)存空間中,速度更快 ( Nginx 也要相應(yīng)修改 )!
;listen.backlog = 10240 # UNIX SOCKET 的方式高并發(fā)下有點(diǎn)不穩(wěn)定,該參數(shù)用來(lái)緩解 ( SOCKET 等待隊(duì)列長(zhǎng)度 )

;listen.owner = nginx # UNIX SOCKET 的權(quán)限
;listen.group = nginx
;listen.mode = 0660

pm = dynamic # 創(chuàng)建進(jìn)程的方式,動(dòng)態(tài)創(chuàng)建
pm.max_children = 32 # 最大進(jìn)程數(shù) ( 不能只看內(nèi)存來(lái)創(chuàng)建,要看具體使用率,有時(shí)內(nèi)存足夠,進(jìn)程數(shù)大多時(shí),導(dǎo)致 CPU 頻繁上下文切換,負(fù)載會(huì)很高 )
pm.start_servers = 5 # 初始進(jìn)程數(shù)
pm.min_spare_servers = 5 # 最小空閑進(jìn)程數(shù)
pm.max_spare_servers = 10 # 最大空閑進(jìn)程數(shù)

pm.status_path = /php_status # PHP-FPM 狀態(tài)監(jiān)控 ( Nginx 要設(shè)置訪問(wèn)權(quán)限 )

shell > service php-fpm start

3. Monitoring PHP-FPM

shell > vim /usr/local/nginx/conf/nginx.conf

location ~ /php_status { # 創(chuàng)建一個(gè)單獨(dú)的 server 或直接在 server {} 中加入配置

  access_log off;

  allow 127.0.0.1;
  allow 36.110.41.194; # 做好權(quán)限
  deny all;

  fastcgi_pass 127.0.0.1:9000; # 如果是 UNIX SOCKET 的方式,要類(lèi)似這樣寫(xiě): fastcgi_pass unix:/dev/shm/php-cgi.sock;
  fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
  include fastcgi_params;
}

shell > kill -HUP `cat /usr/local/nginx/logs/nginx.pid`

shell > curl http://127.0.0.1/php_status # 訪問(wèn)該路徑得到如下數(shù)據(jù)
pool: www               # 進(jìn)程池名稱(chēng)
process manager: dynamic        # 進(jìn)程管理方式
start time: 22/Jan/2016:15:49:00 +0800 # 啟動(dòng)時(shí)間
start since: 375            # 運(yùn)行時(shí)長(zhǎng)
accepted conn: 7            # 當(dāng)前進(jìn)程池接受的請(qǐng)求數(shù)
listen queue: 0            # 請(qǐng)求等待隊(duì)列,如果不為 0 ,意味著 FPM 進(jìn)程不足,需要增加
max listen queue: 0          # 最大等待隊(duì)列數(shù)量
listen queue len: 1024         # SOCKET 等待隊(duì)列長(zhǎng)度
idle processes: 4           # 空閑進(jìn)程數(shù)
active processes: 1          # 活躍的進(jìn)程數(shù)
total processes: 5           # 總進(jìn)程數(shù)
max active processes: 1        # 最大活躍進(jìn)程數(shù)
max children reached: 0        # 達(dá)到最大進(jìn)程數(shù)的次數(shù),如果不為 0 ,意味著最大進(jìn)程數(shù)不足,需要增加
slow requests: 0            # 慢請(qǐng)求數(shù)量,需要設(shè)置 slow log

shell > curl http://127.0.0.1/php_status # 這里有多種參數(shù)供選擇,例如: http://127.0.0.1/php_status?html 、?json 、?xml 、?full

# I think the ?json format is the best to use python script for monitoring!

Articles you may be interested in:

  • Detailed explanation of configuration based on php-fpm
  • php configuration php-fpm startup parameters and configuration details
  • Linux How to turn on and off php-fpm
  • Nginx error resolution when calling php-fpm and detailed explanation of nginx configuration
  • Configuration method for recording PHP error logs when using PHP-FPM in Nginx
  • Sharing of startup, restart, and stop scripts for Nginx and PHP-FPM
  • Installation and configuration tutorial for PHP-FPM under Linux system

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/1117055.htmlTechArticlePHP-FPM realizes performance optimization, php-fpm performance optimization introduction: PHP-FPM is a PHP FastCGI manager, Generally, when running PHP programs on Nginx, the PHP programs will be thrown to PHP-FPM for parsing. OK...
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

How to handle File Uploads securely in PHP? How to handle File Uploads securely in PHP? Jul 08, 2025 am 02:37 AM

To safely handle PHP file uploads, you need to verify the source and type, control the file name and path, set server restrictions, and process media files twice. 1. Verify the upload source to prevent CSRF through token and detect the real MIME type through finfo_file using whitelist control; 2. Rename the file to a random string and determine the extension to store it in a non-Web directory according to the detection type; 3. PHP configuration limits the upload size and temporary directory Nginx/Apache prohibits access to the upload directory; 4. The GD library resaves the pictures to clear potential malicious data.

How Do You Pass Variables by Value vs. by Reference in PHP? How Do You Pass Variables by Value vs. by Reference in PHP? Jul 08, 2025 am 02:42 AM

InPHP,variablesarepassedbyvaluebydefault,meaningfunctionsorassignmentsreceiveacopyofthedata,whilepassingbyreferenceallowsmodificationstoaffecttheoriginalvariable.1.Whenpassingbyvalue,changestothecopydonotimpacttheoriginal,asshownwhenassigning$b=$aorp

How Do Generators Work in PHP? How Do Generators Work in PHP? Jul 11, 2025 am 03:12 AM

AgeneratorinPHPisamemory-efficientwaytoiterateoverlargedatasetsbyyieldingvaluesoneatatimeinsteadofreturningthemallatonce.1.Generatorsusetheyieldkeywordtoproducevaluesondemand,reducingmemoryusage.2.Theyareusefulforhandlingbigloops,readinglargefiles,or

PHP header location ajax call not working PHP header location ajax call not working Jul 10, 2025 pm 01:46 PM

The reason why header('Location:...') in AJAX request is invalid is that the browser will not automatically perform page redirects. Because in the AJAX request, the 302 status code and Location header information returned by the server will be processed as response data, rather than triggering the jump behavior. Solutions are: 1. Return JSON data in PHP and include a jump URL; 2. Check the redirect field in the front-end AJAX callback and jump manually with window.location.href; 3. Ensure that the PHP output is only JSON to avoid parsing failure; 4. To deal with cross-domain problems, you need to set appropriate CORS headers; 5. To prevent cache interference, you can add a timestamp or set cache:f

How to prevent session hijacking in PHP? How to prevent session hijacking in PHP? Jul 11, 2025 am 03:15 AM

To prevent session hijacking in PHP, the following measures need to be taken: 1. Use HTTPS to encrypt the transmission and set session.cookie_secure=1 in php.ini; 2. Set the security cookie attributes, including httponly, secure and samesite; 3. Call session_regenerate_id(true) when the user logs in or permissions change to change to change the SessionID; 4. Limit the Session life cycle, reasonably configure gc_maxlifetime and record the user's activity time; 5. Prohibit exposing the SessionID to the URL, and set session.use_only

How to access a character in a string by index in PHP How to access a character in a string by index in PHP Jul 12, 2025 am 03:15 AM

In PHP, you can use square brackets or curly braces to obtain string specific index characters, but square brackets are recommended; the index starts from 0, and the access outside the range returns a null value and cannot be assigned a value; mb_substr is required to handle multi-byte characters. For example: $str="hello";echo$str[0]; output h; and Chinese characters such as mb_substr($str,1,1) need to obtain the correct result; in actual applications, the length of the string should be checked before looping, dynamic strings need to be verified for validity, and multilingual projects recommend using multi-byte security functions uniformly.

How to URL encode a string in PHP with urlencode How to URL encode a string in PHP with urlencode Jul 11, 2025 am 03:22 AM

The urlencode() function is used to encode strings into URL-safe formats, where non-alphanumeric characters (except -, _, and .) are replaced with a percent sign followed by a two-digit hexadecimal number. For example, spaces are converted to signs, exclamation marks are converted to!, and Chinese characters are converted to their UTF-8 encoding form. When using, only the parameter values ??should be encoded, not the entire URL, to avoid damaging the URL structure. For other parts of the URL, such as path segments, the rawurlencode() function should be used, which converts the space to . When processing array parameters, you can use http_build_query() to automatically encode, or manually call urlencode() on each value to ensure safe transfer of data. just

PHP find the position of the last occurrence of a substring PHP find the position of the last occurrence of a substring Jul 09, 2025 am 02:49 AM

The most direct way to find the last occurrence of a substring in PHP is to use the strrpos() function. 1. Use strrpos() function to directly obtain the index of the last occurrence of the substring in the main string. If it is not found, it returns false. The syntax is strrpos($haystack,$needle,$offset=0). 2. If you need to ignore case, you can use the strripos() function to implement case-insensitive search. 3. For multi-byte characters such as Chinese, the mb_strrpos() function in the mbstring extension should be used to ensure that the character position is returned instead of the byte position. 4. Note that strrpos() returns f

See all articles