#定義Nginx運(yùn)行的用戶和用戶組usernginx;#進(jìn)程文件pid/var/run/nginx.pid;#錯(cuò)誤日志位置和級別,debug、info、notice、warn、error、criterror_log/var/log/nginx/error.logwarn;#Nginxworker的進(jìn)程數(shù),一般可設(shè)置為可用的CPU內(nèi)核數(shù)。worker_processes8;#每個(gè)worker打開文件描述符的數(shù)量限制。理論值應(yīng)該是最多打開文件數(shù)(系統(tǒng)的值ulimit-n)與nginx進(jìn)程數(shù)相除,但是nginx分配請求并不均勻,所以建議與ulimit-n的值保持一致。worker_rlimit_nofile65535;
長嶺網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司于2013年創(chuàng)立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。修改系統(tǒng)文件打開數(shù)量限制:
sudosh-culimit-HSn65535//臨時(shí)修改
重啟后永久生效,則需要設(shè)置修改:
sudovim/etc/security/limits.conf
在文件尾部添加:
*softnofile200000*hardnofile200000 Events 模塊
events{ #設(shè)置一個(gè)worker進(jìn)程同時(shí)打開的連接數(shù) worker_connections2048; #告訴nginx收到一個(gè)新連接通知后接受盡可能多的連接 multi_accepton; #設(shè)置用于復(fù)用客戶端線程的輪詢方法。如果你使用Linux2.6+,你應(yīng)該使用epoll。如果你使用*BSD,你應(yīng)該使用kqueue。 useepoll;} HTTP 模塊
http{ #隱藏Nginx的版本號(hào),提高安全性。 server_tokensoff; #開啟高效文件傳輸模式,sendfile指令指定Nginx是否調(diào)用sendfile函數(shù)來輸出文件,對于普通應(yīng)用設(shè)為on,如果用來進(jìn)行下載等應(yīng)用磁盤IO重負(fù)載應(yīng)用,可設(shè)置為off,以平衡磁盤與網(wǎng)絡(luò)I/O處理速度,降低系統(tǒng)的負(fù)載。 sendfileon; #是否開啟目錄列表訪問,默認(rèn)關(guān)閉。 autoindexoff; #告訴Nginx在一個(gè)數(shù)據(jù)包里發(fā)送所有頭文件,而不一個(gè)接一個(gè)的發(fā)送 tcp_nopushon; #告訴Nginx不要緩存數(shù)據(jù),而是一段一段的發(fā)送--當(dāng)需要及時(shí)發(fā)送數(shù)據(jù)時(shí),就應(yīng)該給應(yīng)用設(shè)置這個(gè)屬性,這樣發(fā)送一小塊數(shù)據(jù)信息時(shí)就不能立即得到返回值。Nginx默認(rèn)會(huì)始終工作在tcpnopush狀態(tài)下。但是當(dāng)開啟前面的sendfileon;時(shí),它的工作特點(diǎn)是nopush的最后一個(gè)包會(huì)自動(dòng)轉(zhuǎn)轉(zhuǎn)換到nopushoff。為了減小那200ms的延遲,開啟nodelayon;將其很快傳送出去。結(jié)論就是sendfileon;開啟時(shí),tcp_nopush和tcp_nodelay都是on是可以的。 tcp_nodelayon; #日志格式設(shè)定 log_formatmain\'$remote_addr-$remote_user[$time_local]"$request"\' \'$status$body_bytes_sent"$http_referer"\' \'"$http_user_agent""$http_x_forwarded_for"\'; #定義訪問日志,設(shè)置為off可以關(guān)閉日志,提高性能 access_log/var/log/nginx/access.logmain; #連接超時(shí)時(shí)間,單位是秒 keepalive_timeout120; #讀取HTTP頭部的超時(shí)時(shí)間,默認(rèn)值60??蛻舳伺c服務(wù)器建立連接后將開始接收HTTP頭部,在這個(gè)過程中,如果在一個(gè)時(shí)間間隔(超時(shí)時(shí)間)內(nèi)沒有讀取到客戶端發(fā)來的字節(jié),則認(rèn)為超時(shí),并向客戶端返回408("Requesttimedout")響應(yīng)。 client_header_timeout60; #默認(rèn)值60。與client_header_timeout相似,只是這個(gè)超時(shí)時(shí)間只在讀取HTTP包體時(shí)才有效。 client_body_timeout10; #發(fā)送響應(yīng)的超時(shí)時(shí)間,默認(rèn)值60。即Nginx服務(wù)器向客戶端發(fā)送了數(shù)據(jù)包,但客戶端一直沒有去接收這個(gè)數(shù)據(jù)包。如果某個(gè)連接超過send_timeout定義的超時(shí)時(shí)間,那么Nginx將會(huì)關(guān)閉這個(gè)連接。 send_timeout60; #連接超時(shí)后將通過向客戶端發(fā)送RST包來直接重置連接。這個(gè)選項(xiàng)打開后,Nginx會(huì)在某個(gè)連接超時(shí)后,不是使用正常情形下的四次握手關(guān)閉TCP連接,而是直接向用戶發(fā)送RST重置包,不再等待用戶的應(yīng)答,直接釋放Nginx服務(wù)器上關(guān)于這個(gè)套接字使用的所有緩存(如TCP滑動(dòng)窗口)。相比正常的關(guān)閉方式,它使得服務(wù)器避免產(chǎn)生許多處于FIN_WAIT_1、FIN_WAIT_2、TIME_WAIT狀態(tài)的TCP連接。注意,使用RST重置包關(guān)閉連接會(huì)帶來一些問題,默認(rèn)情況下不會(huì)開啟。 reset_timedout_connectionoff; #要限制連接,必須先有一個(gè)容器對連接進(jìn)行計(jì)數(shù),"zone="是給它一個(gè)名字,可以隨便叫,這個(gè)名字要跟下面的limit_conn一致。$binary_remote_addr用二進(jìn)制來儲(chǔ)存客戶端的地址,1m可以儲(chǔ)存32000個(gè)并發(fā)會(huì)話。 limit_conn_zone$binary_remote_addrzone=addr:5m; #給定的key設(shè)置連接數(shù)。這里key是addr,我們設(shè)置的值是100,也就是說我們允許每一個(gè)IP地址最多同時(shí)打開有100個(gè)連接。 limit_connaddr100; #對每個(gè)連接限速100k。這如果一個(gè)IP允許兩個(gè)并發(fā)連接,那么這個(gè)IP就是限速200K。 limit_rate100k; #include是一個(gè)在當(dāng)前文件中包含另一個(gè)文件內(nèi)容的指令。這里我們使用它來加載文件擴(kuò)展名與文件類型映射表。nginx根據(jù)映射關(guān)系,設(shè)置http請求響應(yīng)頭的Content-Type值。當(dāng)在映射表找不到時(shí),使用nginx.conf中default-type指定的默認(rèn)值。 include/etc/nginx/mime.types; #設(shè)置文件使用的默認(rèn)的MIME-type default_typetext/html; #默認(rèn)編碼 charsetUTF-8; #該模塊可以讀取預(yù)先壓縮的gz文件,這樣可以減少每次請求進(jìn)行g(shù)zip壓縮的CPU資源消耗。該模塊啟用后,nginx首先檢查是否存在請求靜態(tài)文件的gz結(jié)尾的文件,如果有則直接返回該gz文件內(nèi)容。 gzip_staticoff; #開啟gzip壓縮。 gzipon; #禁用客戶端為IE6時(shí)的gzip功能。 gzip_disable"msie6"; #Nginx做為反向代理的時(shí)候啟用??蛇x值:off|expired|no-cache|no-sotre|private|no_last_modified|no_etag|auth|any gzip_proxiedany; #設(shè)置允許壓縮的頁面最小字節(jié)數(shù),頁面字節(jié)數(shù)從header頭中的Content-Length中進(jìn)行獲取。建議設(shè)置成大于1k的字節(jié)數(shù),小于1k可能會(huì)越壓越大。 gzip_min_length1024; #設(shè)置數(shù)據(jù)的壓縮等級。這個(gè)等級可以是1-9之間的任意數(shù)值,9是最慢但是壓縮比的。 gzip_comp_level5; #設(shè)置系統(tǒng)獲取幾個(gè)單位的緩存用于存儲(chǔ)gzip的壓縮結(jié)果數(shù)據(jù)流。例如44k代表以4k為單位,按照原始數(shù)據(jù)大小以4k為單位的4倍申請內(nèi)存。如果沒有設(shè)置,默認(rèn)值是申請跟原始數(shù)據(jù)相同大小的內(nèi)存空間去存儲(chǔ)gzip壓縮結(jié)果。 gzip_buffers416k; #設(shè)置需要壓縮的數(shù)據(jù)格式。Nginx默認(rèn)只對text/html進(jìn)行壓縮。 gzip_typestext/plaintext/cssapplication/jsonapplication/x-javascripttext/xmlapplication/xmlapplication/xml+rsstext/javascript; #為打開文件指定緩存,默認(rèn)是沒有啟用的,max指定緩存數(shù)量,建議和打開文件數(shù)一致,inactive是指經(jīng)過多長時(shí)間文件沒被請求后刪除緩存。 open_file_cachemax=65535inactive=30s; #多長時(shí)間檢查一次緩存的有效信息 open_file_cache_valid30s; #open_file_cache指令中的inactive參數(shù)時(shí)間內(nèi)文件的最少使用次數(shù),如果超過這個(gè)數(shù)字,文件描述符一直是在緩存中打開的。出現(xiàn)Last-Modified不變的情況,就是因?yàn)楫?dāng)nginx對一個(gè)靜態(tài)文件緩存后,如果30s內(nèi)還在訪問它,那么它的緩存就一直存在,直到30s內(nèi)你不訪問了為止。 open_file_cache_min_uses2; #是否記錄cache錯(cuò)誤 open_file_cache_errorson; include/etc/nginx/conf.d/*.conf; include/etc/nginx/sites-enabled/*; } SERVER 模塊
server{ #監(jiān)聽端口,nginx會(huì)根據(jù)請求的HOST來決定使用哪個(gè)SERVER段的配置。如果沒有匹配的server_name,則默認(rèn)使用配置文件中第一個(gè)。加上default_server則可以以指定沒有匹配時(shí)的默認(rèn)規(guī)則。 #listen80; listen80default_server; #域名可以有多個(gè),用空格隔開 server_namewww.test.comtest.com; root/user/share/nginx/html/test; #404頁面配置 error_page404/404.html; #配置ssl,有需要時(shí)開啟。 sslon; ssl_certificate/etc/nginx/ssl/server.crt; ssl_certificate_key/etc/nginx/ssl/server.key; location/{ indexindex.htmlindex.php; } #圖片緩存時(shí)間設(shè)置 location~.*.(gif|jpg|jpeg|png|bmp|swf)${ expires10d; } #JS和CSS緩存時(shí)間設(shè)置 location~.*.(js|css)?${ expires1h; } location~[^/].php(/|$){ fastcgi_indexindex.php; #開啟PATH_INFO支持,作用就是把參數(shù)按照給定的正則表達(dá)式分割成$fastcgi_script_name和$fastcgi_path_info。 #例如:請求index.php/id/1不加此行配置時(shí),fastcgi_script_name是/index.php/id/1,fastcgi_path_info是空。 #加上之后,fastcgi_script_name是index.php,fastcgi_path_info是/id/1 fastcgi_split_path_info^(.+.php)(.*)$; #此值即是PHP中$_SERVER[\'SCRIPT_FILENAME\']的值 fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name; fastcgi_paramPATH_INFO$fastcgi_path_info; fastcgi_paramPATH_TRANSLATED$document_root$fastcgi_path_info; #指定FastCGI服務(wù)器監(jiān)聽端口與地址。須和PHP-FPM的設(shè)置相同。 #fastcgi_pass127.0.0.1:9000; fastcgi_passunix:/var/run/php5-fpm.sock; includefastcgi_params; }}
文章名稱:Nginx配置文件總結(jié)
當(dāng)前地址:http://www.rwnh.cn/article40/chceho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、軟件開發(fā)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站排名、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站收錄
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)