window+nginx+php-cgi,怎么配置php解析非阻塞队列式解析php? php-cginginx 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 参考 http://www.baidu.com/s?wd=nginx%E5%B9%B6%E5%8F%91%E6%95%B0&ie=utf-8 我的nginx.conf配置是但是 我这个时候浏览器打开 index.html这样的静态页面并不会受影响的?只是php解析时,会很久没有返回,除非上个正在解析的php解析完成了,才可以,这应该跟nginx无关,我找了很多资料,不清楚怎么让php-cgi可以同时解析二个以上的php?谢谢.#widnow 不支持 user指令#user nobody;#nginx 线程,自动控制worker_processes auto;error_log logs/error.log;pid logs/nginx.pid;#打开文件最多个数worker_rlimit_nofile 8192;events { worker_connections 1024;}http { include mime.types; include fastcgi.conf; include scgi_params; index index.html index.php; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] $status ' '"$request" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main; server_names_hash_bucket_size 128; client_header_buffer_size 32k; large_client_header_buffers 4 32k; client_max_body_size 50m; sendfile on; tcp_nopush on; keepalive_timeout 60; tcp_nodelay on; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_temp_file_write_size 256k; gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.0; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml; gzip_vary on; gzip_proxied expired no-cache no-store private auth; gzip_disable "MSIE [1-6]\."; #limit_zone crawler $binary_remote_addr 10m; server_tokens off; #log format log_format access '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $http_x_forwarded_for'; include vhost/*.conf;} 我不用 nginx,所以没法告诉你正确的该如何写如果你认为你写的是正确的话,那么就该考虑你的 php 程序里是否是 session 的影响了 php.ini配置q.qq域名的配置[code=text]server { listen 80; server_name q.qq; access_log ./../log/q.qq.access.txt; root d:/web/www; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; }}fastcgi.conffastcgi_index index.php;fastcgi_intercept_errors on;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;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_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 HTTPS $https if_not_empty;fastcgi_param GATEWAY_INTERFACE CGI/1.1;fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;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-redirectfastcgi_param REDIRECT_STATUS 200;fcgi_params配置scgi_param REQUEST_METHOD $request_method;scgi_param REQUEST_URI $request_uri;scgi_param QUERY_STRING $query_string;scgi_param CONTENT_TYPE $content_type;scgi_param DOCUMENT_URI $document_uri;scgi_param DOCUMENT_ROOT $document_root;#cgi 线程数?scgi_param SCGI 10;scgi_param SERVER_PROTOCOL $server_protocol;scgi_param HTTPS $https if_not_empty;scgi_param REMOTE_ADDR $remote_addr;scgi_param REMOTE_PORT $remote_port;scgi_param SERVER_PORT $server_port;scgi_param SERVER_NAME $server_name;php.ini[PHP]engine = Onshort_open_tag = Offasp_tags = Offprecision = 14output_buffering = 4096zlib.output_compression = Offimplicit_flush = Offunserialize_callback_func =serialize_precision = 17disable_functions = error_reportingdisable_classes =zend.enable_gc = Onexpose_php = Onmax_execution_time = 60max_input_time = 60memory_limit = 128Merror_reporting = E_ALLdisplay_errors = offdisplay_startup_errors = Onlog_errors = onlog_errors_max_len = 512ignore_repeated_errors = onignore_repeated_source = Offreport_memleaks = Ontrack_errors = Offhtml_errors = Offerror_prepend_string = ""error_append_string = "\n"error_log = "./../log/php.error.log.txt"variables_order = "GPCS"request_order = "GP"register_argc_argv = Offauto_globals_jit = Onpost_max_size = 8Mauto_prepend_file =auto_append_file =default_mimetype = "text/html";extension_dir = "./../php/ext/"enable_dl = Offcgi.force_redirect = 1cgi.fix_pathinfo=0fastcgi.logging = 0file_uploads = Onupload_max_filesize = 10Mmax_file_uploads = 20allow_url_fopen = Onallow_url_include = Offdefault_socket_timeout = 60extension=php_curl.dllextension=php_gd2.dllextension=php_imap.dllextension=php_mbstring.dllextension=php_mysql.dllextension=php_mysqli.dllextension=php_openssl.dllextension=php_pdo_mysql.dll[CLI Server]cli_server.color = On[Date]date.timezone = "Asia/Shanghai"[filter][iconv][intl][sqlite][sqlite3][Pcre][Pdo][Pdo_mysql]pdo_mysql.cache_size = 2000pdo_mysql.default_socket=[Phar][mail function]SMTP = localhostsmtp_port = 25mail.add_x_header = On[SQL]sql.safe_mode = Off[ODBC]odbc.allow_persistent = Onodbc.check_persistent = Onodbc.max_persistent = -1odbc.max_links = -1odbc.defaultlrl = 4096odbc.defaultbinmode = 1[Interbase]ibase.allow_persistent = 1ibase.max_persistent = -1ibase.max_links = -1ibase.timestampformat = "%Y-%m-%d %H:%M:%S"ibase.dateformat = "%Y-%m-%d"ibase.timeformat = "%H:%M:%S"[MySQL]mysql.allow_local_infile = Onmysql.allow_persistent = Onmysql.cache_size = 2000mysql.max_persistent = -1mysql.max_links = -1mysql.default_port =mysql.default_socket =mysql.default_host =mysql.default_user =mysql.default_password =mysql.connect_timeout = 60mysql.trace_mode = Off[MySQLi]mysqli.max_persistent = -1mysqli.allow_persistent = Onmysqli.max_links = -1mysqli.cache_size = 2000mysqli.default_port = 3306mysqli.default_socket =mysqli.default_host =mysqli.default_user =mysqli.default_pw =mysqli.reconnect = Off[mysqlnd]mysqlnd.collect_statistics = Onmysqlnd.collect_memory_statistics = Off[OCI8][PostgreSQL]pgsql.allow_persistent = Onpgsql.auto_reset_persistent = Offpgsql.max_persistent = -1pgsql.max_links = -1pgsql.ignore_notice = 0pgsql.log_notice = 0[Sybase-CT]sybct.allow_persistent = Onsybct.max_persistent = -1sybct.max_links = -1sybct.min_server_severity = 10sybct.min_client_severity = 10[bcmath]bcmath.scale = 0[browscap][Session]session.save_handler = filessession.use_cookies = 1session.use_only_cookies = 1session.name = PHPSESSIDsession.auto_start = 0session.cookie_lifetime = 0session.cookie_path = /session.cookie_domain =session.cookie_httponly =session.serialize_handler = phpsession.gc_probability = 1session.gc_divisor = 1000session.gc_maxlifetime = 1440session.bug_compat_42 = Offsession.bug_compat_warn = Offsession.referer_check =session.cache_limiter = nocachesession.cache_expire = 180session.use_trans_sid = 0session.hash_function = 0session.hash_bits_per_character = 5url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"[MSSQL]mssql.allow_persistent = Onmssql.max_persistent = -1mssql.max_links = -1mssql.min_error_severity = 10mssql.min_message_severity = 10mssql.compatability_mode = Offmssql.secure_connection = Off[Assertion][COM][mbstring][gd][exif][Tidy]tidy.clean_output = Off[soap]soap.wsdl_cache_enabled=1soap.wsdl_cache_dir="/tmp"soap.wsdl_cache_ttl=86400soap.wsdl_cache_limit = 5[sysvshm][ldap]ldap.max_links = -1[mcrypt][dba][/code] session影响?不明白什么意思我现在想不到是怎么回事,不懂怎么解决.其它人都没有遇到过这种问题吗?百度或是其它地方都没找到有相关资料.我的目录结构是d:/web/php,nginx,www这样结构bat的写法是set bat=%~f0set batDir=%~dp0CD "%batDir%"set log=%batDir%log\::启动nginx与php-cgi:callLabelc set called=1 start "fcgi服务" /MIN /D "%batDir%php" php-cgi.exe -b 127.0.0.1:9000 -c "%batDir%php/php.ini" start "nginx服务" /MIN /D "%batDir%nginx" nginx.exe:eof_callLabelc goto :EOF:callLabelcc set called=1 start "nginx服务" /MIN /D "%batDir%nginx" nginx.exe -s stop ping 127.0.0.1 -n 3 >nul start "停止php-cgi服务" /MIN /D "%batDir%php" taskkill /F /IM php-cgi.exe > nul start "停止php-cgi服务" /MIN /D "%batDir%php" taskkill /F /IM nginx.exe > nul:eof_callLabelcc goto :EOF从我个人的看法感觉就是:127.0.0.1:9000端口只允许一个送入动作,解析,返回,完成了,再接受下个循环.但是按照我的理解,它应该是主要有送入动作就应该生成一个线程或是子进程来处理 接受,解析,返回这样的循环再退出或是待下个连接.这样的生成应该受最大数限制即可.但是我现在却搞不懂那里可以可以配置让php-cgi可以一接受到解析请求就生成新线程或是进程来完成,直到达到最大数才应该出现阻塞的现象.而现在却是从始到终只有一个线程在处理.启动ngihx+php时C:\Users\Administrator>netstat -na |findstr /c:"9000" TCP 127.0.0.1:9000 0.0.0.0:0 LISTENING打开图片的二个php时C:\Users\Administrator>netstat -na |findstr /c:"9000" TCP 127.0.0.1:9000 0.0.0.0:0 LISTENING TCP 127.0.0.1:9000 127.0.0.1:63631 ESTABLISHED TCP 127.0.0.1:9000 127.0.0.1:63634 ESTABLISHED TCP 127.0.0.1:63631 127.0.0.1:9000 ESTABLISHED TCP 127.0.0.1:63634 127.0.0.1:9000 ESTABLISHED解析过程中C:\Users\Administrator>netstat -na |findstr /c:"9000" TCP 127.0.0.1:9000 0.0.0.0:0 LISTENING TCP 127.0.0.1:9000 127.0.0.1:63631 ESTABLISHED TCP 127.0.0.1:9000 127.0.0.1:63634 ESTABLISHED TCP 127.0.0.1:63631 127.0.0.1:9000 ESTABLISHED TCP 127.0.0.1:63634 127.0.0.1:9000 ESTABLISHED二个php都返回结果了.C:\Users\Administrator>netstat -na |findstr /c:"9000" TCP 127.0.0.1:9000 0.0.0.0:0 LISTENING TCP 127.0.0.1:9000 127.0.0.1:63631 TIME_WAIT TCP 127.0.0.1:9000 127.0.0.1:63634 TIME_WAIT呵呵,有点郁闷.都不懂从那里入手了.那位知道怎么回事,请解答一下.谢谢 session影响?不明白什么意思我现在想不到是怎么回事,不懂怎么解决.其它人都没有遇到过这种问题吗?百度或是其它地方都没找到有相关资料.我的目录结构是d:/web/php,nginx,www这样结构bat的写法是set bat=%~f0set batDir=%~dp0CD "%batDir%"set log=%batDir%log\::启动nginx与php-cgi:callLabelc set called=1 start "fcgi服务" /MIN /D "%batDir%php" php-cgi.exe -b 127.0.0.1:9000 -c "%batDir%php/php.ini" start "nginx服务" /MIN /D "%batDir%nginx" nginx.exe:eof_callLabelc goto :EOF:callLabelcc set called=1 start "nginx服务" /MIN /D "%batDir%nginx" nginx.exe -s stop ping 127.0.0.1 -n 3 >nul start "停止php-cgi服务" /MIN /D "%batDir%php" taskkill /F /IM php-cgi.exe > nul start "停止php-cgi服务" /MIN /D "%batDir%php" taskkill /F /IM nginx.exe > nul:eof_callLabelcc goto :EOF从我个人的看法感觉就是:127.0.0.1:9000端口只允许一个送入动作,解析,返回,完成了,再接受下个循环.但是按照我的理解,它应该是主要有送入动作就应该生成一个线程或是子进程来处理 接受,解析,返回这样的循环再退出或是待下个连接.这样的生成应该受最大数限制即可.但是我现在却搞不懂那里可以可以配置让php-cgi可以一接受到解析请求就生成新线程或是进程来完成,直到达到最大数才应该出现阻塞的现象.而现在却是从始到终只有一个线程在处理.启动ngihx+php时C:\Users\Administrator>netstat -na |findstr /c:"9000" TCP 127.0.0.1:9000 0.0.0.0:0 LISTENING打开图片的二个php时C:\Users\Administrator>netstat -na |findstr /c:"9000" TCP 127.0.0.1:9000 0.0.0.0:0 LISTENING TCP 127.0.0.1:9000 127.0.0.1:63631 ESTABLISHED TCP 127.0.0.1:9000 127.0.0.1:63634 ESTABLISHED TCP 127.0.0.1:63631 127.0.0.1:9000 ESTABLISHED TCP 127.0.0.1:63634 127.0.0.1:9000 ESTABLISHED解析过程中C:\Users\Administrator>netstat -na |findstr /c:"9000" TCP 127.0.0.1:9000 0.0.0.0:0 LISTENING TCP 127.0.0.1:9000 127.0.0.1:63631 ESTABLISHED TCP 127.0.0.1:9000 127.0.0.1:63634 ESTABLISHED TCP 127.0.0.1:63631 127.0.0.1:9000 ESTABLISHED TCP 127.0.0.1:63634 127.0.0.1:9000 ESTABLISHED二个php都返回结果了.C:\Users\Administrator>netstat -na |findstr /c:"9000" TCP 127.0.0.1:9000 0.0.0.0:0 LISTENING TCP 127.0.0.1:9000 127.0.0.1:63631 TIME_WAIT TCP 127.0.0.1:9000 127.0.0.1:63634 TIME_WAIT呵呵,有点郁闷.都不懂从那里入手了.那位知道怎么回事,请解答一下.谢谢 关于PHP生成PDF文件(把当前页面直接生成PDF文件) 新手求助 网店系统Hishop.5.2.2安装到本地IIS5.1的问题 很想自学PHP,但是不知道从哪里开始? php连接mysql问题 新浪微博的字数判断 php如何表示从当前日期起三个月之内的数据 YouYaX开源论坛第15个版本发布啦~优化通知 CactiEZ生成图片水印问题 数据库 用PHPMYADMIN访问正常却无法导出怎么办? 做电影链接聚合 怎么设计表 这段内容用正则怎么去替换所有的图片地址 携程api开发
配置是
但是 我这个时候浏览器打开 index.html这样的静态页面并不会受影响的?
只是php解析时,会很久没有返回,除非上个正在解析的php解析完成了,才可以,
这应该跟nginx无关,我找了很多资料,不清楚怎么让php-cgi可以同时解析二个以上的php?谢谢.#widnow 不支持 user指令
#user nobody;
#nginx 线程,自动控制
worker_processes auto;
error_log logs/error.log;
pid logs/nginx.pid;
#打开文件最多个数
worker_rlimit_nofile 8192;
events {
worker_connections 1024;
}
http {
include mime.types;
include fastcgi.conf;
include scgi_params;
index index.html index.php;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] $status '
'"$request" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50m; sendfile on;
tcp_nopush on; keepalive_timeout 60; tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\."; #limit_zone crawler $binary_remote_addr 10m; server_tokens off;
#log format
log_format access '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" $http_x_forwarded_for';
include vhost/*.conf;
}
如果你认为你写的是正确的话,那么就该考虑你的 php 程序里是否是 session 的影响了
listen 80;
server_name q.qq;
access_log ./../log/q.qq.access.txt;
root d:/web/www;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
}
}fastcgi.conf
fastcgi_index index.php;
fastcgi_intercept_errors on;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
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_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 HTTPS $https if_not_empty;fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;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;fcgi_params配置
scgi_param REQUEST_METHOD $request_method;
scgi_param REQUEST_URI $request_uri;
scgi_param QUERY_STRING $query_string;
scgi_param CONTENT_TYPE $content_type;scgi_param DOCUMENT_URI $document_uri;
scgi_param DOCUMENT_ROOT $document_root;
#cgi 线程数?
scgi_param SCGI 10;
scgi_param SERVER_PROTOCOL $server_protocol;
scgi_param HTTPS $https if_not_empty;scgi_param REMOTE_ADDR $remote_addr;
scgi_param REMOTE_PORT $remote_port;
scgi_param SERVER_PORT $server_port;
scgi_param SERVER_NAME $server_name;php.ini
[PHP]
engine = On
short_open_tag = Off
asp_tags = Off
precision = 14
output_buffering = 4096
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func =
serialize_precision = 17
disable_functions = error_reporting
disable_classes =
zend.enable_gc = On
expose_php = On
max_execution_time = 60
max_input_time = 60
memory_limit = 128M
error_reporting = E_ALL
display_errors = off
display_startup_errors = On
log_errors = on
log_errors_max_len = 512
ignore_repeated_errors = on
ignore_repeated_source = Off
report_memleaks = On
track_errors = Off
html_errors = Off
error_prepend_string = ""
error_append_string = "\n"
error_log = "./../log/php.error.log.txt"
variables_order = "GPCS"
request_order = "GP"
register_argc_argv = Off
auto_globals_jit = On
post_max_size = 8M
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html";
extension_dir = "./../php/ext/"
enable_dl = Off
cgi.force_redirect = 1
cgi.fix_pathinfo=0
fastcgi.logging = 0
file_uploads = On
upload_max_filesize = 10M
max_file_uploads = 20
allow_url_fopen = On
allow_url_include = Off
default_socket_timeout = 60
extension=php_curl.dll
extension=php_gd2.dll
extension=php_imap.dll
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_openssl.dll
extension=php_pdo_mysql.dll
[CLI Server]
cli_server.color = On
[Date]
date.timezone = "Asia/Shanghai"
[filter]
[iconv]
[intl]
[sqlite]
[sqlite3]
[Pcre][Pdo]
[Pdo_mysql]
pdo_mysql.cache_size = 2000
pdo_mysql.default_socket=
[Phar]
[mail function]
SMTP = localhost
smtp_port = 25
mail.add_x_header = On[SQL]
sql.safe_mode = Off
[ODBC]
odbc.allow_persistent = On
odbc.check_persistent = On
odbc.max_persistent = -1
odbc.max_links = -1
odbc.defaultlrl = 4096
odbc.defaultbinmode = 1
[Interbase]
ibase.allow_persistent = 1
ibase.max_persistent = -1
ibase.max_links = -1
ibase.timestampformat = "%Y-%m-%d %H:%M:%S"
ibase.dateformat = "%Y-%m-%d"
ibase.timeformat = "%H:%M:%S"
[MySQL]
mysql.allow_local_infile = On
mysql.allow_persistent = On
mysql.cache_size = 2000
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off
[MySQLi]
mysqli.max_persistent = -1
mysqli.allow_persistent = On
mysqli.max_links = -1
mysqli.cache_size = 2000
mysqli.default_port = 3306
mysqli.default_socket =
mysqli.default_host =
mysqli.default_user =
mysqli.default_pw =
mysqli.reconnect = Off
[mysqlnd]
mysqlnd.collect_statistics = On
mysqlnd.collect_memory_statistics = Off
[OCI8][PostgreSQL]
pgsql.allow_persistent = On
pgsql.auto_reset_persistent = Off
pgsql.max_persistent = -1
pgsql.max_links = -1
pgsql.ignore_notice = 0
pgsql.log_notice = 0
[Sybase-CT]
sybct.allow_persistent = On
sybct.max_persistent = -1
sybct.max_links = -1
sybct.min_server_severity = 10
sybct.min_client_severity = 10
[bcmath]
bcmath.scale = 0
[browscap]
[Session]
session.save_handler = files
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler =
phpsession.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = Off
session.bug_compat_warn = Off
session.referer_check =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
[MSSQL]
mssql.allow_persistent = On
mssql.max_persistent = -1
mssql.max_links = -1
mssql.min_error_severity = 10
mssql.min_message_severity = 10
mssql.compatability_mode = Off
mssql.secure_connection = Off[Assertion]
[COM]
[mbstring]
[gd]
[exif]
[Tidy]
tidy.clean_output = Off
[soap]
soap.wsdl_cache_enabled=1
soap.wsdl_cache_dir="/tmp"
soap.wsdl_cache_ttl=86400
soap.wsdl_cache_limit = 5
[sysvshm]
[ldap]
ldap.max_links = -1
[mcrypt]
[dba][/code]
bat的写法是
set bat=%~f0
set batDir=%~dp0
CD "%batDir%"
set log=%batDir%log\::启动nginx与php-cgi
:callLabelc
set called=1
start "fcgi服务" /MIN /D "%batDir%php" php-cgi.exe -b 127.0.0.1:9000 -c "%batDir%php/php.ini"
start "nginx服务" /MIN /D "%batDir%nginx" nginx.exe
:eof_callLabelc
goto :EOF:callLabelcc
set called=1
start "nginx服务" /MIN /D "%batDir%nginx" nginx.exe -s stop
ping 127.0.0.1 -n 3 >nul
start "停止php-cgi服务" /MIN /D "%batDir%php" taskkill /F /IM php-cgi.exe > nul
start "停止php-cgi服务" /MIN /D "%batDir%php" taskkill /F /IM nginx.exe > nul
:eof_callLabelcc
goto :EOF从我个人的看法感觉就是:127.0.0.1:9000端口只允许一个送入动作,解析,返回,完成了,再接受下个循环.但是按照我的理解,它应该是主要有送入动作就应该生成一个线程或是子进程来处理 接受,解析,返回这样的循环再退出或是待下个连接.
这样的生成应该受最大数限制即可.
但是我现在却搞不懂那里可以可以配置让php-cgi可以一接受到解析请求就生成新线程或是进程来完成,直到达到最大数才应该出现阻塞的现象.而现在却是从始到终只有一个线程在处理.启动ngihx+php时
C:\Users\Administrator>netstat -na |findstr /c:"9000"
TCP 127.0.0.1:9000 0.0.0.0:0 LISTENING打开图片的二个php时C:\Users\Administrator>netstat -na |findstr /c:"9000"
TCP 127.0.0.1:9000 0.0.0.0:0 LISTENING
TCP 127.0.0.1:9000 127.0.0.1:63631 ESTABLISHED
TCP 127.0.0.1:9000 127.0.0.1:63634 ESTABLISHED
TCP 127.0.0.1:63631 127.0.0.1:9000 ESTABLISHED
TCP 127.0.0.1:63634 127.0.0.1:9000 ESTABLISHED
解析过程中
C:\Users\Administrator>netstat -na |findstr /c:"9000"
TCP 127.0.0.1:9000 0.0.0.0:0 LISTENING
TCP 127.0.0.1:9000 127.0.0.1:63631 ESTABLISHED
TCP 127.0.0.1:9000 127.0.0.1:63634 ESTABLISHED
TCP 127.0.0.1:63631 127.0.0.1:9000 ESTABLISHED
TCP 127.0.0.1:63634 127.0.0.1:9000 ESTABLISHED
二个php都返回结果了.
C:\Users\Administrator>netstat -na |findstr /c:"9000"
TCP 127.0.0.1:9000 0.0.0.0:0 LISTENING
TCP 127.0.0.1:9000 127.0.0.1:63631 TIME_WAIT
TCP 127.0.0.1:9000 127.0.0.1:63634 TIME_WAIT呵呵,有点郁闷.都不懂从那里入手了.
那位知道怎么回事,请解答一下.
谢谢
bat的写法是
set bat=%~f0
set batDir=%~dp0
CD "%batDir%"
set log=%batDir%log\::启动nginx与php-cgi
:callLabelc
set called=1
start "fcgi服务" /MIN /D "%batDir%php" php-cgi.exe -b 127.0.0.1:9000 -c "%batDir%php/php.ini"
start "nginx服务" /MIN /D "%batDir%nginx" nginx.exe
:eof_callLabelc
goto :EOF:callLabelcc
set called=1
start "nginx服务" /MIN /D "%batDir%nginx" nginx.exe -s stop
ping 127.0.0.1 -n 3 >nul
start "停止php-cgi服务" /MIN /D "%batDir%php" taskkill /F /IM php-cgi.exe > nul
start "停止php-cgi服务" /MIN /D "%batDir%php" taskkill /F /IM nginx.exe > nul
:eof_callLabelcc
goto :EOF从我个人的看法感觉就是:127.0.0.1:9000端口只允许一个送入动作,解析,返回,完成了,再接受下个循环.但是按照我的理解,它应该是主要有送入动作就应该生成一个线程或是子进程来处理 接受,解析,返回这样的循环再退出或是待下个连接.
这样的生成应该受最大数限制即可.
但是我现在却搞不懂那里可以可以配置让php-cgi可以一接受到解析请求就生成新线程或是进程来完成,直到达到最大数才应该出现阻塞的现象.而现在却是从始到终只有一个线程在处理.启动ngihx+php时
C:\Users\Administrator>netstat -na |findstr /c:"9000"
TCP 127.0.0.1:9000 0.0.0.0:0 LISTENING打开图片的二个php时C:\Users\Administrator>netstat -na |findstr /c:"9000"
TCP 127.0.0.1:9000 0.0.0.0:0 LISTENING
TCP 127.0.0.1:9000 127.0.0.1:63631 ESTABLISHED
TCP 127.0.0.1:9000 127.0.0.1:63634 ESTABLISHED
TCP 127.0.0.1:63631 127.0.0.1:9000 ESTABLISHED
TCP 127.0.0.1:63634 127.0.0.1:9000 ESTABLISHED
解析过程中
C:\Users\Administrator>netstat -na |findstr /c:"9000"
TCP 127.0.0.1:9000 0.0.0.0:0 LISTENING
TCP 127.0.0.1:9000 127.0.0.1:63631 ESTABLISHED
TCP 127.0.0.1:9000 127.0.0.1:63634 ESTABLISHED
TCP 127.0.0.1:63631 127.0.0.1:9000 ESTABLISHED
TCP 127.0.0.1:63634 127.0.0.1:9000 ESTABLISHED
二个php都返回结果了.
C:\Users\Administrator>netstat -na |findstr /c:"9000"
TCP 127.0.0.1:9000 0.0.0.0:0 LISTENING
TCP 127.0.0.1:9000 127.0.0.1:63631 TIME_WAIT
TCP 127.0.0.1:9000 127.0.0.1:63634 TIME_WAIT呵呵,有点郁闷.都不懂从那里入手了.
那位知道怎么回事,请解答一下.
谢谢