Nginx配置文件

Nginx配置文件组成部分

第一部分: 全局快

从配置文件开始到events块之间的内容,主要设置一些影响Nginx服务器整体运行的配置指令,主要包括配置运行Nginx服务器的用户(组)、允许生成的 worker_process数,进程PID存放路径、日志存放路径和类型以及配置文件的引入等。

第二部分: Events块

events块涉及的指令主要影响Nginx服务器与用户的网络连接,常用的设置包括是否开启对多worker_process下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个worker_process可以同时支持的最大连接数等。

第三部分: Http块

此部分为Nginx服务器配置中最频繁的部分,代理、缓存和日志自定义等绝大多数功能和第三方模块的配置都在这里,http块包括http全局快,server块

1.Http全局块

http全局快配置的指令包括文件引入,MIME-TYPE定义,日志自定义,连接超时时间,单链接请求数上限等。

2.Server块

此部分和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的硬件主机时完全一样的,该技术的产生是为了节约互联网服务器硬件成本。每个http块可以包括多个server块,每个server块就相当于一个虚拟主机。server块分为全局server块,以及可以同时包含多个location块

全局server块: 配置虚拟主机的相关参数

location块: 配置请求的路由,以及各种页面的处理情况

配置文件

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
worker_processes  2;	#允许生成的进程数
error_log logs/error.log info; #全局错误日志定义类型
pid /nginx-1.13.7/nginx.pid; #记录主进程ID的文件
worker_rlimit_nofile 65535;

events {
multi_accept on; #设置一个进程是否同时接受多个网络连接
worker_connections 666; #连接数上限,单个进程允许的最大连接数
}

#设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
include mime.types; #文件扩展名与文件类型映射表
default_type application/octet-stream; #默认文件类型,默认为text/plain
#access_log off; #取消服务日志
#日志格式
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 记录了哪些用户,哪些页面以及用户浏览器、ip和其他的访问信息
access_log log/access.log myFormat; #combined为日志格式的默认值

sendfile_max_chunk 100k; #每个进程每次调用传输数量的最大值
keepalive_timeout 75; #连接超时时间,默认为75s

upstream mysvr {
server 127.0.0.1:7878;
server 192.168.10.121:3333 backup; #热备
}
error_page 404 https://www.baidu.com; #错误页

server {
keepalive_requests 120; #单连接请求上限次数。
listen 80; #监听端口
server_name www.geekinns.cn; #监听地址(多个时用空格隔开)

location ~*^.+$ { #请求的url过滤
#root path; #根目录
#index vv.txt; #设置默认页
proxy_pass http://mysvr; #请求转向mysvr定义的服务器列表
deny 127.0.0.1; #拒绝的ip
allow 172.18.5.54; #允许的ip
}
}

# 以下为443端口配置(https)
server {
listen 443; #SSL的访问端口号为 443
server_name www.geekinns.cn; #填写绑定证书的域名
root /home/hexo; #你的站点目录

ssl_certificate /home/SSL/1_www.geekinns.cn_bundle.crt; #证书文件路径
ssl_certificate_key /home/SSL/2_www.geekinns.cn.key; #私钥文件路径
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用的协议
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; #配置加密套件
ssl_prefer_server_ciphers on;


#配置请求的路由,以及各种页面的处理情况
location / {
index index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
文章内容有误?立即反馈
2020 年 9 月 3 日巧用 LeanCloud 实现在线留言板功能
2020 年 8 月 27 日利用腾讯云 COS 存储 Hexo 静态文件
2020 年 3 月 9 日Hexo 网站部署到云服务器全流程