Nginx配置文件结构
来自个人博客
配置文件架子:
... #全局块
events { #events块
...
}
http #http块
{
... #http全局块
server #server块
{
... #server全局块
location [PATTERN] #location块
{
...
}
location [PATTERN]
{
...
}
}
server
{
...
}
... #http全局块
}
1)全局块
该部分配置主要影响Nginx全局,通常包括下面几个部分:
配置运行Nginx服务器用户(组)
worker process数
Nginx进程PID存放路径
错误日志的存放路径
配置文件的引入
2) events块
该部分配置主要影响Nginx服务器与用户的网络连接,主要包括:
设置网络连接的序列化
是否允许同时接收多个网络连接
事件驱动模型的选择
最大连接数的配置
3) http块
可以嵌套多个server 配置代理
定义MIMI-Type
自定义服务日志
允许sendfile方式传输文件
连接超时时间
单连接请求数上限
4)server块
配置虚拟主机的相关参数 一个http中可以有多个server
配置网络监听
基于名称的虚拟主机配置
基于IP的虚拟主机配置
5)location块
配置请求的路由,以及各种页面的处理情况
location配置
请求根目录配置
更改location的URI
网站默认首页配置
常见配置
#user nobody; #配置的用户或者组
#worker_processes 1; #允许生成的进程数
#pid /nginx/pid/nginx.pid; #nginx进程运行文件储存地址
error_log log/error.log debug; #日志路径与级别
#级别以此为:debug|info|notice|warn|error|crit|alert|emerg
events {
accept_mutex on; #设置网路连接序列化,防止惊群现象发生
multi_accept on; #设置一个进程是否同时接受多个网络连接
#use epoll; #事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
worker_connections 1024; #每个进程最大连接数
}
http {
include mime.types; #网络资源的媒体类型即前端请求的资源类型
default_type application/octet-stream; #默认文件类型
#access_log off; #取消服务日志
log_format myFormat '$remote_addr–$remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for'; #自定义格式
access_log log/access.log myFormat; #combined为日志格式的默认值
sendfile on; #允许sendfile方式传输文件
keepalive_timeout 65; #连接超时时间
error_page 404 /404.html; #错误页
server {
listen 80; #监听端口
server_name 127.0.0.1; #监听地址
location / {
proxy_pass http://xxx.xxx.xx.xx:8081; #代理地址及端口
}
}
}