Nginx配置入門(三):用HTTP核心模塊配置靜態(tài)Web服務(wù)器

用HTTP核心模塊配置一個(gè)靜態(tài)Web服務(wù)器

靜態(tài)Web服務(wù)器的主要功能由ngx_http_core_module模塊實(shí)現(xiàn),當(dāng)然冗茸,一個(gè)完整的靜態(tài)Web服務(wù)器還有許多功能是由其他HTTP模塊實(shí)現(xiàn)席镀。

http {
    gzip on;
    upstream {
        
    }
    server {
        listen localhost:80;
        localtion /webstatic {
            if {
            }
            root /opt/webresource;
        }
    }

}

所有的HTTP配置項(xiàng)都必須直屬于http塊匹中、location塊愉昆、upstream塊或if塊等职员。

1 虛擬主機(jī)與請(qǐng)求的分發(fā)

在nginx.conf中可以按照server_name并通過(guò)server塊來(lái)定義虛擬主機(jī),每個(gè)server塊就是一個(gè)虛擬主機(jī)跛溉,它只處理與之對(duì)應(yīng)主機(jī)域名請(qǐng)求焊切。這樣,一臺(tái)服務(wù)器上的Nginx就能以不同的方式處理訪問不同主機(jī)域名的HTTP請(qǐng)求了芳室。
(1) 監(jiān)聽端口
語(yǔ)法 :listen address:port [default_server | [backlog=num | rcvbuf=size | sndbuf=size | accept_filter=filter | deferred | bind | ipv6only=[on|off] | ssl ]];
默認(rèn) :listen 80;
配置塊 :server;
listen參數(shù)決定Nginx服務(wù)器如何監(jiān)聽端口专肪。在ip地址和端口后,還可以添加其他參數(shù)堪侯,例如:

listen 443 default_server ssl;
listen 127.0.0.1 accept_filter=dataready backlog=1024;
  • default_server:將所在的server塊作為整個(gè)Web服務(wù)的默認(rèn)server塊嚎尤。當(dāng)一個(gè)請(qǐng)求無(wú)法匹配配置文件中的所有主機(jī)域名時(shí),就會(huì)選擇默認(rèn)的虛擬主機(jī)伍宦。
  • backlog =num:表示TCP中backlog隊(duì)列的大小芽死,默認(rèn)為-1.
  • defered:設(shè)置該參數(shù)后,若用戶發(fā)起建立連接請(qǐng)求次洼,并且完成了TCP三次握手关贵,內(nèi)核也不會(huì)為了這次的連接調(diào)度worker進(jìn)程來(lái)處理,只有用戶真的發(fā)送請(qǐng)求數(shù)據(jù)時(shí)卖毁,內(nèi)核才會(huì)喚醒worker進(jìn)程處理這個(gè)連接揖曾。這個(gè)參數(shù)適用于大并發(fā)的情況,它減輕了worker進(jìn)程的負(fù)擔(dān)亥啦。
  • accept_filter:設(shè)置過(guò)濾器
  • bind:綁定端口/地址對(duì)炭剪。
  • ssl:在當(dāng)前監(jiān)聽的端口上建立的連接必須基于SSL協(xié)議。

(2) 主機(jī)名稱
語(yǔ)法 :server_name name [...];
默認(rèn) :server_name "";
配置塊 :server;
在開始處理一個(gè)HTTP請(qǐng)求時(shí)翔脱,Nginx會(huì)取出header頭中的Host奴拦,與每個(gè)server中的server_name進(jìn)行匹配,以決定到底由哪一個(gè)server塊來(lái)處理這個(gè)請(qǐng)求碍侦。有可能一個(gè)Host與多個(gè)server_name都匹配粱坤,這時(shí)就會(huì)根據(jù)匹配優(yōu)先級(jí)來(lái)選擇實(shí)際處理的server塊。
優(yōu)先級(jí)如下:

首先選擇所有字符串完全匹配的server_name瓷产,如www.test.com
其次選擇通配符在前面的server_name站玄,如*.test.com
再次選擇通配符在后面的server_name,如www.test.*
最后選擇使用正則表達(dá)式才匹配的server_name濒旦,如~^.test.com$

如果Host與所有的server_name都不匹配株旷,將會(huì)按下列順序選擇處理的server塊:

優(yōu)先選擇在listen配置項(xiàng)后加入[default_server]的server塊
找到匹配listen端口的第一個(gè)server塊

(3) server_names_hash_bucket_size
語(yǔ)法 :server_names_hash_bucket_size size;
默認(rèn) :server_names_hash_bucket_size 32|64|128;
配置塊 :http、server、location;
為了提高快速尋找到響應(yīng)server_name的能力晾剖,Nginx適應(yīng)散列表來(lái)存儲(chǔ)server_name锉矢。server_names_hash_bucket_size設(shè)置了每個(gè)散列桶占用的內(nèi)存大小。

(4) server_names_hash_max_size
語(yǔ)法 :server_names_hash_max_size size;
默認(rèn) :server_names_hash_max_size 512;
配置塊 :http齿尽、server沽损、location;
server_names_hash_max_size會(huì)影響散列表的沖突率。

(5) 重定向主機(jī)名稱的處理
語(yǔ)法 :server_name_in_redirect on | off;
默認(rèn) :server_name_in_redirect on ;
配置塊 :http循头、server或者location;
配合server_name使用绵估,打開時(shí),表示在重定向請(qǐng)求時(shí)會(huì)使用server_name里配置的第一個(gè)主機(jī)名代替原先請(qǐng)求中的Host頭部卡骂;關(guān)閉時(shí)国裳,維持原請(qǐng)求本身的Host頭部。

(6) location
語(yǔ)法 :location [=|~|~*|^~|@] /uri/{...}
配置塊 :server;
匹配規(guī)則:

  • =表示把URI作為字符串全跨,以便與參數(shù)中的uri做完全匹配
  • ~表示匹配URI時(shí)是字母大小寫敏感的
  • ~*表示匹配URI時(shí)忽略字母大小寫問題
  • ^~表示匹配URI時(shí)只需要其前半部分與uri參數(shù)匹配即可
  • @表示僅用于Nginx服務(wù)內(nèi)部請(qǐng)求之間的重定向
location  =  / {
    # 只有當(dāng)用戶請(qǐng)求是/ 時(shí)缝左,才會(huì)使用該location下的配置
}
location  ^~ /images/ {
    # 以/images/開頭的請(qǐng)求都會(huì)匹配上
}
location  ~*  \.(gif|jpg|jpeg)$ {
    # 匹配以.gif .jpg .jpeg結(jié)尾的請(qǐng)求
}
location   / {
    # 可以匹配所有請(qǐng)求
}

2 文件路徑的定義

(1) 以root方式設(shè)置資源路徑
語(yǔ)法 :root path;
默認(rèn) :root html;
配置塊 :http、server浓若、location渺杉、if;

location   /download/ {
    root /opt/web/html/;
}

請(qǐng)求URI是download/index/test.html,web服務(wù)器將會(huì)返回/opt/web/html/download/index/test.html

(2) 以alias方式設(shè)置資源路徑
語(yǔ)法 :alias path;
配置塊 :location;
與root的不用點(diǎn)在于location后的uri參數(shù)挪钓。下面兩個(gè)配置是等價(jià)的:

location   /conf {
    alias /usr/local/nginx/conf;
}
location   /conf {
    root /usr/local/nginx/;
}

(3) 訪問首頁(yè)
語(yǔ)法 :index file ...;
默認(rèn) :index index.html;
配置塊 :http少办、server、location;

location / {
    root path;
    index /index.html /index.php
}

(4) 根據(jù)HTTP返回碼重定向頁(yè)面
語(yǔ)法 :error_page code[code...] [=|=answer-code] uri|@named_location;
配置塊 :http诵原、server、location挽放、if;

error_page    404                /404.html;
error_page    502 503 504        /50x.html;
error_page    403                http://example.com/forbidden.html;
error_page    404                = @fetch;

雖然重定向了URI绍赛,但返回的HTTP錯(cuò)誤碼還是與原來(lái)的相同〖瑁可以通過(guò)“=”來(lái)更改返回的錯(cuò)誤碼吗蚌,例如:

error_page    404    =200            /empty.gif;
error_page    404    =403            /forbidden.gif;

也可以不指定確切的返回錯(cuò)誤碼,而是由重定向后實(shí)際處理的真實(shí)結(jié)果來(lái)決定纯出,這時(shí)蚯妇,只要把“=”后面的錯(cuò)誤碼去掉即可,例如:

error_page    404    =   /empty.gif;

如果不想修改URI暂筝,只是像讓這樣的請(qǐng)求重定向到另一個(gè)location中進(jìn)行處理箩言,那么可以這樣設(shè)置:

location  /  {
    error_page    404    @fallback;
}
location  @fallback  {
    proxy_pass    http://backend;
}

(5) 是否允許遞歸使用error_page
語(yǔ)法 :recursive_error_pages [on | off];
默認(rèn) :recursive_error_pages off;
配置塊 :http、server焕襟、location;

(6) try_files
語(yǔ)法 :try_files path1 [path2] uri;
配置塊 :server陨收、location;
嘗試按照順序訪問每一個(gè)path,如果可以有效讀取,就直接向用戶返回這個(gè)path對(duì)應(yīng)的文件务漩,結(jié)束請(qǐng)求拄衰,否則繼續(xù)向下訪問。如果所有的path都找不到有效的文件饵骨,就重定向到最后的參數(shù)uri上翘悉。

3 內(nèi)存及磁盤資源的分配

(1) HTTP包體只存儲(chǔ)到磁盤文件中
語(yǔ)法 :client_body_in_file_only on | clean | off;
默認(rèn) :client_body_in_file_only off;
配置塊 :http、server居触、location;
配置為非off時(shí)妖混,用戶請(qǐng)求中的HTTP包體一律存儲(chǔ)到磁盤文件中。當(dāng)請(qǐng)求結(jié)束時(shí)饼煞,如果配置為on源葫,則這個(gè)文件不會(huì)被刪除;如果配置為clean砖瞧,則會(huì)刪除該文件息堂。

(2) HTTP包體盡量寫入到一個(gè)內(nèi)存buffer中
語(yǔ)法 :client_body_in_single_buffer on | off;
默認(rèn) :client_body_in_single_buffer off;
配置塊 :http、server块促、location;
用戶請(qǐng)求中的HTTP包體一律存儲(chǔ)到內(nèi)存buffer中荣堰。如果包體大小超過(guò)了client_body_buffer_size 設(shè)置的值,包體還是會(huì)寫入到磁盤文件中竭翠。

(3) 存儲(chǔ)HTTP頭部的內(nèi)存buffer大小
語(yǔ)法 :client_header_buffer_size size;
默認(rèn) :client_header_buffer_size 1k;
配置塊 :http振坚、server;
定義了正常情況下Nginx接收用戶請(qǐng)求中HTTP header部分時(shí)分配的內(nèi)存buffer大小。有時(shí)斋扰,請(qǐng)求中的HTTP header部分可能超過(guò)這個(gè)大小渡八,這時(shí)large_client_header_buffers 定義的buffer將會(huì)生效。

(4) 存儲(chǔ)超大HTTP頭部的內(nèi)存buffer大小
語(yǔ)法 :large_client_header_buffers number size;
默認(rèn) :large_client_header_buffers 4 8k;
配置塊 :http传货、server;
定義了Nginx接收一個(gè)超大HTTP頭部請(qǐng)求的buffer個(gè)數(shù)和每個(gè)buffer的大小屎鳍。

(5) 存儲(chǔ)HTTP包體的內(nèi)存buffer大小
語(yǔ)法 :client_body_buffer_size size;
默認(rèn) :client_body_buffer_size 8k/16k;
配置塊 :http、server问裕、location;

(6) HTTP包體的臨時(shí)存放目錄
語(yǔ)法 :client_body_temp_path dir-path[level[level[level]]];
默認(rèn) :client_body_temp_path client_body_temp;
配置塊 :http逮壁、server、location;

(7) connection_pool_size
語(yǔ)法 :connection_pool_size size;
默認(rèn) :connection_pool_size 256;
配置塊 :http粮宛、server;
Nginx對(duì)于每個(gè)建立成功的TCP連接都會(huì)預(yù)先分配一個(gè)內(nèi)存池窥淆,上面的size配置項(xiàng)將制定這個(gè)內(nèi)存池的初始大小,用于減少內(nèi)核對(duì)于小塊內(nèi)存的分配次數(shù)巍杈。需慎重設(shè)置忧饭,因?yàn)楦蟮膕ize會(huì)使服務(wù)器的內(nèi)存消耗的更多,而更小的size會(huì)引發(fā)更多的內(nèi)存分配次數(shù)秉氧。

(8) request_pool_size
語(yǔ)法 :connection_pool_size size;
默認(rèn) :connection_pool_size 4k;
配置塊 :http眷昆、server;

4 網(wǎng)絡(luò)連接的設(shè)置

(1) 讀取HTTP頭部的超時(shí)時(shí)間
語(yǔ)法 :client_header_timeout time;
默認(rèn) :client_header_timeout 60;
配置塊 :http、server、location;
客戶端與服務(wù)器建立連接后將開始接收HTTP頭部亚斋,在這個(gè)過(guò)程中作媚,如果超過(guò)一定的時(shí)間間隔還沒有讀取到客戶端發(fā)來(lái)的字節(jié),則認(rèn)為超時(shí)帅刊,并向客戶端返回"Request timed out"響應(yīng)纸泡。

(2) 讀取HTTP包體的超時(shí)時(shí)間
語(yǔ)法 :client_body_timeout time;
默認(rèn) :client_body_timeout 60;
配置塊 :http、server赖瞒、location;
與配置client_header_timeout 類似女揭,只不過(guò)這個(gè)超時(shí)時(shí)間只在讀取HTTP包體時(shí)才有效。

(3) 發(fā)送響應(yīng)的超時(shí)時(shí)間
語(yǔ)法 :send_timeout time;
默認(rèn) :send_timeout 60;
配置塊 :http栏饮、server吧兔、location;

(4) reset_timeout_connection
語(yǔ)法 :reset_timeout_connection on | off;
默認(rèn) :reset_timeout_connection off;
配置塊 :http、server袍嬉、location;

(5) lingering_close
語(yǔ)法 :lingering_close off | on | always;
默認(rèn) :lingering_close on ;
配置塊 :http境蔼、server、location;

(6) lingering_time
語(yǔ)法 :lingering_time time;
默認(rèn) :lingering_time 30s;
配置塊 :http伺通、server箍土、location;

(7) lingering_timeout
語(yǔ)法 :lingering_timeout time;
默認(rèn) :lingering_timeout 5s;
配置塊 :http、server罐监、location;

(8) 對(duì)某些瀏覽器禁用keepalive功能
語(yǔ)法 :keepalive_disable [msie6 | safari | none];
默認(rèn) :keepalive_disable msie6 safari ;
配置塊 :http吴藻、server、location;

(9) keepalive超時(shí)時(shí)間
語(yǔ)法 :keepalive_timeout time;
默認(rèn) :keepalive_timeout 75;
配置塊 :http弓柱、server沟堡、location;

(10) 一個(gè)keepalive長(zhǎng)連接上允許承載的請(qǐng)求最大數(shù)
語(yǔ)法 :keepalive_requests n;
默認(rèn) :keepalive_requests 100;
配置塊 :http、serve矢空、locationr;

(11) tcp_nodelay
語(yǔ)法 :tcp_nodelay on | off;
默認(rèn) :tcp_nodelay on ;
配置塊 :http弦叶、server、location;

(12) tcp_nopush
語(yǔ)法 :tcp_nopush on | off;
默認(rèn) :tcp_nopush off;
配置塊 :http妇多、server、location;
打開后燕侠,將會(huì)在發(fā)送響應(yīng)時(shí)把整個(gè)響應(yīng)包頭放到一個(gè)TCP包中發(fā)送者祖。

5 MIME類型的設(shè)置

(1) MIME type與文件擴(kuò)展的映射
語(yǔ)法 :types {...};
配置塊 :http、server绢彤、location;

(2) 默認(rèn)MIME type
語(yǔ)法 :default_type MIME_type;
默認(rèn) :default_type text/plain;
配置塊 :http七问、server、location;

(3) types_hash_bucket_size
語(yǔ)法 :types_hash_bucket_size size;
默認(rèn) :types_hash_bucket_size 32|64|128;
配置塊 :http茫舶、server械巡、location;

(4) types_hash_max_size
語(yǔ)法 :types_hash_max_size size;
默認(rèn) :types_hash_max_size 1024;
配置塊 :http、server、location;

6 對(duì)客戶端請(qǐng)求的限制

(1) 按HTTP方法名限制用戶請(qǐng)求
語(yǔ)法 :limit_except method ...{...};
配置塊 :location;
Nginx通過(guò)limit_except后面指定的方法類型名來(lái)限制用戶請(qǐng)求讥耗。方法名可取值:GET有勾、HEAD、POST古程、PUT蔼卡、DELETE、MKCOL挣磨、COPY雇逞、MOVE、OPTIONS等茁裙,例如:

limit_except GET {
    allow 192.168.1.0/32;
    deny  all;
}

(2) HTTP請(qǐng)求包體的最大值
語(yǔ)法 :client_max_body_size size;
默認(rèn) :client_max_body_size 1m;
配置塊 :http塘砸、server、location;
瀏覽器在發(fā)送含有較大HTTP包體的請(qǐng)求時(shí)晤锥,其頭部會(huì)有一個(gè)Content-Length字段掉蔬,client_max_body_size 是用來(lái)限制Content-Length所示值的大小的。

(3) 對(duì)請(qǐng)求的限速
語(yǔ)法 :limit_rate speed;
默認(rèn) :limit_rate 0;
配置塊 :http查近、server眉踱、location、if;
此配置是對(duì)客戶端請(qǐng)求限制每秒傳輸?shù)淖止?jié)數(shù)霜威。默認(rèn)參數(shù)為0谈喳,表示不限速。

(4) limit_rate_after
語(yǔ)法 :limit_rate_after time;
默認(rèn) :limit_rate_after 1m;
配置塊 :http戈泼、server婿禽、location、if;

7 文件操作的優(yōu)化

(1) sendfile系統(tǒng)調(diào)用
語(yǔ)法 :sendfile on| off;
默認(rèn) :sendfile off;
配置塊 :http大猛、server扭倾、location;

(2) AIO系統(tǒng)調(diào)用
語(yǔ)法 :aio on| off;
默認(rèn) :laio off;
配置塊 :http、server挽绩、location;

(3) directio
語(yǔ)法 :directio size | off;
默認(rèn) :directio off;
配置塊 :http膛壹、server、location;

(4) directio_alignment
語(yǔ)法 :directio_alignment size;
默認(rèn) :directio_alignment 512;
配置塊 :http唉堪、server模聋、location;

(5) 打開文件緩存
語(yǔ)法 :open_file_cache max=N[inactive=time] | off;
默認(rèn) :open_file_cache off;
配置塊 :http、server唠亚、location;

(6) 是否緩存打開文件的錯(cuò)誤信息
語(yǔ)法 :open_file_cache_errors on | off;
默認(rèn) :open_file_cache_errors off;
配置塊 :http链方、server、location;

(7) 不被淘汰的最小訪問次數(shù)
語(yǔ)法 :open_file_cache_min_uses number;
默認(rèn) :open_file_cache_min_uses 1;
配置塊 :http灶搜、server祟蚀、location;

(8) 檢查緩存中元素有效性的頻率
語(yǔ)法 :open_file_cache_valid time;
默認(rèn) :open_file_cache_valid 60s;
配置塊 :http工窍、server、location;

8 對(duì)客戶端請(qǐng)求的特殊處理

(1) 忽略不合法的HTTP頭部
語(yǔ)法 :ignore_invalid_headers on| off;
默認(rèn) :ignore_invalid_headers on;
配置塊 :http前酿、server;

(2) HTTP頭部是否允許下劃線
語(yǔ)法 :underscores_in_headers on| off;
默認(rèn) :underscores_in_headers off;
配置塊 :http患雏、server;
默認(rèn)關(guān)閉,便是HTTP頭部的名稱中不允許帶下劃線“_”薪者。

(3) 對(duì)if_modified_since頭部的處理策略
語(yǔ)法 :if_modified_since [off | exact | before];
默認(rèn) :if_modified_since exact ;
配置塊 :http纵苛、server、location;

(4) 文件未找到時(shí)是否記錄到error日志
語(yǔ)法 :log_not_found on | off;
默認(rèn) :log_not_found on ;
配置塊 :http言津、server攻人、location;

(5) merge_slashes
語(yǔ)法 :merge_slashes on| off;
默認(rèn) :merge_slashes on ;
配置塊 :http、server悬槽、location;
是否合并相鄰的“/”怀吻,例如,//test///a.txt初婆,在配置為on時(shí)蓬坡,會(huì)將其匹配為/test/a.txt

(6) DNS解析地址
語(yǔ)法 :resolver address...;
配置塊 :http、server磅叛、location;

(7) DNS解析的超時(shí)時(shí)間
語(yǔ)法 :resolver_timeout time;
默認(rèn) :resolver_timeout 30s;
配置塊 :http屑咳、server、location;

(8) 返回錯(cuò)誤頁(yè)面時(shí)是否在server中注明Nginx版本
語(yǔ)法 :server_tokens on| off;
默認(rèn) :server_tokens on;
配置塊 :http弊琴、server兆龙、location;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市敲董,隨后出現(xiàn)的幾起案子紫皇,更是在濱河造成了極大的恐慌,老刑警劉巖腋寨,帶你破解...
    沈念sama閱讀 211,561評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件聪铺,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡萄窜,警方通過(guò)查閱死者的電腦和手機(jī)铃剔,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)查刻,“玉大人番宁,你說(shuō)我怎么就攤上這事±底瑁” “怎么了?”我有些...
    開封第一講書人閱讀 157,162評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵踱蠢,是天一觀的道長(zhǎng)火欧。 經(jīng)常有香客問我棋电,道長(zhǎng),這世上最難降的妖魔是什么苇侵? 我笑而不...
    開封第一講書人閱讀 56,470評(píng)論 1 283
  • 正文 為了忘掉前任赶盔,我火速辦了婚禮,結(jié)果婚禮上榆浓,老公的妹妹穿的比我還像新娘于未。我一直安慰自己,他們只是感情好陡鹃,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評(píng)論 6 385
  • 文/花漫 我一把揭開白布烘浦。 她就那樣靜靜地躺著,像睡著了一般萍鲸。 火紅的嫁衣襯著肌膚如雪闷叉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評(píng)論 1 290
  • 那天脊阴,我揣著相機(jī)與錄音握侧,去河邊找鬼。 笑死嘿期,一個(gè)胖子當(dāng)著我的面吹牛品擎,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播备徐,決...
    沈念sama閱讀 38,951評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼萄传,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了坦喘?” 一聲冷哼從身側(cè)響起盲再,我...
    開封第一講書人閱讀 37,712評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎瓣铣,沒想到半個(gè)月后答朋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,166評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡棠笑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評(píng)論 2 327
  • 正文 我和宋清朗相戀三年梦碗,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蓖救。...
    茶點(diǎn)故事閱讀 38,643評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡洪规,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出循捺,到底是詐尸還是另有隱情斩例,我是刑警寧澤,帶...
    沈念sama閱讀 34,306評(píng)論 4 330
  • 正文 年R本政府宣布从橘,位于F島的核電站念赶,受9級(jí)特大地震影響础钠,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜叉谜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評(píng)論 3 313
  • 文/蒙蒙 一旗吁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧停局,春花似錦很钓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至裆泳,卻和暖如春叹洲,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背工禾。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工运提, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人闻葵。 一個(gè)月前我還...
    沈念sama閱讀 46,351評(píng)論 2 360
  • 正文 我出身青樓民泵,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親槽畔。 傳聞我的和親對(duì)象是個(gè)殘疾皇子栈妆,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • I/O模型: 阻塞型、非阻塞型厢钧、復(fù)用型鳞尔、信號(hào)驅(qū)動(dòng)型、異步 同步/異步:關(guān)注消息通知機(jī)制 消息通知:同步:等待對(duì)方返...
    Net夜風(fēng)閱讀 1,997評(píng)論 0 1
  • Nginx簡(jiǎn)介 解決基于進(jìn)程模型產(chǎn)生的C10K問題,請(qǐng)求時(shí)即使無(wú)狀態(tài)連接如web服務(wù)都無(wú)法達(dá)到并發(fā)響應(yīng)量級(jí)一萬(wàn)的現(xiàn)...
    魏鎮(zhèn)坪閱讀 1,993評(píng)論 0 9
  • 1.簡(jiǎn)介: ? Nginx:engine X 早直,2002年寥假,開源,商業(yè)版? http協(xié)議:web服務(wù)器(類似于ht...
    尛尛大尹閱讀 1,862評(píng)論 0 3
  • I/O模型Nginx介紹Nginx的安裝和目錄結(jié)構(gòu)Nginx的配置Nginx的編譯安裝 一霞扬、I/O模型 (一)I/...
    哈嘍別樣閱讀 890評(píng)論 0 4
  • 用HTTP proxy module配置一個(gè)反向代理服務(wù)器 反向代理方式是指用代理服務(wù)器來(lái)接收Internet上的...
    StephenCoder閱讀 676評(píng)論 0 0