美文网首页
Nginx学习笔记

Nginx学习笔记

作者: justonlyyo | 来源:发表于2017-12-01 12:58 被阅读0次

    nginx的启动参数

    1. -?, -h          显示帮助信息
    2. -v                显示版本号
    3. -V                显示版本号和读武器的编译情况
    4. -t                 测试配置并退出
    5. -q                 测试配置时只显示错误.
    6. -s signal       向主进程发送信号
    7. -p prefix        指定服务器路径前缀
    8. -c filename    指定配置文件路径
    9. -g directives  指定附加配置文件路径
    
    例子:
    检查配置文件是否正确,只做语法检查,并不进行测试.

    nginx -t -c <path-to-nginx.conf>

    启动服务

    service nginx start

    停止服务

    service nginx stop

    重启服务

    service nginx restart

    配置文件参数详解

    先贴一个典型的配置文件 /etc/nginx/nginx.conf

    user www-data;
    worker_processes auto;
    pid /run/nginx.pid;
    
    events {
        worker_connections 768;
        # multi_accept on;
    }
    
    http {
    
        ##
        # Basic Settings
        ##
    
        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;
        keepalive_timeout 65;
        types_hash_max_size 2048;
        # server_tokens off;
    
        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;
    
        include /etc/nginx/mime.types;
        default_type application/octet-stream;
    
        ##
        # SSL Settings
        ##
    
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
        ssl_prefer_server_ciphers on;
    
        ##
        # Logging Settings
        ##
    
        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;
    
        ##
        # Gzip Settings
        ##
    
        gzip on;
        gzip_disable "msie6";
    
        # gzip_vary on;
        # gzip_proxied any;
        # gzip_comp_level 6;
        # gzip_buffers 16 8k;
        # gzip_http_version 1.1;
        # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    
        ##
        # Virtual Host Configs
        ##
    
        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;
    }
    
    
    #mail {
    #   # See sample authentication script at:
    #   # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
    # 
    #   # auth_http localhost/auth.php;
    #   # pop3_capabilities "TOP" "USER";
    #   # imap_capabilities "IMAP4rev1" "UIDPLUS";
    # 
    #   server {
    #       listen     localhost:110;
    #       protocol   pop3;
    #       proxy      on;
    #   }
    # 
    #   server {
    #       listen     localhost:143;
    #       protocol   imap;
    #       proxy      on;
    #   }
    #}
    

    nginx 配置文件使用#来注释.
    现在使用一个dict来演示一个nginx文件的主要结构

    {
    events: events配置部分,
    http:         # http配置块
           {
             server:   # server配置块
                       { 
                         location [pattern]:    # location可能有多个
                            {
                             # location配置块
                              }
                        }
             }
    }
    

    配置文件中,冲突/重复的配置遵循就近/最后的原则.
    其中:

    http

    代理,缓存,日志,第三方模块都在这个区块内.包含(多个)server块,而server块包含(多个)location块.

    server

    和虚拟主机的概念联系密切,一个server相当与一台虚拟主机.每一台虚拟主机可以相当与多台内部的主机联合提供服务.

    location

    主要是对请求进行处理.重新向,数据缓存,应答控制等主要是在这里实现

    细则配置详解

    events.accept_mutex on | off; default:on

    对进程接收连接进行序列化,防止多个进程争抢.

    events.multi_accept on | off; default:on

    是否允许每个worker进程同时处理多个连接?

    events.user select | poll | kqueue | epoll | rtsig 等等;

    事件驱动模型,一般由系统自行选择.

    events.worker_connections int;

    进程的最大连接数.

    http.include <以types结尾的一个mime文件的绝对路径>;

    文件中指明了浏览器能识别的MIME类型以及对应的类型的文件名后缀.

    http|server|location.default_type mime-types; default:application/octet-stream

    默认的mime类型.

    相关文章

      网友评论

          本文标题:Nginx学习笔记

          本文链接:https://www.haomeiwen.com/subject/pmaibxtx.html