Nginx+PHP配置相关进程的简要介绍
2011-04-11 10:24
656 查看
Nginx+PHP配置有很多的技术应用技巧,网管员在学习的时候都需要注意相关的知识。创建php-fpm配置文件(php-fpm是为PHP打的一个FastCGI管理补丁,可以平滑变更php.ini配置而无需重启php-cgi)在/usr/local/webserver/php/etc/目录中创建php-fpm.conf文件:
rm -f /usr/local/php/etc/php-fpm.conf 我的默认没有这个vi /usr/local/php/etc/php-fpm.conf
输入以下内容(如果您安装 Nginx + PHP 用于程序调试,请将以下的<value name="display_errors">0</value>改为<value name="display_errors">1</value>,以便显示PHP错误信息,否则,Nginx 会报状态为500的空白错误页):
看到配置中有下面
Unix user of processes
<value name="user">www</value>
Unix group of processes
<value name="group">www</value>
我的是nobody所以改成nobody这个值
<value name="max_children">200</value>
启动Nginx+PHP配置-cgi进程,监听127.0.0.1的9000端口,进程数为200(如果服务器内存小于3GB,可以只开启64个进程/参考配置文件中的那个max_children我暂时改为32内部测试机),用户为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还有其他参数,包括:start|stop|quit|restart|reload|logrotate,修改php.ini后不重启php-cgi,重新加载配置文件使用reload
为了让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/目录中创建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
以上就是对Nginx+PHP配置的详细介绍。
rm -f /usr/local/php/etc/php-fpm.conf 我的默认没有这个vi /usr/local/php/etc/php-fpm.conf
输入以下内容(如果您安装 Nginx + PHP 用于程序调试,请将以下的<value name="display_errors">0</value>改为<value name="display_errors">1</value>,以便显示PHP错误信息,否则,Nginx 会报状态为500的空白错误页):
看到配置中有下面
Unix user of processes
<value name="user">www</value>
Unix group of processes
<value name="group">www</value>
我的是nobody所以改成nobody这个值
<value name="max_children">200</value>
启动Nginx+PHP配置-cgi进程,监听127.0.0.1的9000端口,进程数为200(如果服务器内存小于3GB,可以只开启64个进程/参考配置文件中的那个max_children我暂时改为32内部测试机),用户为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还有其他参数,包括:start|stop|quit|restart|reload|logrotate,修改php.ini后不重启php-cgi,重新加载配置文件使用reload
为了让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/目录中创建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
以上就是对Nginx+PHP配置的详细介绍。
相关文章推荐
- 配置Nginx来支持PHP----重点介绍Nginx如何通过PHP_FPM的FastCGI进程对PHP进行解析处理。
- nginx+php-fpm配置文件的组织结构介绍
- linux的Nginx防盗链、Nginx访问控制、Nginx解析php相关配置、Nginx代理介绍
- CCNA网络工程师学习进程(6)vlan相关协议的配置与路由器简单配置介绍
- Nginx+php-cgi的配置方法介绍
- PHP----------php-fpm进程数的一些相关配置
- nginx+php-fpm相关配置
- Windows下 Apache2.2 + PHP + phpMyAdmin + MySQL 配置简要相关说明
- nginx+php-fpm配置文件的组织结构介绍
- nginx+php配置简单介绍
- LAMP——PHP相关配置
- windows下配置nginx+php环境
- CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)
- windows下配置nginx+php环境
- windows下配置nginx+php环境
- CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)
- LAMP环境-限定PHP解析、useragent、PHP相关配置、Apache相关配置
- php-fpm介绍及配置
- windows环境下memcache相关配置及PHP加载相应模块(php7版本)
- Nginx+PHP-FPM的域Socket配置方法