nginx 配置優化詳解

?

?

# nginx不同于apache服務器,當進行了大量優化設置后會魔術般的明顯性能提升效果
# nginx在安裝完成后,大部分參數就已經是最優化了,我們需要管理的東西并不多#user  nobody;#阻塞和非阻塞網絡模型:
#同步阻塞模型,一請求一進(線)程,當進(線)程增加到一定程度后
#更多CPU時間浪費到切換一,性能急劇下降,所以負載率不高
#Nginx基于事件的非阻塞多路復用(epoll或kquene)模型
#一個進程在短時間內可以響應大量的請求
#建議值 <= cpu核心數量,一般高于cpu數量不會帶好處,也許還有進程切換開銷的負面影響
worker_processes 4;#將work process綁定到特定cpu上,避免進程在cpu間切換的開銷
worker_cpu_affinity 0001 0010 0100 1000 
#4內核4進程時的設置方法
#8內核4進程時的設置方法 worker_cpu_affinity 00000001 00000010 00000100 10000000# 每進程最大可打開文件描述符數量(linux上文件描述符比較廣義,網絡端口、設備、磁盤文件都是)
# 文件描述符用完了,新的連接會被拒絕,產生502類錯誤
# linux最大可打開文件數可通過ulimit -n FILECNT或 /etc/security/limits.conf配置
# 理論值 系統最大數量 / 進程數。但進程間工作量并不是平均分配的,所以可以設置的大一些
worker_rlimit_nofile 655350 #error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;events {# 并發響應能力的關鍵配置值# 每個進程允許的最大同時連接數,work_connectins * worker_processes = maxConnection;# 要注意maxConnections不等同于可響應的用戶數量,# 因為一般一個瀏覽器會同時開兩條連接,如果反向代理,nginx到后端服務器的連接也要占用連接數# 所以,做靜態服務器時,一般 maxClient = work_connectins * worker_processes / 2# 做反向代理服務器時 maxClient = work_connectins * worker_processes / 4# 這個值理論上越大越好,但最多可承受多少請求與配件和網絡相關,也可最大可打開文件,最大可用sockets數量(約64K)有關worker_connections  500;# 指明使用epoll 或 kquene (*BSD)use epoll# 備注:要達到超高負載下最好的網絡響應能力,還有必要優化與網絡相關的linux內核參數
}http {include       mime.types;default_type  application/octet-stream;#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '#                  '$status $body_bytes_sent "$http_referer" '#                  '"$http_user_agent" "$http_x_forwarded_for"';# 關閉此項可減少IO開銷,但也無法記錄訪問信息,不利用業務分析,一般運維情況不建議使用access_log off# 只記錄更為嚴重的錯誤日志,可減少IO壓力error_log logs/error.log crit;#access_log  logs/access.log  main;# 啟用內核復制模式,應該保持開啟達到最快IO效率sendfile        on;# 簡單說,啟動如下兩項配置,會在數據包達到一定大小后再發送數據# 這樣會減少網絡通信次數,降低阻塞概率,但也會影響響應及時性# 比較適合于文件下載這類的大數據包通信場景#tcp_nopush     on; 在 #tcp_nodelay on|off on禁用Nagle算法 #keepalive_timeout  0;# HTTP1.1支持持久連接alive# 降低每個連接的alive時間可在一定程度上提高可響應連接數量,所以一般可適當降低此值keepalive_timeout  30s;# 啟動內容壓縮,有效降低網絡流量gzip on;	# 過短的內容壓縮效果不佳,壓縮過程還會浪費系統資源gzip_min_length 1000;# 可選值1~9,壓縮級別越高壓縮率越高,但對系統性能要求越高gzip_comp_level 4;# 壓縮的內容類別gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;# 靜態文件緩存# 最大緩存數量,文件未使用存活期open_file_cache max=655350 inactive=20s;# 驗證緩存有效期時間間隔open_file_cache_valid 30s;# 有效期內文件最少使用次數open_file_cache_min_uses 2;server {listen       80;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   html;index  index.html index.htm;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {#    proxy_pass   http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {#    root           html;#    fastcgi_pass   127.0.0.1:9000;#    fastcgi_index  index.php;#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;#    include        fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {#    deny  all;#}}# another virtual host using mix of IP-, name-, and port-based configuration##server {#    listen       8000;#    listen       somename:8080;#    server_name  somename  alias  another.alias;#    location / {#        root   html;#        index  index.html index.htm;#    }#}# HTTPS server##server {#    listen       443 ssl;#    server_name  localhost;#    ssl_certificate      cert.pem;#    ssl_certificate_key  cert.key;#    ssl_session_cache    shared:SSL:1m;#    ssl_session_timeout  5m;#    ssl_ciphers  HIGH:!aNULL:!MD5;#    ssl_prefer_server_ciphers  on;#    location / {#        root   html;#        index  index.html index.htm;#    }#}}

  

轉載于:https://www.cnblogs.com/zyw-205520/p/5078003.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375228.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375228.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375228.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

標號 變量

標號&#xff1a;標記了指令,數據,段的起始地址data segment str db ‘hello’data endscode segment start: jmp begin begin: mov ax,datacode ends end startstr標號(數據標號通常又叫變量),表示內存單元地址和長度start,begin標號表示了指令mov ax,data的地址data ,code標號…

ASP.NET知識集

ASP.NET知識集 編輯刪除轉載2015-06-23 16:31:55標簽&#xff1a;it//刪除指定行數據時&#xff0c;彈出詢問對話框 ((LinkButton)(e.Row.Cell[7].Controls[0]).Attributes.Add("onclick","return confirm(是否刪除當前數據&#xff01;)"); //注登錄&…

操作符offset和seg

offset獲得標號的偏移地址seg獲得標號的段地址mov ax,offset beginjmp axmov ds,axbegin: add ax,bx-u0CA0:0000 B80700 MOV AX,0007 ;編譯器已經把標號變成add ax,bx處的地址了0CA0:0003 FFE0 JMP AX0CA0:0005 8ED8 MOV DS,AX0CA0:0007 …

數制學習筆記

數制的基本概念 一.數碼 數制中表示基本數值大小的不同數字符號。例如&#xff0c;十進制有10個數碼&#xff1a;0、1、2、3、4、5、6、7、8、9。二.基數 數制所使用數碼的個數。例如&#xff0c;二進制的基數為2&#xff1b;十進制的基數為10。三.位權 數制中某一位上的1所表示…

數據結構問題集錦 - Find Median from Data Stream

臨近期末&#xff0c;鴨梨山大啊&#xff0c;就不多說了。這道題的要求就是&#xff0c;給定一串輸入&#xff0c;在中間任何一個時候&#xff0c;都能夠求出添加到一半的序列的中位數。 大概考慮一下&#xff0c;如果用動態數組來進行元素插入的話&#xff0c;盡管這樣查詢中位…

所處理的數據在什么地方 有多長 如何定義 如何尋找

處理的數據在什么地方&#xff1a; 立即數(idata)1,3,10,3F 寄存器AX,AL,BX 內存單元,可用尋址方式給出DS:[idata],ds:[0]處理的數據有多長: MOV AX,1 ;字操作 MOV AL,1 ;字節操作 MOV BYTE PTR DS:[0],1 ;字節操作 MOV WORD PTR DS:[0],1 ;字操作 PUSH/POP 進行的是字操作 數據…

invoke偽指令

通過反匯編helloworld對話框來看invoke偽指令 invoke是調用WinAPI的偽指令 把上一個helloworld對話框編譯并連接成hello.exe然后用OD打開得到下圖 前文說過ML.EXE編譯invoke時會把invoke的參數PUSH入棧和一個CALL,在代碼段中只有兩個invoke指令 invoke MessageBox,NULL,offset …

Azure Virtual Network, 虛擬網絡

云上的虛擬網絡把不同用戶完全的隔離開來。同時可以自己對虛擬網絡進行定制&#xff0c;設置各種安全訪問策略&#xff0c;配置load balancer等等。 在新的基于Azure Resource Manager (ARM)的部署方式中&#xff0c;虛擬網絡已經是默認設置了。也就是說在通過ARM部署的VM&…

百度地圖API的第一次接觸——自定義控件

1.定義一個控件類&#xff0c;即function function ZoomControl(){ // 設置默認停靠位置和偏移量 this.defaultAnchor BMAP_ANCHOR_TOP_LEFT; this.defaultOffset new BMap.Size(10, 10); } 2.通過JavaScript的prototype屬性繼承于BMap.Control ZoomControl.pr…

include語句

程序用到MessageBox和ExitProcess函數它們分別在user32..dll和Kernel32.dll中 那么就必須在程序中使用include語句包含這兩個庫文件,此時程序中可以使用user32..dll和Kernel32.dll中所有的函數 include相當于java中import導入包語句

Spring MVC Controller與jquery ajax請求處理json

在用 spring mvc 寫應用的時候發現jquery傳遞的【json數組對象】參數后臺接收不到&#xff0c;多訂單的處理&#xff0c;ajax請求&#xff1a; var cmd {orders:[{"storeId":"0a1", "address":"西斗門路2號", "goods":[{&…

課堂例子解答

Editbox 等價類劃分測試用例例子 要求輸入1到6個英文字符或數字&#xff0c;按OK結束并輸入。 其中有效等價類包括:1.長度1-6&#xff0c;2.a-z,A-Z,0-9 無效等價類包括&#xff1a;1.長度0或大于6&#xff0c;2.輸入字母數字以外的字符&#xff0c;控制字符&#xff0c;標點符…

從代碼里提取的測試需求

服務器端的測試&#xff0c;軟件需求基本等于產品說明書&#xff0c;只有大概&#xff0c;沒有詳盡。再需求不充分的情況下&#xff0c;我們可以從哪些方面來挖掘測試需求呢&#xff1f; 現已知需求&#xff1a;服務器支持對客戶端的版本升級&#xff0c;存在兩種升級規則&…

PUSH/POP

棧操作指令PUSH 寄存器/段寄存器/內存單元POP 寄存器/段寄存器/內存單元PUSH AX1)SPSP-2 ,SS:SP指向新的內存單元2)將AX送入SS:SP指向的內存單元POP AX1)將SS:SP指向的內存單元處的數據送入AX中2)SPSP2

Android Ant 和 Gradle 打包流程和效率對照

一、Ant 打包&#xff1a;&#xff08;下載ant、配置環境變量就不說了&#xff09; 1、進入命令行模式&#xff0c;并切換到項目文件夾。運行例如以下命令為ADT創建的項目加入ant build支持&#xff1a; android update project -p . -t "android-17" 2、build腳本默…

讀軟件工程這本書的感悟(第一次作業)

在還沒上這門課之前&#xff0c;我認為軟件工程是讓我們學會編寫軟件&#xff0c;但是在看到這本書后&#xff0c;我才知道我們學的不是如何的開發軟件&#xff0c;而是在學習開發和維護軟件&#xff0c;以及如何把經過時間考驗而證明正確的管理技術和當前能夠得到的最好的技術…

請大家編譯連接并執行一下

由于是筆記&#xff0c;也許記得有點糟糕&#xff0c;也許班門弄斧沒有獨到見解 &#xff0c;見諒見諒

KVC和KVO

OC中的一個比較有特色的知識點&#xff1a;KVC和KVO一、KVC操作OC中的KVC操作就和Java中使用反射機制去訪問類的private權限的變量&#xff0c;很暴力的&#xff0c;這樣做就會破壞類的封裝性&#xff0c;本來類中的的private權限就是不希望外界去訪問的&#xff0c;但是我們這…

8086加法指令ADD

加法指令ADD(ADDition) ADD OPRD1,OPRD2 ;OPRD1<--OPRD1OPRD2 ;完成OPRD1與OPRD2相加 ,結果保存在OPRD1中CODE SEGMENT MOV AX,1 MOV BX,2 ADD AX,BX ;AX<--AXBX ,結果AX3CODE ENDS參與運算的操作數類型必須保持一致,同為字節或字可組合以下幾種形式&…

Fragment基礎講解

//新建一個碎片public class LeftFragment extends Fragment { Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // 加載一個碎片界面 View view inflater.inflate(R.layout.leftfragment, container, false)…