通过Nginx主配置文件来理解各项组件功能

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

    Nginx功能非常强大,仅仅是通过主配置文件nginx.conf的使用就可以体现出来,为了方便学习和查漏,将其主配置文件的完整内容列出来,并加上个人的一些理解以作为笔记,从而去加深记忆。




1.Nginx主配置文件与说明


    如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#user  nobody;
# ====================================Main区==================================== #
# Main区为Nginx核心功能模块
worker_processes  1;     # worker进程的数量
 
#error_log  logs/error.log;            # Nginx错误日志配
#error_log  logs/error.log  notice;    # notice, info为错误日志级别
#error_log  logs/error.log  info;      # 一般使用warn|error|crit这三个级别
 
#pid        logs/nginx.pid;
# ====================================Main区==================================== #
 
 
# ====================================events区==================================== #
# events区为Nginx核心功能模块
events {
     worker_connections  1024;     # 每个worker进程支持的最大连接数
}
# ====================================events区==================================== #
 
 
# ====================================HTTP区==================================== #
# http区为Nginx核心功能模块
http {
     include       mime.types;     # Nginx支持的媒体类型库文件
     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 {                     # server区块,表示一个独立的虚拟主机站点
         listen       80;         # 提供服务的端口
         server_name  localhost;  # 提供服务的域名主机名
 
         #charset koi8-r;
 
         #access_log  logs/host.access.log  main;
 
         location / {             # location区块
             root   html;         # 站点的根目录,相当于Nginx的安装目录
             index  index.html index.htm;     # 默认的首页文件,多个用空格分开
         }
     # [扩展功能1:实现Nginx status] #
     ##status
server{
     listen 80;
     server_name status.etiantian.org;
     location / {
       stub_status on;
       access_log off;
     }
  }
     # [扩展功能1:实现Nginx status] #
 
         #error_page  404              /404.html;
 
         # redirect server error pages to the static page /50x.html
         #
         error_page   500 502 503 504   /50x .html;     # 出现对应的http状态码时,使用50x.html回应客户
         location =  /50x .html {         # location区块,访问50x.html
             root   html;               # 指定对应的站点目录为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;
     #    }
     #}
 
}
# ====================================HTTP区==================================== #




2.下一步要做什么


    持续更新本博文,并在用中加深学习和理解。




本文转自 xpleaf 51CTO博客,原文链接:http://blog.51cto.com/xpleaf/1901503,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
25天前
|
缓存 负载均衡 应用服务中间件
nginx的配置文件详解
本文详细解释了nginx配置文件中的关键指令和区块,如http、server、location、upstream、events等,并通过一个示例配置文件展示了如何设置HTTP服务器、gzip压缩、反向代理、URL重写、错误页面和负载均衡等,强调了配置的灵活性和实际应用。
32 4
|
20天前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
87 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
17天前
|
缓存 负载均衡 算法
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
Nginx 是一款高性能的 HTTP 和反向代理服务器,也是一个通用的 TCP/UDP 代理服务器,以及一个邮件代理服务器和通用的 HTTP 缓存服务器。
29 0
nginx学习:配置文件详解,负载均衡三种算法学习,上接nginx实操篇
|
24天前
|
域名解析 网络协议 应用服务中间件
nginx server_name配置文件覆盖不生效
nginx server_name配置文件覆盖不生效
|
24天前
|
应用服务中间件 nginx
nginx 配置文件
nginx 配置文件
|
1月前
|
负载均衡 安全 应用服务中间件
nginx的强大功能和如何使用?
nginx的强大功能和如何使用?
43 2
|
25天前
|
NoSQL 网络协议 应用服务中间件
redis,memcached,nginx网络组件
redis,memcached,nginx网络组件
14 0
|
25天前
|
存储 应用服务中间件 nginx
nginx数据结构组件二
nginx数据结构组件二
24 0
|
3月前
|
运维 算法 应用服务中间件
运维系列.Nginx中使用HTTP压缩功能(一)
运维系列.Nginx中使用HTTP压缩功能(一)
58 1
|
3月前
|
运维 应用服务中间件 网络安全
运维系列.Nginx配置文件结构功能总结
运维系列.Nginx配置文件结构功能总结
56 0
运维系列.Nginx配置文件结构功能总结