要学习Nginx,了解配置文件是必须的。
Nginx配置文件由指令组成。指令分为简单指令和块指令。简单的指令由名称和参数组成,以空格分隔,以分号结尾(;)。块指令具有与简单指令相同的结构,但它以一组由大括号包围的附加指令结束,而不是分号({和})。如果块指令可以在大括号中包含其他指令,则称为上下文(例如:events, http, server,location等)。
配置文件中放置在任何上下文之外的指令称为主上下文。#
表示单行注释。配置结构示意如下:
# 全局块
...
# events块
events {
...
}
# http块
http {
# http全局块
...
# server块
server {
# server全局块
....
# location块
location ... {
...
}
...
}
...
}
各模块功能:
# nginx进程使用的用户
user nobody nobody;
# 允许的worker进程数量
worker_processes 1;
# error日志配置, notice和info表示日志等级,依次为:debug|info|notice|warn|error|crit|alert|emerg
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
# 进程pid文件
#pid logs/nginx.pid;
# 网络连接相关
events {
# 每个worker进程可处理的连接数量
worker_connections 1024;
# 设置网路连接序列化,防止惊群现象发生,默认为on
accept_mutex on;
# 设置一个进程是否同时接受多个网络连接,默认为off
multi_accept on;
# 事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
#use epoll;
}
# http块
http {
# 引入文件mime类型表
include mime.types;
# 默认返回的mime类型
default_type application/octet-stream;
# 定义一种日志格式,main为格式名称
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
# 全局访问日志配置,mian为要使用的格式名称
access_log logs/access.log main;
# 是否开启sendfile
sendfile on;
# 连接超时时间,单位秒
keepalive_timeout 65;
# 是否开启gzip
gzip on;
# server块
server {
# 监听的端口号
listen 80;
# 监听的地址或者域名,多个之间用空格隔开
server_name localhost;
# 编码设置
#charset koi8-r;
# 单独访问日志配置
#access_log logs/localhost.access.log main;
# location块
location / {
# 根目录
root html;
# 默认页面
index index.html index.htm;
}
# 错误页面配置,404为错误码
#error_page 404 /404.html;
# 错误页面配置
error_page 500 502 503 504 /50x.html;
}
}
具体的指令说明可以查看文章末尾的参考文档:nginx核心模块。
本文标签: Nginx
暂无评论,赶紧发表一下你的看法吧。