zoukankan      html  css  js  c++  java
  • nginx配置文件

    首先要了解nginx主配置文件(nginx.conf)的结构

    main (全局设置) 。  

    sever (主机设置)。

    upstram负载均街服务器设置。

    location(URL匹配特定位置的设置)。

    结构,如下图

    main部分

    #user  nobody;
    worker_processes  1;
    
    #error_log  logs/error.log;
    #error_log  logs/error.log  notice;
    #error_log  logs/error.log  info;
    
    #pid        logs/nginx.pid;
    user :主模块命令, 指定Nginx的worker进程运行用户以及用户组,默认由nobody账号运行。
    worker processes: 指定Nginx要开启的进程数。
    error log:用来定义全局错设日志文件的路径和日志名称。日志输出级别有debug,info,notice,warn,error,crit 可供选择,其中debug输出日志最为详细,面crit输出日志最少。
    pid: 用来指定进程id的存储文件位置。

    event部分
    events {
        use epoll;  
        worker_connections  1024;
    }
    event:设定nginx的工作模式及连接数上限,其中参数use用来指定nginx的工作模式
    (这里是epoll,epoll是多路复用IO(I/O Multiplexing)中的一种方式),
    nginx支持的工作模式有select ,poll,kqueue,epoll,rtsig,/dev/poll。
    其中select和poll都是标准的工作模式,kqueue和epoll是高效的工作模式,对于linux系统,epoll是首选。
    worker_connection是设置nginx每个进程最大的连接数,默认是1024,所以nginx最大的连接数max_client=worker_processes * worker_connections。
    进程最大连接数受到系统最大打开文件数的限制,需要设置ulimit。
    http部分
    http {
        include       mime.types;
        default_type  application/octet-stream;
    
        #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        on;
        #tcp_nopush     on;
    
        #keepalive_timeout  0;
        keepalive_timeout  65;
    
        #gzip  on;
    
      server {
        ---
      }
    
    }
    include  mime.types;  主模块命令,对配置文件所包含文件的设定,减少主配置文件的复杂度,相当于把部分设置放在别的地方,然后在包含进来,保持主配置文件的简洁

    default_type 默认文件类型,当文件类型未定义时候就使用这类设置的。

    log_format指定nginx日志的格式
    access_log 指定日志文件的存放路径  access_log path(存放路径) format (自定义日志名称)
    sendfile  开启高效文件传输模式(zero copy 方式),避免内核缓冲区数据和用户缓冲区数据之间的拷贝。
    tcp_nopush   在nginx中,tcp_nopush配置与tcp_nodelay“互斥”。它可以配置一次发送数据包的大小。也就是说,数据包累积到一定大小后就发送。在nginx中tcp_nopush必须和sendfile配合使用。
    keepalive_timeout 客户端连接超时时间
    gzip  设置是否开启gzip模块

    server段是虚拟主机的配置 这里可以写在别的文件中 然后在包含进来,比如写在/usr/local/nginx/vhost/xxx.conf 目录某文件中 然后在包含进来,可以包含多个文件 include /usr/local/nginx/vhost/*;
    server部分
        server {
            listen       80;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                root   html;
                index  index.html index.htm;
            }
    
            #error_page  404              /404.html;
    
            # redirect server error pages to the static page /50x.html
            #
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
    
            # proxy the PHP scripts to Apache listening on 127.0.0.1:80
            #
            #location ~ .php$ {
            #    proxy_pass   http://127.0.0.1;
            #}
    
            # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
            #
            #location ~ .php$ {
            #    root           html;
            #    fastcgi_pass   127.0.0.1:9000;
            #    fastcgi_index  index.php;
            #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            #    include        fastcgi_params;
            #}
    
            # deny access to .htaccess files, if Apache's document root
            # concurs with nginx's one
            #
            #location ~ /.ht {
            #    deny  all;
            #}
        }

    server是虚拟主机,一个server代表一个网站

        listen  主机监听的端口

        server_name  主机名

        location   地址匹配设置

    未完,待续。。。。。。

     







  • 相关阅读:
    如何选择创业项目:四项原则与四个步骤
    做管理人要注意的十一点细节
    成功激励格言精选
    将自己的姿态放低:你应具备赚钱以外的四种能力
    让我的爱带给你最大的幸福和感动
    秋收情不收.七夕感怀
    成功人士的十五条座右铭
    足迹
    人生成功的生活经典治理名言
    真正的贵人就是你自己
  • 原文地址:https://www.cnblogs.com/dch0/p/11101490.html
Copyright © 2011-2022 走看看