nginx的配置文件nginx.conf文件的详解

[ CentOS ] 2020-05-05 17:42:28 杨歆 385

Nginx的配置文件

Nginx的配置文件nginx.conf一共有三个部分组成,分别为全局块、events块和http块。

在http块中,又包含http全局块、多个server块。

每个server块中,可以包含server全局块和多个location块。

在同一配置块中嵌套的配置块,各个之间不存在次序关系。

nginx.conf

#Nginx worker进程运行的用户及用户组 
#语法:user username[groupname]    默认:user nobody nobody
#user用于设置master进程启动后,fork出的worker进程运行在那个用户和用户组下。
#当按照"user username;"设置时,用户组名与用户名相同。
#若用户在configure命令执行时,使用了参数--user=usergroup 和 --group=groupname。
#此时nginx.conf将使用参数中指定的用户和用户组。
#user  nobody;

#Nginx worker进程个数:其数量直接影响性能。
#每个worker进程都是单线程的进程,会调用各个模块以实现多种多样的功能。
#如果这些模块不会出现阻塞式的调用,那么,有多少CPU内核就应该配置多少个进程。
#反之,有可能出现阻塞式调用,那么,需要配置稍多一些的worker进程。
worker_processes  1;
 
#ssl硬件加速。
#用户可以用OpneSSL提供的命令来查看是否有ssl硬件加速设备:openssl engine -t
#ssl_engine device;
 
#守护进程(daemon)。是脱离终端在后台允许的进程。
#脱离终端是为了避免进程执行过程中的信息在任何终端上显示。
#这样一来,进程也不会被任何终端所产生的信息所打断。
##关闭守护进程的模式,之所以提供这种模式,是为了放便跟踪调试nginx。
#毕竟用gdb调试进程时最繁琐的就是如何继续跟进fork出的子进程了。
#用off关闭了master_proccess方式,就不会fork出worker子进程来处理请求,而是用master进程自身来处理请求。
#查看是否以守护进程的方式运行Nginx 默认是on 。
#daemon off;  
#是否以master/worker方式工作 默认是on。 
#master_process off; 
 
#error日志的设置
#语法: error_log /path/file level;
#默认: error_log / log/error.log error;
#当path/file 的值为 /dev/null时,这样就不会输出任何日志了,这也是关闭error日志的唯一手段;
#leve的取值范围是debug、info、notice、warn、error、crit、alert、emerg从左至右级别依次增大。
#当level的级别为error时,error、crit、alert、emerg级别的日志就都会输出。
#大于等于该级别会输出,小于该级别的不会输出。
#如果设定的日志级别是debug,则会输出所有的日志,这一数据量会很大。
#需要预先确保/path/file所在的磁盘有足够的磁盘空间。
#级别设定到debug,必须在configure时加入 --with-debug配置项。
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
 
#pid文件(master进程ID的pid文件存放路径)的路径
#pid        logs/nginx.pid;
 
 
events {
    #仅对指定的客户端输出debug级别的日志: 语法:debug_connection[IP|CIDR]
    #这个设置项实际上属于事件类配置,因此必须放在events{……}中才会生效。
    #它的值可以是IP地址或者是CIRD地址。
    #debug_connection 10.224.66.14; 
    #或是
    #debug_connection 10.224.57.0/24
    #这样,仅仅以上IP地址的请求才会输出debug级别的日志,其他请求仍然沿用error_log中配置的日志级别。
    #注意:在使用debug_connection前,需确保在执行configure时已经加入了--with-debug参数,否则不会生效。
    worker_connections  1024;
}
 
http {
    #参数既可以是绝对路径也可以是相对路径(相对于Nginx的配置目录,即nginx.conf所在的目录)
    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 {
        #listen监听的端口
        #default_server: 没有设置这个参数,将会以在nginx.conf中找到的第一个server块作为默认server块
        listen       80;
 
        #主机名称:其后可以跟多个主机名称,开始处理一个HTTP请求时,nginx会取出header头中的Host
        #与每个server中的server_name进行匹配,以此决定到底由那一个server来处理这个请求。
        #可能一个Host与多个server块中的server_name都匹配,这时会根据匹配优先级来选择实际处理的server块。
        #server_name与Host的匹配优先级见文末。
        server_name  localhost;
 
        #charset koi8-r;
 
        #access_log  logs/host.access.log  main;
 
        #location / {
        #    root   html;
        #    index  index.html index.htm;
        #}
 
        #注意:location时有顺序,一个请求有可能匹配多个location时,这个请求会被第一个location处理。
        location / {
	    proxy_pass http://127.0.0.1:8080;
        }
 
        #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;
        #}
    }
 
 
    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;
 
    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
 
 
    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;
 
    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;
 
    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;
 
    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;
 
    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}
 
}


支付宝支付
打赏
微信支付

联系我吧

有些人是会淡出你的生活的,有些人刻意不再联系,是因为你知道ta不需要你,或者从一开始就不是同一个初衷在一起度过,不主动联系很久也不见一次面,所有的感情也罢,都会败给时间和距离。因为时间是最无情,给你后悔的时刻却不会给你改过重来的机会。

位置

成都市 四川省 中国

联系电话

028-6406-0000

邮箱

y139w@163.com

企鹅

27572048

网址

https://www.weania.com