参考
http://www.howtocn.org/nginx:directiveindex
http://blog.s135.com/

nginx 配置文档为 nginx.conf 比如我的配置文档 /usr/local/nginx/conf/nginx.conf

格式类似于下面,不要忘记在行尾添加分号(;),使用井号(#)来注释
.......;
events
{
.......;
}

http
{
.......;
   server
   {
   .......;
   }

server
   {
   .......;
   }
.......;
}

我的 nginx.conf

user nginx nginx;

#Nginx 进程运行的用户和组

worker_processes 4;

#Nginx 进程数(建议设定为cpu的总核数,比如我的i3 cpu)

error_log  logs/error.log error;

#定义错误日志,分别为[ debug | info | notice | warn | error | crit ]

pid        logs/nginx.pid;

#pid文件位置

worker_rlimit_nofile 65535;
#一个 nginx 进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit-n) 与 nginx 进程数相除,但是 nginx 分配请求并不是那么均匀,所以最好与 ulimit -n的值保持一致。

# use [ kqueue | rtsig | epoll | /dev/poll | select | poll ];
events
{
use epoll;

#使用epoll事件模型
worker_connections 65535;

#每个nginx进程的连接数(最大连接=连接数(65535) x 进程数(4))
}

http
{
include mime.types;

#文件扩展名与文件类型映射表
default_type application/octet-stream;

#默认文件类型
#charset gb2312;

#默认编码
server_names_hash_bucket_size 128;

#服务器名字的 hash 表大小
client_header_buffer_size 32k;

#上传文件大小限制
large_client_header_buffers 4 32k;

#指定客户端一些比较大的请求头使用的缓冲区数量和大小。
client_max_body_size 8m;

#指令指定允许客户端连接的最大请求实体大小
sendfile on;

#开启高效文件传输模式
tcp_nopush on;

#防止网络阻塞
tcp_nodelay on;

#防止网络阻塞
keepalive_timeout 60;

#客户端与服务器长连接的超时时间,超过这个时间,服务器将关闭连接
#fastcgi                                 
fastcgi_connect_timeout 300;

#指定连接到后端FastCGI的超时时间。
fastcgi_send_timeout 300;

#向FastCGI传送请求的超时时间,这个值是指已经完成两次握手后向FastCGI传送请求的超时时间。
fastcgi_read_timeout 300;

#接收FastCGI应答的超时时间,这个值是指已经完成两次握手后接收FastCGI应答的超时时间。
fastcgi_buffer_size 64k;

#这里可以设置为fastcgi_buffers指令指定的缓冲区大小。
fastcgi_buffers 4 64k;

#指定本地需要用多少和多大的缓冲区来缓冲FastCGI的应答
fastcgi_busy_buffers_size 128k;

#建议为fastcgi_buffers的两倍
fastcgi_temp_file_write_size 128k;

#在写入fastcgi_temp_path时将用多大的数据块,默认值是fastcgi_buffers的两倍,设置上述数值设置太小时若负载上来时可能报 502 Bad Gateway
#
gzip on;

#打开gzip压缩
gzip_min_length 1k;

#最小压缩文件大小
gzip_buffers 4 16k;

#压缩缓冲区
gzip_http_version 1.0;

#压缩版本
gzip_comp_level 2;

#压缩等级
gzip_types text/plain application/x-javascript text/css application/xml;

#压缩类型
gzip_vary on;

#启用应答头“Vary: Accept-Encoding”
#
include   vhosts/*.conf;

#含一些其他的配置文件来完成你想要的功能,比如我想把每个虚拟主机单独放在一个文件里
server                                           #虚拟主机的配置
{
        listen       80;

#被访问的ip地址及端口号,可以只指定一个ip,一个端口,或者一个可解析的服务器名
        server_name  localhost;

#服务器的基本名称,默认名称为机器的hostname,多域名用空格隔开
        root   /data/web;

#请求到达后的文件根目录,使用字段:http, server, location ,location中的if字段
        access_log  logs/host.access.log;

#为连接日志指定了路径,格式和缓冲区大小,如果没有指定日志格式,默认为“combined”
 
        location /

#根据URI的不同需求来进行配置,匹配任何以 / 开始的查询
        {
            index  index.html index.htm index.php;

#设置默认主页,以指定多个文件,如果第一个文件没有找到,将会查找后面指定的文件
        }
 
        #error_page  404              /404.html;

#为错误代码指定相应的错误页面
        error_page   500 502 503 504  /50x.html;
        
        location = /50x.html

#根据URI的不同需求来进行配置,= 精确的匹配,只匹配 / 的查询    
        {
            root   html;

#请求到达后的文件根目录,这个和上边的root功能相同,只是根目录文件夹不一样
        }

location ~* \.php$ {

#根据URI的不同需求来进行配置,~* 不区分大小写匹配任何以php结尾的文件
            root           /data/web;

#网页文件存放的根目录
            fastcgi_pass   127.0.0.1:9000;

#指定FastCGI服务器监听端口与地址
            #fastcgi_pass   192.168.56.10:9000;    #可以是本机或者其它fastcgi服务器。
            fastcgi_index  index.php;

#文件名将追加到URI后面,这个值将存储在变量$fastcgi_script_name中
            fastcgi_param  SCRIPT_FILENAME  /data/web$fastcgi_script_name;
            #指定一些传递到FastCGI服务器的参数,SCRIPT_FILENAME参数决定需要执行哪个脚本
            include        fastcgi_params;

#含一些其他的配置文件来完成你想要的功能,包括 fastcgi_params文件
        }
}

虚拟主机
nginx 可以配置多种类型的虚拟主机,1基于ip地址的虚拟主机,2基于域名的虚拟主机,3基于端口号的虚拟主机。
# another virtual host using mix of IP-, name-, and port-based configuration
#
server {
    listen       80;                              #端口号
    #listen      192.168.5.87:8080;               #Ip地址,这里加了端口号,也可以不加      
    server_name  somename  alias  another.alias;  #域名

location / {
        root   html;
        index  index.html index.htm;
    }
}

还可把它配置成 listen 80; 表示监听该服务器上的所有ip的 80端口,通过 server_name 来区分不同的虚拟主机。

include   vhosts/*.conf; include指令 载入多个虚拟主机配置文档这样很方便,如果直接把多个虚拟主机添加到nginx.conf上则会很乱。

每个vhost.conf 都包含一段 server{......},如果需要多个虚拟主机建立多个vhost*.conf 并写入 server{......}即可,比如下面这样。

# cat conf/vhosts/test.com.conf 
server    
{
        listen       80;
        server_name  test.com;
        root   /data/web2;
        access_log  logs/test.com.access.log;
 
        location / 
        {
            index  index.html index.htm index.php;
        }
        ................ #部分省略
}

nginx_笔记分享_配置篇的更多相关文章

  1. nginx_笔记分享_php-fpm详解

    参考 http://syre.blogbus.com/logs/20092011.htmlhttp://www.mike.org.cn/articles/what-is-cgi-fastcgi-php ...

  2. Spring学习笔记之AOP配置篇(一)

    [TOC] 1. 创建并声明一个切面 首先,创建一个类,添加@Component注解使其添加到IoC容器 然后,添加@Aspect注解,使其成为一个切面 最后,在配置文件里面,使用<aop:as ...

  3. ThinkPHP项目笔记之数据库配置篇

    对于配置文件,有几点说明 common:公共配置,也就是前台,后台,都可以调用的文件,具有普遍性 前台/后台:就是针对前后台的配置文件,具有针对性. 如:(公共文件基本配置) <?php ret ...

  4. 学习笔记_J2EE_SpringMVC_03_注解配置_@RequestMapping用法

    @RequestMappingde的用法 摘要: 主要介绍注解@RequestMapping的用法 一.@RequestMapping 简介 在Spring MVC 中使用 @RequestMappi ...

  5. C#面试题(转载) SQL Server 数据库基础笔记分享(下) SQL Server 数据库基础笔记分享(上) Asp.Net MVC4中的全局过滤器 C#语法——泛型的多种应用

    C#面试题(转载) 原文地址:100道C#面试题(.net开发人员必备)  https://blog.csdn.net/u013519551/article/details/51220841 1. . ...

  6. 无线安全专题_攻击篇--MAC泛洪攻击

    上一篇讲解了无线安全专题_攻击篇--干扰通信,没在首页待多长时间就被拿下了,看来之后不能只是讲解攻击实战,还要进行技术原理和防御方法的讲解.本篇讲解的是局域网内的MAC泛洪攻击,这种攻击方式主要目的是 ...

  7. 好程序员web前端分享HTML基础篇

    好程序员web前端分享HTML基础篇,最近遇到很多新手,都会问,如果要学web前端开发,需要学什么?难不难学啊?多久能入门之类的问题?那么今天好程序员就先来给大家分享一下web前端学习路线:HTML基 ...

  8. 《Kafka权威指南》读书笔记-操作系统调优篇

    <Kafka权威指南>读书笔记-操作系统调优篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 大部分Linux发行版默认的内核调优参数配置已经能够满足大多数应用程序的运 ...

  9. 1C课程笔记分享_StudyJams_2017

    课程1C 概述 课程1C是创建一个生日贺卡应用的实践课程,所以本篇笔记分享主要记录个人的实践过程,此外分享一些比较零散的知识点. Drawable文件夹 Drawable文件夹是Android项目统一 ...

随机推荐

  1. EMV卡复位应答的时间特性 ---ISO7816协议

    1.冷复位的时间特性 图1 如图1所示: T0为200clk 从T0结束到RST变为高电平为40000-45000个clock 从RST变为高电平后,卡片必须在400-40000个clock之间应答, ...

  2. SQL(二) 将一张表数据插入另外一张表

    INSERT INTO BaomingRelation ([BaomingID] ,[RelationNumber] ,[UserID] ,[Area]) SELECT BaomingID,NEWID ...

  3. oracle连接总结(内连接、外连接、自然连接,交叉连接,自连接)

    1.简述  1) 两个表的连接,是通过将一个表中的一列或者多列同另一个表中的列链接而建立起来的.用来连接两张表的表达式组成了连接条件.当连接成功后,第二张表中的数据就同第一张表连接起来了,并形成了复合 ...

  4. 给大家介绍款在线压缩JS的工具

    首先说下该工具的域名:http://javascriptcompressor.com/ 进入后界面如下: 具体要讲下它的功能点:在线压缩 Javascript 源码可以分不同的压缩级别:比如,一般情况 ...

  5. IT码农哥放弃50万年薪:辞职卖咖喱凉皮(背后深藏功与名)_互联网的一些事

    IT码农哥放弃50万年薪:辞职卖咖喱凉皮(背后深藏功与名)_互联网的一些事 IT码农哥放弃50万年薪:辞职卖咖喱凉皮(背后深藏功与名)

  6. 关于 IOS Runtime Runloop 2

    Runtime 也就是运行时组件,一个纯C语言写的基础库. 我们平时编写的OC代码中, 程序运行过程时, 其实最终都是转成了runtime的C语言代码 Objective-C编写出来的程序必须得到ru ...

  7. crontab定时执行任务

    第一部分 crontab介绍 每个操作系统都有它的自动定时启动程序的功能,Windows有它的任务计划,而Linux对应的功能是crontab. crontab简介 crontab命令常见于Unix和 ...

  8. HDU H204 阿牛的EOF牛肉串

    阿牛的EOF牛肉串 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  9. linux命令详解--tcpdump

    工作中一直在用tcpdump,感觉非常方便,今天心血来潮百度了一下tcpdump的用法,才发现原来还有这么多强大的功能自己都不知道,那叫一个汗啊. 以此文作为备份,记录一些新知道的用法,各位网友谁有新 ...

  10. 非对称加密算法RSA--转

    RSA     这种算法1978年就出现了,它是第一个既能用于数据加密也能用于数字签名的算法.它易于理解和操作,也很流行.算法的名字以发明者的名字命名:Ron Rivest, AdiShamir 和L ...