nginx配置文件详解

Posted

tags:

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

nginx配置文件默认存放在nginx安装目录下的conf目录下

配置文件主要分为:全局块、events块、http块、server块、location块

[[email protected] conf]# cat nginx.conf

 #####全局  开始####

#user  nobody nobody;                                  #指定运行nginx服务器的用户和组(必须配置在全局中)                                                               
worker_processes  1;                                      #配置允许生成的work process进程数,mumber为生成最多,atuo为根据服务器性能自动检测(必须配置在全局中)

#error_log  logs/error.log;                              #配置nginx的错误日志存放路径,在全局块、http块、server块中都可配置,级别分为(info、notice、warn、error、crit、alert、emerg)
#error_log  logs/error.log  notice;                     设置某一级别后,比这一级高的日志也会被记录下来。
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;                             #指定存放pid的路径和文件名,可以使绝对路径,也可是基于nginx的相对路径(必须配置在全局中)

 #####全局  结束####



 ####events 开始####

events {                           

    use epoll;                    #配置时间驱动模型                                                                   

    worker_connections  1024;                   #配置最大连接数 
}

 ####events 结束####



####http块 开始####

http {       

    ##nginx开启目录浏览##

    autoindex on;      #开启目录浏览功能

    autoindex_exact_size off;    #文件大小从KB显示

    autoindex_localtime on;       #显示文件修改时间为本地时间                                                                                   

    include       mime.types;                 #配置文件的引入(mime.types用来区分文本和媒体资源)
    default_type  application/octet-stream;    #配置了用于处理前段请求的mime类型

     log_format  main  ‘$remote_addr - $remote_user [$time_local] "$request" ‘      #定义服务日至的格式,main为格式字符串定义名字,供access_log调用
                       ‘$status $body_bytes_sent "$http_referer" ‘
                       ‘"$http_user_agent" "$http_x_forwarded_for"‘;

   access_log  logs/access.log  main;      #记录了服务过程中前段请求的日志。(main为指定的日志格式你在log_format中定义)如要取消,可使用access_log off;

    sendfile        on;               #配置允许sendfile方式传输文件 on|off

    sendfile_max_chunk    128k;     #表示每个worker process每次调用的sendfile传输的数据量不能大于128k,设置为0则表示无限制。
    #tcp_nopush     on;

    keepalive_timeout  65;          #表示客户端连接超时时间为65秒,后面可加一个时间,表示为应答超时时间(keepalive_timeout 65s 120s)

    keepalive_requests number;     #设置单连接请求上线

    #gzip  on;           #开启gzip压缩功能


 ####http的server块  开始####

    server {                                                                                           
        listen       80;                #配置网络监听端口(可以使ip地址、端口等)
        server_name  localhost;          #配置对外虚拟主机的主机名,可以多个名称并列,使用空格隔开

        #charset koi8-r;

        #access_log  logs/host.access.log  main;        #http块中的日志配置,和全局配置中一样


 #http/server的loction中生效

        location /html/ {                                                                                 
            root   /websits;             #配置请求的根目录(上面的配置表示在location接收到请求时,在/websits/html/下找到index.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;      #设置网站的5xx的错误页面
        location = /50x.html {                 #此location配置表示先捕获“/50x.html”请求,然后将请求定向到root指定的路径先
            root   html;

        }


#基于IP配置nginx的访问权限

       location / {

            allow 192.168.1.1;

            allow 192.168.10.1;

            deny all;

       }                                                   #配置允许192.168.1.1和192.168.10.1访问nginx,拒绝其他所有的访问。

        # 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;                        #指定php的路径


        #    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;
        #}
    }

 ####http的server块  结束####



 ####https的server块  开始####

    # HTTPS server
    #
    #server {                                                                                                            
    #    listen       443;           #定义https监听端口
    #    server_name  localhost;              #定义服务名

    #    ssl                  on;                  #on表示开启https的ssl
    #    ssl_certificate      cert.pem;           
    #    ssl_certificate_key  cert.key;               #创建的密钥对

    #    ssl_session_timeout  5m;               #请求超时时间

    #    ssl_protocols  SSLv2 SSLv3 TLSv1;
    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers   on;

    #    location / {                     #定义访问页面
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

 ####https的server块   结束####


}

####http块 结束####



本文出自 “亮公子” 博客,请务必保留此出处http://iyull.blog.51cto.com/4664834/1864387

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

Nginx配置文件详解

通过现象看本质——Nginx配置文件详解

nginx配置文件详解

Nginx配置文件优化详解

nginx 配置详解是啥?

nginx配置文件详解