国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Nginx基礎(chǔ)筆記

caige / 3245人閱讀

摘要:壓力測(cè)試工具請(qǐng)求數(shù)并發(fā)數(shù)請(qǐng)求是一個(gè)高性能的和反向代理服務(wù),也是一個(gè)服務(wù)。

壓力測(cè)試工具:ab
ab -n 請(qǐng)求數(shù) -c 并發(fā)數(shù) 請(qǐng)求url
Nginx:

Nginx (engine x) 是一個(gè)高性能的HTTP和反向代理服務(wù),也是一個(gè)IMAP/POP3/SMTP服務(wù)。

特點(diǎn):

IO多路復(fù)用epoll

輕量級(jí)

CPU親和(affinity):把每個(gè)worker進(jìn)程固定在一個(gè)cpu上執(zhí)行,減少切換cpu的cache miss,獲得更好的性能

sendfile:靜態(tài)文件不經(jīng)過(guò)用戶空間,直接通過(guò)內(nèi)核進(jìn)行傳輸

版本分類(lèi)

Mainline version 開(kāi)發(fā)版(有更新的功能,但不一定穩(wěn)定)
Stable version 穩(wěn)定版(經(jīng)過(guò)測(cè)試,有更好的穩(wěn)定性)
Legacy version 歷史版本

命令

nginx -V
查看nginx版本及編譯的模塊信息

nginx -t -c .conf文件路徑
檢查配置文件語(yǔ)法是否正確

nginx -s reload -c .conf文件路徑
重啟配置文件

配置語(yǔ)法nginx.conf
#運(yùn)行用戶
user nobody;
#啟動(dòng)進(jìn)程,通常設(shè)置成和cpu的數(shù)量相等
worker_processes  1;
 
#全局錯(cuò)誤日志及PID文件
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
 
#pid        logs/nginx.pid;
 
#工作模式及連接數(shù)上限
events {
    #epoll是多路復(fù)用IO(I/O Multiplexing)中的一種方式,
    #僅用于linux2.6以上內(nèi)核,可以大大提高nginx的性能
    use   epoll; 
 
    #單個(gè)后臺(tái)worker process進(jìn)程的最大并發(fā)鏈接數(shù)    
    worker_connections  1024;
 
    # 并發(fā)總數(shù)是 worker_processes 和 worker_connections 的乘積
    # 即 max_clients = worker_processes * worker_connections
    # 在設(shè)置了反向代理的情況下,max_clients = worker_processes * worker_connections / 4  為什么
    # 為什么上面反向代理要除以4,應(yīng)該說(shuō)是一個(gè)經(jīng)驗(yàn)值
    # 根據(jù)以上條件,正常情況下的Nginx Server可以應(yīng)付的最大連接數(shù)為:4 * 8000 = 32000
    # worker_connections 值的設(shè)置跟物理內(nèi)存大小有關(guān)
    # 因?yàn)椴l(fā)受IO約束,max_clients的值須小于系統(tǒng)可以打開(kāi)的最大文件數(shù)
    # 而系統(tǒng)可以打開(kāi)的最大文件數(shù)和內(nèi)存大小成正比,一般1GB內(nèi)存的機(jī)器上可以打開(kāi)的文件數(shù)大約是10萬(wàn)左右
    # 我們來(lái)看看360M內(nèi)存的VPS可以打開(kāi)的文件句柄數(shù)是多少:
    # $ cat /proc/sys/fs/file-max
    # 輸出 34336
    # 32000 < 34336,即并發(fā)連接總數(shù)小于系統(tǒng)可以打開(kāi)的文件句柄總數(shù),這樣就在操作系統(tǒng)可以承受的范圍之內(nèi)
    # 所以,worker_connections 的值需根據(jù) worker_processes 進(jìn)程數(shù)目和系統(tǒng)可以打開(kāi)的最大文件總數(shù)進(jìn)行適當(dāng)?shù)剡M(jìn)行設(shè)置
    # 使得并發(fā)總數(shù)小于操作系統(tǒng)可以打開(kāi)的最大文件數(shù)目
    # 其實(shí)質(zhì)也就是根據(jù)主機(jī)的物理CPU和內(nèi)存進(jìn)行配置
    # 當(dāng)然,理論上的并發(fā)總數(shù)可能會(huì)和實(shí)際有所偏差,因?yàn)橹鳈C(jī)還有其他的工作進(jìn)程需要消耗系統(tǒng)資源。
    # ulimit -SHn 65535
 
}
 
 
http {
    #設(shè)定mime類(lèi)型,類(lèi)型由mime.type文件定義
    include    mime.types;
    default_type  application/octet-stream;
    #設(shè)定日志格式
    log_format  main  "$remote_addr - $remote_user [$time_local] "$request" "
                      "$status $body_bytes_sent "$http_referer" "
                      ""$http_user_agent" "$http_x_forwarded_for"";
 
    access_log  logs/access.log  main;
 
    #sendfile 指令指定 nginx 是否調(diào)用 sendfile 函數(shù)(zero copy 方式)來(lái)輸出文件,
    #對(duì)于普通應(yīng)用,必須設(shè)為 on,
    #如果用來(lái)進(jìn)行下載等應(yīng)用磁盤(pán)IO重負(fù)載應(yīng)用,可設(shè)置為 off,
    #以平衡磁盤(pán)與網(wǎng)絡(luò)I/O處理速度,降低系統(tǒng)的uptime.
    sendfile     on;
    #tcp_nopush     on;
 
    #連接超時(shí)時(shí)間
    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay     on;
 
    #開(kāi)啟gzip壓縮
    gzip  on;
    gzip_disable "MSIE [1-6].";
 
    #設(shè)定請(qǐng)求緩沖
    client_header_buffer_size    128k;
    large_client_header_buffers  4 128k;
 
 
    #設(shè)定虛擬主機(jī)配置
    server {
        #偵聽(tīng)80端口
        listen    80;
        #定義使用 www.nginx.cn訪問(wèn)
        server_name  www.nginx.cn;
 
        #定義服務(wù)器的默認(rèn)網(wǎng)站根目錄位置
        root html;
 
        #設(shè)定本虛擬主機(jī)的訪問(wèn)日志
        access_log  logs/nginx.access.log  main;
 
        #默認(rèn)請(qǐng)求
        location / {
            
            #定義首頁(yè)索引文件的名稱
            index  index.html index.htm;
            如果能找到指定的 uri 那么就返回相應(yīng)的內(nèi)容,否則的話返回錯(cuò)誤狀態(tài)碼 404
            try_files $uri $uri/ =404;   
 
        }
 
        # 定義錯(cuò)誤提示頁(yè)面
        error_page   500 502 503 504 /50x.html;
        location = /50x.html {
        }
 
        #靜態(tài)文件,nginx自己處理
        location ~ ^/(images|javascript|js|css|flash|media|static)/ {
            
            #過(guò)期30天,靜態(tài)文件不怎么更新,過(guò)期可以設(shè)大一點(diǎn),
            #如果頻繁更新,則可以設(shè)置得小一點(diǎn)。
            expires 30d;
        }
        #禁止訪問(wèn) .htxxx 文件
            location ~ /.ht {
            deny all;
        }
 
    }
}

日志類(lèi)型

error.log
格式:error_log log_file level;
錯(cuò)誤日志,保存nginx運(yùn)行中的錯(cuò)誤信息

access.log
格式:access_log log_file log_format定義名稱(固定輸出格式);
訪問(wèn)日志,保存訪問(wèn)信息

變量

http請(qǐng)求變量:

arg_PARAMETER
http_HEADER(如:http_user_agent)
sent_http_HEADER

內(nèi)置變量

自定義變量

常用模塊

http_sub_status_module nginx客戶端的狀態(tài)(可以配置在server和location下)

stub_status;

具體使用結(jié)果:https://blog.csdn.net/echizao...
http_sub_module HTTP內(nèi)容替換(http|server|location)

sub_filter string(要替換的內(nèi)容) replacement(替換的內(nèi)容);
sub_filter_once off;默認(rèn)為on    默認(rèn)匹配所有內(nèi)容,on只匹配一次
sub_filter_last_modified on;默認(rèn)為off    判斷服務(wù)器文件是否發(fā)生過(guò)變更,不變更則不重新加載

http_random_index_module 目錄中選擇一個(gè)隨機(jī)主頁(yè)(配置在location中)

random_index on;默認(rèn)為off

limit_conn_module 連接頻率限制

limit_conn_zone key zone=name:size;(http)
limit_conn zone number;(http|server|location)

limit_req_modele 請(qǐng)求頻率限制

limit_req_zone key zone=name:size rate=rate;(http)
如:limit_req_zone $binary_remote_addr zone=req_zone:1m rate=1r/s;
limit_req zone=name [burst=number](延遲數(shù)) [nodelay];(httpserverlocation)

http_access_module 基于ip的控制訪問(wèn)(通過(guò)$remote_addr實(shí)現(xiàn),代理模式就失去了作用,x-forword-for,geo模塊,自定義變量解決)

allow address | CIDR(網(wǎng)段) | unix: | all;(httpserverlocationlimit_except)
deny address | CIDR | unix: | all;(httpserverlocationlimit_except)

http_auth_basic_module 基于用戶的信任登錄(弊端解決:1結(jié)合lua實(shí)現(xiàn)高效驗(yàn)證,2利用nginx-auth-ldap模塊,實(shí)現(xiàn)nginx和ldap打通)

auth_basic string | off;默認(rèn)off(httpserverlocationlimit_except);
auth_basic_user_file file;(httpserverlocationlimit_except);    file為一個(gè)用戶名密碼文件
    file生成方式:htpasswd -c 文件名 用戶名 然后就會(huì)讓輸入兩次密碼 命令在httpd-tools中

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/40335.html

相關(guān)文章

  • 慕課網(wǎng)_《Docker入門(mén)》學(xué)習(xí)總結(jié)

    摘要:時(shí)間年月日星期六說(shuō)明本文部分內(nèi)容均來(lái)自慕課網(wǎng)。必填用于執(zhí)行命令,當(dāng)執(zhí)行完畢后,將產(chǎn)生一個(gè)新的文件層??蛇x指定此鏡像啟動(dòng)時(shí)默認(rèn)執(zhí)行命令??蛇x用于指定需要暴露的網(wǎng)絡(luò)端口號(hào)??蛇x向鏡像中掛載一個(gè)卷組。 時(shí)間:2017年09月16日星期六說(shuō)明:本文部分內(nèi)容均來(lái)自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com 教學(xué)源碼:無(wú) 學(xué)習(xí)源碼:無(wú) 第一章:課程簡(jiǎn)介 1-1 課程介紹 Docke...

    CoorChice 評(píng)論0 收藏0
  • Dockerfile 與 Compose 環(huán)境搭建學(xué)習(xí)筆記(一)

    摘要:的主要作用是自己根據(jù)基礎(chǔ)鏡像,重新定制鏡像,而不是直接從官方倉(cāng)庫(kù)拿現(xiàn)成的使用。以接下來(lái)要構(gòu)建的環(huán)境來(lái)說(shuō)明下,下面我將要搭建一個(gè)的開(kāi)發(fā)環(huán)境,需要進(jìn)行配合。它的主要作用是持久化數(shù)據(jù),避免容器銷(xiāo)毀后內(nèi)部數(shù)據(jù)丟失暴露到宿主機(jī)的端口。 以前一直使用 Vagrant 作為自己的開(kāi)發(fā)環(huán)境,并且在上家公司也推行大家采用 Vagrant 作為開(kāi)發(fā)環(huán)境,保障公司使用的是同一套開(kāi)發(fā)環(huán)境。隨著docker的流...

    TZLLOG 評(píng)論0 收藏0
  • Dockerfile 與 Compose 環(huán)境搭建學(xué)習(xí)筆記(一)

    摘要:的主要作用是自己根據(jù)基礎(chǔ)鏡像,重新定制鏡像,而不是直接從官方倉(cāng)庫(kù)拿現(xiàn)成的使用。以接下來(lái)要構(gòu)建的環(huán)境來(lái)說(shuō)明下,下面我將要搭建一個(gè)的開(kāi)發(fā)環(huán)境,需要進(jìn)行配合。它的主要作用是持久化數(shù)據(jù),避免容器銷(xiāo)毀后內(nèi)部數(shù)據(jù)丟失暴露到宿主機(jī)的端口。 以前一直使用 Vagrant 作為自己的開(kāi)發(fā)環(huán)境,并且在上家公司也推行大家采用 Vagrant 作為開(kāi)發(fā)環(huán)境,保障公司使用的是同一套開(kāi)發(fā)環(huán)境。隨著docker的流...

    ityouknow 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<