博客:http://lijinhuan.blog.51cto.com/

微博:http://weibo.com/lijinhuanexperience

代码:https://github.com/lijinhuan

有很多模块,重点是下面三个模块,主要是其配置

一、内核模块(coreModule)

1、主要是nginx.conf的顶层,根部,也就是配置开始部分

2、命令说明

(1)daemon:生产环境不需要改,默认为on,如果是off则启动nginx会运行在前台

(2)env:环境变量重新定时,一般不需要设置

(3)debug_points:激化所有设置的调试点

(4)error_log:错误日志(包括FastCGI)文件指定,需要设置,可以在http,server,location设置。如

error_log  /home/wwwlogs/nginx_error.log  crit;

日志级别(debug,info,notice,warn,error,crit)debug最详细,crit报告关键错误

关闭方式:error_log  /dev/null  crit;不要写成error_log off;会放到off文件去

(5)include:包含文件,如include vhost/*.conf;表示包含当前nginx.conf所在目录下的vhost目录下的所有文件

(6)lock_file:关于异步互斥,锁的问题,一般不需要指定

(7)master_process:默认为on,表示使用一个master多个worker方式,不要设置

(8)pid:设置nginx的pid文件,可设置,如pid /usr/local/nginx/logs/nginx.pid;然后可以使用kill来杀死进程

(9)ssl_engine:无视,设置想要的openssl引擎

(10)timer_resolution:无视,设置系统调用时间

(11)user:默认使用nobody组运行,可以设置

(12)worker_rlimit_nofile:一个worker可以同时处理的文件数量

(13)worker_processes:默认值是1,cup使用率较高的时候,可以把其设置为cpu的核数一致

3、配置实例

user  nobody;

worker_processes  12;

error_log  logs/error.log;

pid        logs/nginx.pid;

二、事件模块(eventsModule)

1、配置实例

events

{

use epoll;

worker_connections 51200;

}

2、事件指令只能在events区域配置

(1)accept_mutex_delay:如果一个工作进程没有互斥锁,那么将会在这个值后回收

(2)debug_connection:记录网段,产生debug信息

(3)worker_connections:设置每个work进程所能处理的连接数

最大客户端连接数 = worker_connections * master_process

反向代理最大客户端连接数 = worker_connections/4 * master_process

(4)use : 使用的时间驱动类型

dev/poll

epoll 基于linux2.6+下的有效模型

eventport

kquque

rtsig

select

poll

(5)multi_accept:默认为off;是否立即接收所有监听队列进入的链接,高并发设置为on

(6)accept_mutex

(7)accept_mutex_delay

三、http内核模块(HttpCoreModule)

1、配置实例

http {

server_tokens off;

include       mime.types;

default_type  application/octet-stream;

log_format  main  '$remote_addr $http_host $upstream_addr [$time_local] $request '

'"$status" $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for" "$request_time"';

access_log  logs/access.log  main;

sendfile        on;

tcp_nopush     on;

tcp_nodelay    on;

keepalive_timeout  0;

#    limit_zone   one  $binary_remote_addr  10m;

#    limit_req_zone $binary_remote_addr zone=two:10m  rate=1r/s;

gzip  on;

gzip_types text/css text/xml application/xml text/javascript application/x-javascript 'text/html; charset=UTF-8';

gzip_min_length     1k;

gzip_disable        msie6;

gzip_comp_level     9;

gzip_vary           on;

upstream fastcgi_cluster {

server unix:/dev/shm/php.socket;

}

log_format  www.test.com  '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" $http_x_forwarded_for';

server

{

listen       80;

server_name www.test.com test.com;

index index.html index.htm index.php default.html default.htm default.php;

root  /home/wwwroot/www.test.com;

rewrite ^([^\.]*)/continent-(\d)+\.html$ $1/index.php?action=Index&do=Continent&id=$2 last;

location ~ .*\.(php|php5)?$

{

try_files $uri =404;

fastcgi_pass  unix:/tmp/php-cgi.sock;

fastcgi_index index.php;

include fcgi.conf;

}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

{

expires      30d;

}

location ~ .*\.(js|css)?$

{

expires      12h;

}

access_log  /home/wwwlogs/www.test.com.log  www.test.com;

}

server

{

location /{

.....

}

}

}

2、指令,若不说名则表示在http,server,location段都可以使用

(1)client_body_timeout : 设置读取超时,http,server段

(2)client_max_body_size:接收客户端请求体的最大值,默认1M,如果要上传可能要修改

(3)default_type : 默认的MIME类型,默认text/plain

(4)error_page : 配置错误页,也可以指定传递location

(5)internal : 指示命令,只能内部请求

(6)keepalive_timeout : 客户端连接超时时间,默认75

(7)keepalive_requests : 服务器能保持的活跃连接数(重要,高并发长连接可以调高),默认是100

http://qa.blog.163.com/blog/static/19014700220134771052763/

(8)limit_rate:用于限制流量

(9)listen : server段,指定ip或者端口

(10)location:server段,根据uri配置访问,~区分大小写匹配,~*不区分大小写匹配

(11)root : 指定一个根文档目录

(12)send_timeout:默认是60,nginx会关闭一个不活跃的链接

(13)sendfile : 默认是off,是否使用sendfile()可以设置为on

(14)server : http段,用于配置虚拟主机

(15)server_name : server段,机器名

(16)server_tokens : 是否在错误页或者响应头显示nginx版本号,默认为on,需要改为off

(17)tcp_nodelay:对keep_alive链接有效,默认为on

(18)tcp_nodelay : 在使用sendfile时有效,默认为off

(19)try_files,server,location段,检测文件存在性,不存在指定到内部错误提示

转载于:https://blog.51cto.com/lijinhuan/1582964

一、nginx基本模块以及模块配置相关推荐

  1. nginx图片过滤处理模块http_image_filter_module安装配置笔记

    http_image_filter_module是nginx提供的集成图片处理模块,支持nginx-0.7.54以后的版本,在网站访问量不是很高磁盘有限不想生成多余的图片文件的前提下可,就可以用它实时 ...

  2. Linux九阴真经之大伏魔拳残卷4 nginx(模型,安装配置,模块)

    I/O模型 1  .同步/异步:关注的是消息通信机制 (既被调用用者是否返回消息) 同步:synchronous,调用者等待被调用者返回消息,才能继续执行 (被调用者完成任务也不通知调用者,调用者需 ...

  3. nginx详细文档 – 安装配置,深入源码,模块编写,编译器参数,系统函数

    nginx文档 吴东 April 28, 2009 Contents 1前言 5 2基本配置 7 2.1安装------- 7 2.2配置说明------. 10 2.3启动和控制------ 25 ...

  4. 宝塔Nginx环境安装pagespeed模块加速网站以及配置WebP格式图片加速方法

    宝塔面板下为nginx安装ngx_pagespeed模块并配置WebP图片加速的方法,理论上非宝塔环境也适用,加模块使用命令行进行编译即可 网站图片太多,服务器带宽和线路不能动的前提下,对图片进行优化 ...

  5. Linux的Nginx七:对比|模块

    对比 1.并发 Apache提供了几百个模块,模块就意味着功能,但作为一个Apache服务器最多只有2000多的并发量,Nginx提供的模块也就几十个,但他却可以提供20000的并放量. 2.异步 N ...

  6. Linux的Nginx四:功能|模块

    一.功能 基本HTTP功能 a)提供静态文件和index文件,处理静态文件,索引文件以及自动索引,打开文件描述符缓存: b)使用缓存加速反向代理,反向代理加速(无缓存),简单的负载均衡和容错: c)使 ...

  7. nginx图片过滤处理模块http_image_filter_module

    http_p_w_picpath_filter_module是nginx提供的集成图片处理模块,支持nginx-0.7.54以后的版本,在网站访问量不是很高磁盘有限不想生成多余的图片文件的前提下可,就 ...

  8. nginx源码分析—模块及其初始化

    Content 0. 序 1. nginx有哪些模块? 2. nginx如何描述这些模块? 2.1 模块数据结构 2.1.1 ngx_module_t结构 2.1.2 ngx_command_t结构 ...

  9. nginx: 编写简单handler模块

    1.ubuntu安装nginx服务 (1)安装依赖库: 安装gcc g++的依赖库 apt-get install build-essential apt-get install libtool安装p ...

  10. 源码编译更新nginx到最新版本,并开始nginx支持http2协议模块.

    最近因为迁移公司vm上的代码,遇到一些问题.有一台vm配置了https协议,原以为迁移安全证书以后,配置nginx就可以了,但是修改nginx配置文件以后,执行 nginx -t 命令后,报如下错误: ...

最新文章

  1. 地铁客流检测训练问题记录
  2. 小程序入门到精通(二):了解小程序开发4个重要文件
  3. 二叉树——求先序排列(洛谷 P1030)
  4. 好分数阅卷3.0_四川自考阅卷会为了控制通过率故意压分吗?考不过怎么办?
  5. pyspark--dataframe使用
  6. ConnectivityManager
  7. python输入生日输出星座_怎么利用python输出星座
  8. 详细介绍借助Docker Hub访问gcr.io镜像
  9. 布兰迪斯大学计算机美国大学排名,布兰迪斯大学排名
  10. 波动率曲面(完整版)
  11. LeetCode github集合,附CMU大神整理笔记
  12. hexo 利用 Markdown 语法画 mermaid 流程图
  13. 永信至诚科创板上市:市值28亿 ​奇安信曾是第三大股东
  14. springboot-EasyExcel
  15. 三大原创IP首次合体亮相 乐元素聚乐中国“网络文学+ ”大会
  16. html5+Css3 做一个婚纱网页
  17. excel内容拆分怎么做?
  18. 让Windows XP启动更快
  19. 分享:kiftd账户设置及权限分配详细教程
  20. 只能爬到小图怎么办?如何通过一张小图获得大图

热门文章

  1. 将Windows下的InfluxDB、Grafana做成Windows服务
  2. 3分钟解决MySQL 1032 主从错误(转)
  3. Django Bakend--后台管理插件开发-01
  4. Why gdb crash if create too many threads ?
  5. alpha事后诸葛亮
  6. [Tkinter 教程] 布局管理 (Pack Place Grid)
  7. GNU Radio的hello world(转)
  8. JVM 1.类的加载、连接、初始化
  9. [游戏模版15] Win32 飞机射击
  10. java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener