1.Nginx的功能模块说明
Nginx之所以强大,是因为有众多的模块,下面列出我们常用的模块(1) Nginx 核心功能模块负责 Nginx 的全局应用,主要对应主配置文件的 Main 区块和 Events 区块,这里有很多Nginx必须的全局参数配置。(2) Nginx 核心功能模块官网:http://nginx.org/en/docs/ngx_core_module.html
2.Nginx标准的http功能模块集合
下边这些都是标准http功能模块,虽不是Nginx必须的,但是都是很常见,因此,默认情况下都会自动安装的Nginx的软件中心,不建议擅自改动,除非你知道你在干什么。生产环境中的配置,调整,优化Nginx都是在这些模块中修改相应的参数来实现。ngx_http_core_module 包括一些核心的 http 参数配置,对应 Nginx 的配置为 HTTP 区块部分
ngx_http_access_module 访问控制模块,用来控制网站用户对 Nginx 的访问ngx_http_gzip_module 压缩模块,对 Nginx 返回的数据压缩,属于性能优化模块ngx_http_fastcgi_module FastCGI 模块,和动态应用相关的模块,如 PHPngx_http_proxy_module proxy 代理模块ngx_http_upstream_module 负载均衡模块,可实现网站的负载均衡和节点的健康检查ngx_http_rewrite_module URL 地址重写模块ngx_http_limit_conn_module 限制用户并发连接数以及请求数的模块ngx_http_limit_req_module 根据定义的 key 限制 Nginx 请求过程的速率ngx_http_log_module 访问日志模块,以指定的格式记录 Nginx 客户访问日志等信息ngx_http_auth_basic_module Web 认证模块,设置 Web 用户通过账号密码访问 Nginxngx_http_ssl_module ssl 模块,用于加密的 http 连接,如 httpsngx_http_stub_status_module 记录 Nginx 基本访问状态信息等的模块3..Nginx的目录机构说明
这个是Nginx安装后整体的目录结构,如果我们使用别的途径安装的,这里边会有些许的不一样。[root@localhost ~]# /www/server/nginx/conf
下边是使用tree conf
├── conf # Nginx所有配置文件的目录│ ├── fastcgi.conf # fastcgi相关参数的配置文件│ ├── fastcgi.conf.default # fastcgi.conf的原始备份文件│ ├── fastcgi_params # fastcgi的参数文件│ ├── fastcgi_params.default # 所有结尾为default的文件都是备份文件│ ├── koi-utf│ ├── koi-win│ ├── mime.types # 媒体类型│ ├── mime.types.default│ ├── nginx.conf # Nginx主配置文件│ ├── nginx.conf.default│ ├── scgi_params # scgi相关参数文件│ ├── scgi_params.default │ ├── uwsgi_params # uwsgi相关参数文件│ ├── uwsgi_params.default│ └── win-utf├── fastcgi_temp # fastcgi临时数据目录├── html # Nginx默认站点目录│ ├── 50x.html # 错误页面优雅替代显示文件,例如当出现502错误时会调用此页面│ └── index.html # 默认的首页文件├── logs # Nginx日志目录│ ├── access.log # 访问日志文件│ ├── error.log # 错误日志文件│ └── nginx.pid # pid文件,Nginx进程启动后,会把所有进程的ID号写到此文件├── proxy_temp # 临时目录├── sbin # Nginx命令目录│ └── nginx # Nginx的启动命令├── scgi_temp # 临时目录└── uwsgi_temp # 临时目录注释:MIME:互联网有很多不同的类型,Web服务器会通过web传输的每个对象都打上MIME类型。当web服务器相应http响应报文请求时,回味每一个HTTP对象数据加一个MIME类型。当web浏览器获取到服务器返回的对象时,回去查看相关的MIME类型,并进行相应处理。3.Nginx的主配置文件说明
Nginx的主配置文件nginx.conf是一个纯文本的文件,位于Nginx安装目录下的conf中,配置文件是以区块的形式组织的。每个区块以{}表示,区块有多个层次,整个配置文件中,main位置最上层,main下边有events区,http区等层级,在http层级中有包含一个或者多个server区,每个server区中有可能有多个或者一个location去。主体框架:====================================================== #Main区块,Nginx核心功能模块 user nobody # 定义nginx运行的用户和用户组 worker_processes 1; #Nginx进程数,建议设置为等于CPU总核心数或者2倍的CPU error_log logs/error.log;注释:日志级别分为debug,info,notice,warn,error,crit。debug显示信息最多,常用的error。常见502的频繁出现,可以把日志调成error。pid logs/nginx.pid; #进程ID,这个在打开Nginx的时候,会默认生成。worker_rlimit_nofile 204800;=======================================================
# events区块,Nginx核心功能模块
events{ use epoll;worker_connections 65535;
keepalive_timeout 60;
client_header_buffer_size 4k;
open_file_cache max=65535 inactive=60s;
open_file_cache_valid 80s;
open_file_cache_min_uses 1;
open_file_cache_errors on;}这些是常见的一些配置,默认一般不需要修改,在调优的时候可以修改=======================================================#HTTP区块,Nginx http核心模块http
{ include mime.types;default_type application/octet-stream;
server_names_hash_bucket_size 512;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50m;
sendfile on;
autoindex on;
tcp_nopush on;
tcp_nodelay on;keepalive_timeout 60;
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;server_tokens off;
access_log off;server
{ listen 888; server_name www.ceshi.cn; index index.html index.htm index.php; root /www/server/phpmyadmin;location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{ expires 30d; }location ~ .*\.(js|css)?$
{ expires 12h; }location ~ /\.
{ deny all; }access_log /www/wwwlogs/access.log;
}include /www/server/panel/vhost/nginx/*.conf;}此处只是列出个常见的配置情况,在一般企业中,还会有多主机配置,以及负载均衡配置。我会在接下来工作中写出