九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Nginx主配置文件nginx.conf史上超細中文詳解

Nginx主配置文件nginx.conf史上最細中文詳解... 1


1作者簡介... 1

2 nginx配置解釋圖解... 1

3 Nginx核心配置文件nginx.conf史上最細中文詳解... 2

3.1 定義Nginx運行的用戶和用戶組... 2

3.2 nginxworker進程數(shù),即處理請求的進程(熟稱負責接客的服務員)... 2

3.3 cpu親和力配置,讓不同的進程使用不同的cpu. 2

3.4 全局錯誤日志定義類型,[ debug|info|notice|warn|error|crit]2

3.5 把進程號記錄到文件... 2

3.6 Nginx worker最大打開文件數(shù),可設置為系統(tǒng)優(yōu)化后的ulimit -HSn的結果... 2

3.7 IO事件模型與worker進程連接數(shù)設置... 3

3.8 http模塊設置部分... 3

3.9 設定基于域名的虛擬主機部分... 5

3.10 反向代理負載均衡配置(代理blog.oldboyedu.com服務)... 6

3.11 設定查看Nginx狀態(tài)的地址... 7

3.12 設定java程序動靜分離反向代理負載均衡配置... 7



第1章 作者簡介

老男孩,北京老男孩IT教育創(chuàng)始人,暢銷圖書作者,51CTO金牌講師,16年運維經(jīng)驗及培訓經(jīng)驗, IT界頂級Linux集群架構實戰(zhàn)與教育專家。

國內IT教育實戰(zhàn)心理學運維思想體系創(chuàng)始人,將心理學運維思想大量應用于教學培訓實踐,成就屌絲無數(shù)。所教學生平均就業(yè)工資及后期發(fā)展速度連續(xù)多年在國內同行業(yè)排名第一!

老男孩老師個人博客:http://oldboy.blog.51cto.com/http://blog.oldboyedu.com


第2章 nginx配置解釋圖解


圖1-1 理解nginx http協(xié)議相關參數(shù)圖解



圖1-2 根據(jù)http原理及Fastcgi原理講解fastcgi參數(shù)優(yōu)化圖解




第3章 Nginx核心配置文件nginx.conf史上最細中文詳解

3.1 定義Nginx運行的用戶和用戶組

user nginx nginx; #改為特殊的用戶和組


3.2 nginxworker進程數(shù),即處理請求的進程(熟稱負責接客的服務員)

worker_processes 8;  #初始可設置為CPU總核數(shù)

 

3.3 cpu親和力配置,讓不同的進程使用不同的cpu

worker_cpu_affinity 0001 0010 0100 1000 0001 00100100 1000;


3.4 全局錯誤日志定義類型,[ debug|info|notice|warn|error|crit]

error_log logs/error.log error;  #一定要設置warn級別以上


3.5 把進程號記錄到文件

pid logs/nginx.pid; #用于管理nginx進程


3.6 Nginxworker最大打開文件數(shù),可設置為系統(tǒng)優(yōu)化后的ulimit -HSn的結果

worker_rlimit_nofile 65535;


3.7 IO事件模型與worker進程連接數(shù)設置

events

{

#epoll模型是Linux 2.6以上版本內核中的高性能網(wǎng)絡I/O模型

use epoll;

#單個worker進程最大連接數(shù)

worker_connections 10240; #nginx最大連接數(shù)=worker連接數(shù)*worker進程數(shù)

}

3.8 http模塊設置部分

http

{

server_tokens off;   #隱藏響應header和錯誤通知中的版本號

include mime.types;  #文件擴展名與文件類型映射表

default_type application/octet-stream;#默認文件類型

server_names_hash_max_size 512;     #服務域名的最大hash表大小

server_names_hash_bucket_size 128;#服務域名的hash表大小

#開啟高效文件傳輸模式,實現(xiàn)內核零拷貝

sendfile on;

#激活tcp_nopush參數(shù)可以允許把httpresponse header和文件的開始放在一個文件里發(fā)布,積極的作用是減少網(wǎng)絡報文段的數(shù)量

tcp_nopush on;

#激活tcp_nodelay,內核會等待將更多的字節(jié)組成一個數(shù)據(jù)包,從而提高I/O性能

tcp_nodelay on;

#連接超時時間,單位是秒

keepalive_timeout 120;

#目錄列表訪問參數(shù),合適http下載,默認關閉。

autoindex off;

#讀取客戶端請求頭的超時時間(參看老男孩的書籍理解http協(xié)議原理)

client_header_timeout 15s;

#讀取客戶端請求主體的超時時間(參看老男孩的書籍理解http協(xié)議原理)

client_body_timeout 60s;

#設定讀取客戶端請求主體的最大大小。(參看老男孩的書籍理解http協(xié)議原理)

client_max_body_size 8m;

#設置服務器端傳送http響應信息到客戶端的超時時間

send_timeout 60s;

#設定訪問日志的日志記錄格式,每列細節(jié)參考《跟老男孩學linux運維》:Web集群實戰(zhàn)

log_format main  '$remote_addr - $remote_user$time_local] '$request' ' '$status $body_bytes_sent '$http_referer' '  ''$http_user_agent'$http_x_forwarded_for'';

#FastCGI參數(shù)是和動態(tài)服務器交互起作用的參數(shù)

#設定Nginx服務器和后端FastCGI服務器連接的超時時間

fastcgi_connect_timeout 60;

#設定Nginx允許FastCGI服務端返回數(shù)據(jù)的超時時間

fastcgi_send_timeout 60;

#設定Nginx從FastCGI服務端讀取響應信息的超時時間

fastcgi_read_timeout 60;

#設定用來讀取從FastCGI服務端收到的第一部分響應信息的緩沖區(qū)大小

fastcgi_buffer_size 64k;

#設定用來讀取從FastCGI服務端收到的響應信息的緩沖區(qū)大小以及緩沖區(qū)數(shù)量

fastcgi_buffers 4 64k;

#設定系統(tǒng)很忙時可以使用的fastcgi_buffers大小,推薦大小為fastcgi_buffers *2。

fastcgi_busy_buffers_size 128k;

#fastcti臨時文件的大小,可設置128-256K

fastcgi_temp_file_write_size 128k;

#gzip壓縮模塊部分(此部分對于網(wǎng)站優(yōu)化極其重要)

#開啟gzip壓縮功能。

gzip on;

#設置允許壓縮的頁面最小字節(jié)數(shù),頁面字節(jié)數(shù)從header頭的Content-Length中獲取。默認值是0,表示不管頁面多大都進行壓縮。建議設置成大于1K。如果小于1K可能會越壓越大。

gzip_min_length 1k;

#壓縮緩沖區(qū)大小。表示申請4個單位為16K的內存作為壓縮結果流緩存,默認值是申請與原始數(shù)據(jù)大小相同的內存空間來存儲gzip壓縮結果。

gzip_buffers    4 16k;

#壓縮版本(默認1.1,前端為squid2.5時使用1.0)用于設置識別HTTP協(xié)議版本,默認是1.1,目前大部分瀏覽器已經(jīng)支持GZIP解壓,使用默認即可。

gzip_http_version 1.1;

#壓縮比率。用來指定GZIP壓縮比,1壓縮比最小,處理速度最快;9壓縮比最大,傳輸速度快,但處理最慢,也比較消耗cpu資源。

gzip_comp_level 2;

#用來指定壓縮的類型,“text/html”類型總是會被壓縮,這個就是HTTP原理部分講的媒體類型。

gzip_typestext/plain application/x-javascript text/css application/xml;

#vary header支持。該選項可以讓前端的緩存服務器緩存經(jīng)過GZIP壓縮的頁面,例如用Squid緩存經(jīng)過Nginx壓縮的數(shù)據(jù)。

gzip_vary on;

#反向代理負載均衡設定部分(可選)

#upstream表示負載服務器池,定義名字為blog.oldboyedu.com的服務器池

upstream blog.oldboyedu.com {

#server是服務器節(jié)點起始標簽,其后是節(jié)點地址,可為域名或IP,weight是權重,可以根據(jù)機器配置定義權重。weigth參數(shù)表示權值,權值越高被分配到的幾率越大。

ip_hash; #調度算法,默認是rr輪詢。

server 172.16.1.7:80 weight=1;

server 172.16.1.8:80 weight=1;

server 172.16.1.9:80 weight=1 backup; #backup表示熱備

}


3.9 設定基于域名的虛擬主機部分

###oldboy www web php server

    server {

       listen       80; #監(jiān)聽的端口,也可以是172.16.1.7:80形式

       server_name  www.oldboyedu.comoldboyedu.com; #域名

       root   html/blog; #站點根目錄,即網(wǎng)站程序放的目錄

       location / {  #默認訪問的location標簽段

           index  index.php index.htmlindex.htm; #首頁排序

        }

    location ~.*.(php|php5)?$ { #符合php擴展名的請求調度到fcgi server

      fastcgi_pass 127.0.0.1:9000; #拋給本機的9000端口(php fastcgi server)

      fastcgi_index index.php; #設定動態(tài)首頁

      include fastcgi.conf; #設定和fastcgi交互的相關參數(shù)包含文件

    }

#將符合靜態(tài)文件的圖片視頻流媒體等設定expries緩存參數(shù),要求瀏覽器緩存。

    location~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {

       expires      10y; #客戶端緩存上述靜態(tài)數(shù)據(jù)10年

}

#將符合js,css文件的等設定expries緩存參數(shù),要求瀏覽器緩存。

    location~ .*\.(js|css)?$ {

       expires      30d; #客戶端緩存上述js,css數(shù)據(jù)30天

    }

       access_log /app/logs/www_access.log  main; #根據(jù)日志格式記錄用戶訪問的日志

    }

 

3.10 反向代理負載均衡配置(代理blog.oldboyedu.com服務)

server {

       listen       80; #監(jiān)聽的端口,也可以是172.16.1.7:80形式

       server_name  blog.oldboyedu.com; #代理的服務域名

       location / {

       #將訪問blog.oldboyedu.com的所有請求都發(fā)送到upstream定義的服務器節(jié)點池。

        proxy_passhttp://blog.oldboyedu.com;

        #在代理向后端服務器發(fā)送的http請求頭中加入host字段信息,用于當后端服務器配置有多個虛擬主機時,可以識別代理的是哪個虛擬主機。這是節(jié)點服務器多虛擬主機時的關鍵配置。

        proxy_set_headerHost  $host;

        #在代理向后端服務器發(fā)送的http請求頭中加入X-Forwarded-For字段信息,用于后端服務器程序、日志等接收記錄真實用戶的IP,而不是代理服務器的IP。

        proxy_set_header X-Forwarded-For$remote_addr;

#設定反向代理與后端節(jié)點服務器連接的超時時間,即發(fā)起握手等候響應的超時時間。

        proxy_connect_timeout60;

#設定代理后端服務器的數(shù)據(jù)回傳時間

        proxy_send_timeout 60;

#設定Nginx從代理的后端服務器獲取信息的時間

        proxy_read_timeout 60;

#設定緩沖區(qū)的大小

        proxy_buffer_size 4k;

#設定緩沖區(qū)的數(shù)量和大小。nginx從代理的后端服務器獲取的響應信息,會放置到緩沖區(qū)。

        proxy_buffers 4 32k;

#設定系統(tǒng)很忙時可以使用的proxy_buffers大小

       proxy_busy_buffers_size 64k;

#設定proxy緩存臨時文件的大小

       proxy_temp_file_write_size 64k;

#對于以上參數(shù)的詳細理解可見本文開頭圖解。

       }

access_log off; #反向代理如果并發(fā)大,務必要關閉日志,否則IO吃緊。

 

    }


3.11 設定查看Nginx狀態(tài)的地址

location /status {

stub_status on; #開啟狀態(tài)功能

access_log off; #關閉記錄日志

auth_basic “Oldboy Server Status”; #設置基本認證提示

auth_basic_user_file conf/htpasswd; #校驗密碼文件

}


3.12 設定java程序動靜分離反向代理負載均衡配置

#Oldboy Bbs server

 server {

     listen       80; #監(jiān)聽的端口,也可以是172.16.1.7:80形式

     server_name  bbs.oldboyedu.com; #代理的域名

     root  html/bbs; #程序目錄

     index index.php index.html index.htm;

#所有靜態(tài)文件由nginx服務處理

location ~.*.(htm|html|gif|jpg|jpeg|png|swf|flv)$ {

 expires 3650d;

}

location ~ .*.(js|css)?$ {

 expires 30d;

}

#所有java相關擴展名均交由tomcat或resin服務處理。

location ~ .(jsp|jspx|do)?$ {

#將訪問blog.oldboyedu.com的所有請求都發(fā)送到upstream定義的服務器節(jié)點池。

proxy_pass http://127.0.0.1:8080;

#在代理向后端服務器發(fā)送的http請求頭中加入host字段信息,用于當后端服務器配置有多個虛擬主機時,可以識別代理的是哪個虛擬主機。這是節(jié)點服務器多虛擬主機時的關鍵配置。

        proxy_set_header Host  $host;

 #在代理向后端服務器發(fā)送的http請求頭中加入X-Forwarded-For字段信息,用于后端服務器程序、日志等接收記錄真實用戶的IP,而不是代理服務器的IP。

        proxy_set_headerX-Forwarded-For $remote_addr;

}

        access_log /app/logs/bbs_access.log  main; #記錄日志

    }

}

更多的參數(shù),可參看《跟老男孩學linux運維:Web集群實戰(zhàn)》一書,以及官方資料!


本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Nginx系列教程之三:nginx 必知必會
nginx 常用模塊整理
nginx的web緩存服務環(huán)境部署記錄
Nginx安裝配置詳解(轉)
Nginx系列
nginx 常用模塊整理-2 -- 51cto.大飛俠大蝦
更多類似文章 >>
生活服務
熱點新聞
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服