新聞中心
Nginx+PHP配置有很多的技術(shù)應(yīng)用技巧,網(wǎng)管員在學(xué)習(xí)的時(shí)候都需要注意相關(guān)的知識(shí)。創(chuàng)建php-fpm配置文件(php-fpm是為PHP打的一個(gè)FastCGI管理補(bǔ)丁,可以平滑變更php.ini配置而無(wú)需重啟php-cgi)在/usr/local/webserver/php/etc/目錄中創(chuàng)建php-fpm.conf文件:

rm -f /usr/local/php/etc/php-fpm.conf 我的默認(rèn)沒(méi)有這個(gè)vi /usr/local/php/etc/php-fpm.conf
輸入以下內(nèi)容(如果您安裝 Nginx + PHP 用于程序調(diào)試,請(qǐng)將以下的
看到配置中有下面
- Unix user of processes
www - Unix group of processes
www
我的是nobody所以改成nobody這個(gè)值
200
啟動(dòng)Nginx+PHP配置-cgi進(jìn)程,監(jiān)聽(tīng)127.0.0.1的9000端口,進(jìn)程數(shù)為200(如果服務(wù)器內(nèi)存小于3GB,可以只開(kāi)啟64個(gè)進(jìn)程/參考配置文件中的那個(gè)max_children我暫時(shí)改為32內(nèi)部測(cè)試機(jī)),用戶為nobody:
- ulimit -SHn 51200
- #/usr/local/php/sbin/php-fpm start
- Starting php_fpm done
- [root@test php-5.2.6]# ps fax|grep fpm
- 17489 pts/2 S+ 0:00 \_ grep fpm
- 17453 ? Ss 0:00 /usr/local/php/bin/php-cgi --fpm
- 17454 ? S 0:00 \_ /usr/local/php/bin/php-cgi --fpm
- 17455 ? S 0:00 \_ /usr/local/php/bin/php-cgi --fpm
- 17456 ? S 0:00 \_ /usr/local/php/bin/php-cgi --fpm
- [root@test php-5.2.6]# ps fax|grep fpm|wc -l
注:/usr/local/php/sbin/php-fpm還有其他參數(shù),包括:start|stop|quit|restart|reload|logrotate,修改php.ini后不重啟php-cgi,重新加載配置文件使用reload
- All relative paths in this config are relative to php's install prefix
- Pid file
/usr/local/php/logs/php-fpm.pid - Error log file
/usr/local/php/logs/php-fpm.log - Log level
notice - When this amount of php processes exited with SIGSEGV or SIGBUS ...
10 - ... in a less than this interval of time, a graceful restart will be initiated.
- Useful to work around accidental curruptions in accelerator's shared memory.
1m - Time limit on waiting child's reaction on signals from master
5s - Set to 'no' to debug fpm
yes - Name of pool. Used in logs and stats.
default - Address to accept fastcgi requests on.
- Valid syntax is 'ip.ad.re.ss:port' or just 'port' or '/path/to/unix/socket'
127.0.0.1:9000 - Set listen(2) backlog
-1 - Set permissions for unix socket, if one used.
- In Linux read/write permissions must be set in order to allow connections from web server.
- Many BSD-derrived systems allow connections regardless of permissions.
0666 - Additional php.ini defines, specific to this pool of workers.
/usr/sbin/sendmail -t -i 1 - Unix user of processes
nobody - Unix group of processes
nobody - Process manager settings
- Sets style of controling worker process count.
- Valid values are 'static' and 'apache-like'
static - Sets the limit on the number of simultaneous requests that will be served.
- Equivalent to Apache MaxClients directive.
- Equivalent to PHP_FCGI_CHILDREN environment in original php.fcgi
- Used with any pm_style.
200 - Settings group for 'apache-like' pm style
- Sets the number of server processes created on startup.
- Used only when 'apache-like' pm_style is selected
20 - Sets the desired minimum number of idle server processes.
- Used only when 'apache-like' pm_style is selected
5 - Sets the desired maximum number of idle server processes.
- Used only when 'apache-like' pm_style is selected
250 - Time limit on waiting execution of single request
- Should be used when 'max_execution_time' ini option does not terminate execution for some reason
31s - Set open file desc rlimit
51200 - Set max core size rlimit
0 - Chroot to this directory at the start
- Chdir to this directory at the start
- Redirect workers' stdout and stderr into main error log.
- If not set, they will be redirected to /dev/null, according to FastCGI specs
yes - How much requests each process should execute before respawn.
- Useful to work around memory leaks in 3rd party libraries.
- For endless request processing please specify 0
- Equivalent to PHP_FCGI_MAX_REQUESTS
51200 - Comma separated list of ipv4 addresses of FastCGI clients that allowed to connect.
- Equivalent to FCGI_WEB_SERVER_ADDRS environment in original php.fcgi (5.2.2+)
- Makes sense only with AF_INET listening socket.
127.0.0.1 - Pass environment variables like LD_LIBRARY_PATH
- All $VARIABLEs are taken from current environment
$HOSTNAME /usr/local/bin:/usr/bin:/bin /tmp /tmp /tmp $OSTYPE $MACHTYPE 2
為了讓Nginx+PHP配置支持
- location ~ .*\.php?$
- {
- include fcgi.conf;
- #fastcgi_pass unix:/tmp/php-cgi.sock;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- }
增加上面這段到我的server段,在/usr/local/nginx/conf/目錄中創(chuàng)建fcgi.conf文件
- vi /usr/local/nginx/conf/fcgi.conf
- fastcgi_param GATEWAY_INTERFACE CGI/1.1;
- fastcgi_param SERVER_SOFTWARE nginx;
- fastcgi_param QUERY_STRING $query_string;
- fastcgi_param REQUEST_METHOD $request_method;
- fastcgi_param CONTENT_TYPE $content_type;
- fastcgi_param CONTENT_LENGTH $content_length;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- fastcgi_param SCRIPT_NAME $fastcgi_script_name;
- fastcgi_param REQUEST_URI $request_uri;
- fastcgi_param DOCUMENT_URI $document_uri;
- fastcgi_param DOCUMENT_ROOT $document_root;
- fastcgi_param SERVER_PROTOCOL $server_protocol;
- fastcgi_param REMOTE_ADDR $remote_addr;
- fastcgi_param REMOTE_PORT $remote_port;
- fastcgi_param SERVER_ADDR $server_addr;
- fastcgi_param SERVER_PORT $server_port;
- fastcgi_param SERVER_NAME $server_name;
- # PHP only, required if PHP was built with --enable-force
-cgi-redirect- #fastcgi_param REDIRECT_STATUS 200;
- [root@test php-5.2.6]# /usr/local/nginx/sbin/nginx -t
- 2008/09/09 11:12:23 [info] 17512#0: the configuration file
/usr/local/nginx/conf/nginx.conf syntax is ok- 2008/09/09 11:12:23 [info] 17512#0: the configuration file
/usr/local/nginx/conf/nginx.conf was tested successfully- [root@test php-5.2.6]# /usr/local/nginx/sbin/nginx
以上就是對(duì)Nginx+PHP配置的詳細(xì)介紹。
分享標(biāo)題:Nginx+PHP配置相關(guān)進(jìn)程的簡(jiǎn)要介紹
本文來(lái)源:http://m.5511xx.com/article/dpecdhj.html


咨詢(xún)
建站咨詢(xún)
