美文网首页
nginx配置入门

nginx配置入门

作者: 风之化身呀 | 来源:发表于2018-02-28 00:29 被阅读31次

    1、安装

    • 下载 http://nginx.org/
    • 解压


      nginx目录结构
    • 启动
      不要直接双击nginx.exe,这样会导致修改配置后重启、停止nginx无效,需要手动关闭任务管理器内的所有nginx进程。
      在nginx.exe目录,打开命令行工具,用命令 启动/关闭/重启nginx
    // 1、启动nginx
    start nginx     //启动后,访问localhost即可看到nginx的欢迎页面
    // 2、当你的 nginx 实例运行时,你可以通过发送相应的信号来管理它
    nginx -s signal    //signal可以是:reload,reopen,stop,quit
    // 2.1、修改配置后重新加载生效 ,配置文件位于 conf\nginx.conf
    nginx -s reload  
    // 2.2、重新打开日志文件
    nginx -s reopen  
    // 2.3、快速停止nginx
    nginx -s stop 
    // 2.4、完整有序的停止nginx
    nginx -s quit  
    // 3、测试nginx配置文件是否正确
    nginx -t -c /path/to/nginx.conf 
    

    2、配置详解

    配置文件主要由下面两个部分构成:

    • 指令 – 可选项,包含名称和参数,以分号结尾
    • 上下文 – 分块, 类似于编程语言中的作用域
    worker_processes 2; # 全局上下文指令
    http {              # http 上下文
        gzip on;        # http 上下文中的指令
        server {          # server 上下文
           listen 80;      # server 上下文中的指令
        }
    }
    

    常用指令:
    1、listen 和 server_name指令

    server {     // 虚拟主机server可以有多个      
      listen      *:80 default_server;
      server_name netguru.co;
      return 200 "Hello from netguru.co";
    }
    

    这将告诉 Nginx 如何处理到来的请求。Nginx 将会首先通过检查 listen 指令来测试哪一个虚拟主机在监听给定的 IP 端口组合。
    然后,server_name 指令的值将检测 Host 头(存储着主机域名)。
    Nginx 将会按照下列顺序选择虚拟主机:
    匹配sever_name指令的IP-端口主机
    拥有default_server标记的IP-端口主机
    首先定义的IP-端口主机
    如果没有匹配,拒绝连接。
    2、root指令
    root 指令设置请求的根目录,允许 nginx 将传入请求映射到文件系统。

    server {
      listen 80;
      server_name netguru.co;
      root /var/www/netguru.co;
    }
    

    3、location 指令
    location [modifier] path

    // modifier 如下,匹配优先级依次降低
    =            - 精准match
    ^~          - 优先 match
    ~            - 正则 match(大小写敏感)
    ~*           - 正则 match(大小写不敏感)
    no modifier - 前缀 match  
    

    4、try_files 指令
    尝试不同的路径,找到一个路径就返回。

    try_files $uri index.html =404;
    

    所以对于 /foo.html 请求,它将尝试按以下顺序返回文件:
    $uri ( /foo.html )
    index.html
    如果什么都没找到则返回 404
    5、proxy_pass指令
    配合location实现反向代理,用于跨域。注意末尾有没有斜杠。

    3、参考:

    1、https://www.cnblogs.com/saysmy/p/6609796.html
    2、http://blog.jobbole.com/113555/

    相关文章

      网友评论

          本文标题:nginx配置入门

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