nginx配置文件详解

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

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

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

[root@localhost 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块 结束####


本文转自  亮公子  51CTO博客,原文链接:http://blog.51cto.com/iyull/1864387

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
10月前
|
存储 Ubuntu 应用服务中间件
【Nginx】centos和Ubuntu操作系统下载Nginx配置文件并启动Nginx服务详解
【Nginx】centos和Ubuntu操作系统下载Nginx配置文件并启动Nginx服务详解
149 1
|
5月前
|
缓存 负载均衡 应用服务中间件
nginx的配置文件详解
本文详细解释了nginx配置文件中的关键指令和区块,如http、server、location、upstream、events等,并通过一个示例配置文件展示了如何设置HTTP服务器、gzip压缩、反向代理、URL重写、错误页面和负载均衡等,强调了配置的灵活性和实际应用。
159 4
|
1月前
|
网络协议 前端开发 应用服务中间件
nginxconf.sh 自动生成 nginx tcp 转发配置文件 conf
该脚本由 eisc.cn 开发,用于自动生成 Nginx 代理配置。它根据预设的域名、IP 和端口信息,为多个项目(如 www、work、sou 等)创建对应的 Nginx 配置文件,设置前端转发、端口对端口及后端转发规则,并生成日志和 301 跳转配置。支持自动创建 CGI 解析目录,确保各项目能够正确访问。运行时需具备 root 权限或使用 sudo。
72 9
|
10月前
|
负载均衡 应用服务中间件 API
Nginx配置文件详解Nginx负载均衡Nginx静态配置Nginx反向代理
Nginx配置文件详解Nginx负载均衡Nginx静态配置Nginx反向代理
218 4
|
5月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
251 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
9月前
|
缓存 负载均衡 应用服务中间件
深入解析Nginx配置文件
Nginx是一个高性能HTTP服务器和反向代理,其配置文件`nginx.conf`包含全局、事件、HTTP、Server和Location块。全局块设置如用户和工作进程数,事件块设定连接数,HTTP块涉及MIME类型、日志和包含其他配置。Server块定义虚拟主机,Location块处理URI匹配。Nginx常用于反向代理和负载均衡,如`proxy_pass`指令转发请求至后端服务器组。理解这些配置有助于服务器优化和测试。
|
5月前
|
缓存 负载均衡 算法
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
Nginx 是一款高性能的 HTTP 和反向代理服务器,也是一个通用的 TCP/UDP 代理服务器,以及一个邮件代理服务器和通用的 HTTP 缓存服务器。
278 0
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
|
5月前
|
域名解析 网络协议 应用服务中间件
nginx server_name配置文件覆盖不生效
nginx server_name配置文件覆盖不生效
|
5月前
|
应用服务中间件 nginx
nginx 配置文件
nginx 配置文件
|
7月前
|
运维 应用服务中间件 网络安全
运维系列.Nginx配置文件结构功能总结
运维系列.Nginx配置文件结构功能总结
123 0
运维系列.Nginx配置文件结构功能总结