實戰Nginx_取代Apache的高效能Web伺服器

來源:互聯網
上載者:User

標籤:nginx

nginx的設定檔詳解

worker_processes  24;

#指定工作繁衍的處理序數,(一般等於CPU的總核心數或者總核心數的兩倍,例如兩個4核CPU,總核心數為8)

#指定錯誤記錄檔的存放路徑和錯誤記錄檔層級:[debug|info|notice|warn|error|crit]

worker_rlimit_nofile  51200#指定檔案描述符數量

event{ use epoll}#linux 下預設的I/O網路模型,預設採用的是epoll模型。

worker_connections  65535;#允許的串連數

client_max_body_size 8m#設定用戶端能夠上傳的檔案的大小

#開啟gzip壓縮功能

 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;

#寫個判斷機制

if ($request_uri ~* ^.*\.svn.*$) {
                return 404;
        }


  if ($request_filename !~ (/index.php/jsapi|/fonts|/javascript) ) {
                rewrite ^/(.*)$ /index.php/user/$1 last;
                break;
        }

#網域名稱重新導向連結

 server {
       listen 80;
       server_name ftchinese.com;
       rewrite ^/(.*)   http://www.ftchinese.com/$1 permanent;
    }

#對於每一條日誌記錄,記錄檔都將先開啟檔案,再寫入日誌記錄,然後馬上關閉,為了提高包含變數的記錄檔存放路徑的效能,需用open_log_file_cache指令設定經常被使用的記錄檔描述符緩衝。

open_log_file_cache  max=N [inactive=time] [min_uses=N] [valid=time] | off 該指令預設是禁止的

open_log_file_cache off

lnmp環境的配置和最佳化:

提高PHP(FastCGI),什麼是FastCGI呢?

FastCGI是語言無關的、可伸縮架構的CGI開放擴充,其主要行為是將CGI解譯器進程保持在記憶體中並因此擷取較高的效能。總所周知,CGI解譯器的反覆載入是CGI
效能低下的主要原因,如果CGI解譯器保持在記憶體中並接受FastCGI進程管理調度,則可以提供良好的效能、伸縮性、Fail-Over特性等。


FastCGI的工作原理是:
(1)、FastCGI進程管理自身初始化,啟動多個CGI解譯器進程(多個php-cgi進程)並等待來自Web Server的連結。在本文中,採用PHP-FPM進程管理器啟動多個php-cgi FastCGI進程。啟動php-cgi FastCGI進程時,可以配置以TCP和UNIX通訊端兩種方式啟動。
(2)、當用戶端請求到達Web伺服器時,web伺服器將請求採用TCP協議或者UNIX通訊端方式轉寄到FastCGI主進程,FastCGI主進程選擇並串連到一個CGI解譯器(子進程)。web伺服器將CGI環境變數和標準輸入發送到FastCGI子進程php-cgi。
(3)、FastCGI進程完成處理後將標準輸出和錯誤資訊從同一串連返回web伺服器。當FastCGI子進程關閉串連時,請求便告知處理完成。FastCGI子進程接著等待並處理來自FastCGI進程管理器的下一個串連。而在一般的普通CGI模式中,php-cgi在此時已經退出了。
   所以可以想象普通的CGI模式到底有多慢。每一個web請求PHP都必須重新解析php.ini、重新載入全部擴充並重新初始化全部資料結構。使用FastCGI,所有這些都只在進程啟動時發生一次。一個額外好處是:持續資料庫連接可以工作。




實戰Nginx_取代Apache的高效能Web伺服器

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.