Nginx配置

  • Nginx配置

    Nginx支持一臺主機上搭建多個https:TLS SNI support enabled

    配置文件組成部分

        主配置文件:nginx.conf

        子配置文件:include conf.d/*.conf

        fastcgi,uwsgi,scgi等協議相關的配置文件

    主配置文件的配置指令:

        directive value [value2 ...];

    注意:

        1、指令必須以分號結尾

        2、支持使用配置變量

            內建變量:由Nginx模塊引入,可直接引用

            自定義變量:由用戶使用set命令定義

                set variable_name value;

            引用變量:$variable_name

    主配置文件結構:四部

        main block:主配置段,即全局配置段,對所有功能(http,mail)都有效

        event {

            . . .

        }   事件驅動相關配置

        http {

            . . .

        }  http/https 協議相關配置段

        mail {

            . . .

        }    mail協議相關配置段

        stream {

            . . .

        }    stream服務器相關配置段

    http協議相關的配置結構

        http {

            . . .

            . . .    各server的公共配置

            server { 每個server用於定義一個虛擬主機

                . . .

            }

            server {

                . . .

                server_name   虛擬主機名

                root   主目錄

                alias   路徑別名

                location [OPERATOR] URL {   指定URL的特性

                        . . .

                        if CONDITION {

                            . . .

                        }

                }

            }

        }

    nginx配置

        Main全局配置段常見的配置指令分類

            正常運行必備的配置

            優化性能相關的配置

            用於調試及定位問題相關的配置

            事件驅動相關的配置

        幫助文檔

            http://nginx.org/en/docs/

            image.png

        正常運行的必備配置:

            1、user

                指定worker進程的運行身份,如組不指定,默認同用戶名

            2、pid /PATH/TO/PID_FILE

                指定存儲nginx主進程PID的文件路徑

            3、include file | mask

                指明包含進來的其它配置文件片斷

            4、load_module file 

                模塊加載配置文件:/usr/share/nginx/modules/*.conf

                指明要裝載的動態模塊路徑:/usr/lib64/nginx/modules

        性能優化相關配置

            1、worker_process number | auto

                worker進程的數量;通常應該爲當前主機的CPU的物理核心數

            2、worker_cpu_affinity cpumask . . .              

                worker_cpu_affinity auto [cpumask] 提高緩存命中率

                CPU MASK: 00000001:0號CPU

                    00000010:1號CPU

                    10000000:8號CPU

                worker_cpu_affinity 0001 0010 0100 1000;

                worker_cpu_affinity 0101 1010;

            3、worker_priority number

                指定worker進程的nice值,設定worker進程優先級:[-20,20]

            4、worker_rlimit_nofile number 

                worker進程所能夠打開的文件數量上限;如65535

        事件驅動相關配置

            events {

                . . .

            }

            1、worker_connections number

                每個worker進程所能夠打開的最大併發連接數量;如10240

                總最大併發數:worker_process * worker_connections

            2、use method

                指明併發連接請求的處理方法,默認自動選擇最優方法;use epoll

            3、accept_mutex on | off 互斥

                處理新的連接請求的方法;on指由各個worker輪流處理新請求,off指每個新請求的到達都會通知(喚醒)所有的worker進程,但只有一個進程可獲得連接,造成“驚羣”,影響性能

        高度和定位問題

            1、daemon on | off

                是否以守護進程方式運行nginx,默認是on守護進程方式;適用於測試環境使用

            2、master_process on  | off

                是否以master/worker模型運行nginx;默認爲on

                off將不啓動worker進程

            3、error_log file [level]

                錯誤日誌文件及其級別;出於調試需要,可設定爲debug;但debug僅在編譯時使用了“--with-debug”選項時纔有效                

                方式:file /path/logfile;

                stderr:發送到標準錯誤

                syslog:server-address[,parameter=values]:發送到syslog memory:size 內存

                level:debug|info|notice|warn|error|crit|alter|emerg

        http協議相關配置

            http {

                . . . 

            }


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章