Nginx配置

Posted shenxm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx配置相关的知识,希望对你有一定的参考价值。

nginx配置

nginx 配置文件格式

    主配置文件结构:
        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 配置

    配置文件的组成部分:
        主配置文件:nginx.conf
        子配置文件:include conf.d/*.conf
        fastcgi,uwsgi,scgi等协议相关的配置文件
        mime.types :支持的mime类型
    
    主配置文件的配置指令:
        directive value [value2 ...];
    
    注意:
        (1)指令必须以分号结尾
        (2)支持使用配置变量
            内建变量:
                由Nginx模块引入,可直接引用
            自定义变量:
                由用户使用set 命令定义
                set variable_name value;
            引用变量:
                $variable_name
            
    Main 全局配置段常见的配置指令分类
        正常运行必备的配置
        优化性能相关的配置
        用于调试及定位问题相关的配置
        事件驱动相关的配置
    
    帮助文档
        http://nginx.org/en/docs/
    
    正常运行必备的配置:
        帮助文档:
            http://nginx.org/en/docs/ngx_core_module.html
        1 、user
            Syntax: user user [group];
            Default: user nobody nobody;
            Context: main
            指定worker 进程的运行身份,如组不指定,默认和用户名同名
        2 、pid file
            指定存储nginx 主进程PID 的文件路径
        3 、include file | mask
            指明包含进来的其它配置文件片断
        4 、load_module file
            模块加载配置文件:/usr/share/nginx/modules/*.conf
            指明要装载的动态模块路径: /usr/lib64/nginx/modules
    
    性能优化相关的配置:
        帮助文档:
            http://nginx.org/en/docs/ngx_core_module.html
        1 、worker_processes 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
    事件驱动相关的配置:
        帮助文档
            http://nginx.org/en/docs/ngx_core_module.html
        events {
            ...
            }
        1 、worker_connections number
            每个worker 进程所能够打开的最大并发连接数数量,如10240
            总最大并发数:worker_processes * worker_connections
        2 、use method
            指明并发连接请求的处理方法, 默认自动选择最优方法 use epoll;
        3 、accept_mutex on | off  互斥
            处理新的连接请求的方法,on指由各个worker 轮流处理新请求,Off指每个新请求的到达都会通知( 唤醒) 所有的worker 进程,但只有一个进程可获得连接,造成“惊群”,影响性能,默认on。
    
    调试和定位问题:
        帮助文档
            http://nginx.org/en/docs/ngx_core_module.html
        1 、daemon on|off
            是否以守护进程方式运行nignx,默认是守护进程方式
        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

以上是关于Nginx配置的主要内容,如果未能解决你的问题,请参考以下文章

Nginx——Nginx启动报错Job for nginx.service failed because the control process exited with error code(代码片段

Nginx配置文件详细介绍

Nginx 跨域

Nginx的配置

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置