歡迎您光臨本站 註冊首頁

Nginx+PHP FastCGI IE6 假死問題請救!

←手機掃碼閱讀     火星人 @ 2014-03-04 , reply:0

Nginx+PHP FastCGI IE6 假死問題請救!

現遇到個怪事情

如果我們使用APACHE, IE6就不會假死, 如果Nginx+PHP FastCGI方式就會假死, 原因是由於 服務端關閉 而客戶端 沒有收到關閉信號 所以一直 WAIT

不知是那裡配置不對, 我把配置貼上來,救兄弟們幫幫忙!


Nginx:

user  nobody nobody;
worker_processes 10;
error_log  /usr/local/nginx/logs/nginx_error.log  crit;
pid        /usr/local/nginx/logs/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 65535;

events
{
  use epoll;
  worker_connections 65535;
}

http
{
  include       mime.types;
  default_type  application/octet-stream;

  charset  utf-8;

  server_names_hash_bucket_size 128;
  client_header_buffer_size 64k;
  large_client_header_buffers 4 64k;
  client_max_body_size 8m;
      
  sendfile on;
  tcp_nopush     on;

  keepalive_timeout 300;

  tcp_nodelay off;

  fastcgi_connect_timeout 300;
  fastcgi_send_timeout 300;
  fastcgi_read_timeout 300;
  fastcgi_buffer_size 64k;
  fastcgi_buffers 4 128k;
  fastcgi_busy_buffers_size 128k;
  fastcgi_temp_file_write_size 128k;

  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 image/gif image/jpeg image/png;
  gzip_vary on;

  #limit_zone  crawler  $binary_remote_addr  10m;

  server
  {
    listen       83;
    server_name  localhost;
    index index.html index.htm index.php;
    root  /usr/local/svn-sync/co/sites/web;

    rewrite ^/p/(+)\??(.*)? /index.php?page=profile_view&prof_id=$1&$2 last;

    location ~ .*\.(php|php5)?$
    {      
       fastcgi_pass  127.0.0.1:9000;
       fastcgi_index index.php;

       fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
       fastcgi_param  SERVER_SOFTWARE    YT-Server;
      
       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;
    }
   
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
      expires      60d;
    }

    location ~ .*\.(js|css)?$
    {
      expires      1h;
    }   
  }

}


php-fpm.conf:

<?xml version="1.0" ?>
<configuration>
  <section name="global_options">
    <value name="pid_file">/usr/local/php-nginx/logs/php-fpm.pid</value>
    <value name="error_log">/usr/local/php-nginx/logs/php-fpm.log</value>
    <value name="log_level">notice</value>
    <value name="emergency_restart_threshold">10</value>
    <value name="emergency_restart_interval">1m</value>
    <value name="process_control_timeout">5s</value>
    <value name="daemonize">yes</value>
  </section>
  <workers>
    <section name="pool">
      <value name="name">default</value>
      <value name="listen_address">127.0.0.1:9000</value>
      <value name="listen_options">
        <value name="backlog">-1</value>
        <value name="owner"></value>
        <value name="group"></value>
        <value name="mode">0666</value>
      </value>
      <value name="php_defines">
        <value name="sendmail_path">/usr/sbin/sendmail -t -i</value>
        <value name="display_errors">1</value>
      </value>
      <value name="user">nobody</value>
      <value name="group">nobody</value>
      <value name="pm">
        <value name="style">static</value>
        <value name="max_children">256</value>
        <value name="apache_like">
          <value name="StartServers">20</value>
          <value name="MinSpareServers">5</value>
          <value name="MaxSpareServers">35</value>
        </value>
      </value>
      <value name="request_terminate_timeout">0s</value>
      <value name="request_slowlog_timeout">0s</value>
      <value name="slowlog">logs/slow.log</value>
      <value name="rlimit_files">51200</value>
      <value name="rlimit_core">0</value>
      <value name="chroot"></value>
      <value name="chdir"></value>
      <value name="catch_workers_output">yes</value>
      <value name="max_requests">102400</value>
      <value name="allowed_clients">127.0.0.1</value>
      <value name="environment">
        <value name="HOSTNAME">$HOSTNAME</value>
        <value name="PATH">/usr/local/bin:/usr/bin:/bin</value>
        <value name="TMP">/tmp</value>
        <value name="TMPDIR">/tmp</value>
        <value name="TEMP">/tmp</value>
        <value name="OSTYPE">$OSTYPE</value>
        <value name="MACHTYPE">$MACHTYPE</value>
        <value name="MALLOC_CHECK_">2</value>
      </value>
    </section>
  </workers>
</configuration>
《解決方案》

頂一下
《解決方案》

從情況來看, 主要是 文件句柄 和 gzip 問題,  但還是有人反饋有假死的情況,哎,煩

[火星人 ] Nginx+PHP FastCGI IE6 假死問題請救!已經有537次圍觀

http://coctec.com/docs/service/show-post-19355.html