现在的位置: 首页 > 综合 > 正文

【Nginx】基本配置入门

2014年01月10日 ⁄ 综合 ⁄ 共 2545字 ⁄ 字号 评论关闭

配置示例

#用户和分组
user www www;
#指定工作衍生进程数(一般等于CPU的总核数或总核数的两倍)
worker_processes 4;
#指定错误日志的存放路径,日志级别选项:[debug|info|notice|warn|error|crit]
error_log /data/local/logs/nginx_error.log crit;
#pid存放路径
pid /usr/local/webserver/nginx/nginx.pid;
#指定文件描述符数量
worker_rlimit_nofile 51200;
events
{
   #使用网络I/O模型,Linux采用epoll,FreeBSD使用kqueue
   use epoll;
   #允许的连接数
   worker_connections 51200; 
}
http
{
    include mime.types;
#指定为MIME类型 
    default_type application/octet-stream;#任意二进制文件,更多类型参见http://baike.baidu.com/link?url=xogz2-UszRBYWARYEEdVYxW9xHDRZJ_SseuOhpnUhiy0XfMlIWi41TyAtcJDOxN3
    #设置使用的字符集,若一个网站有多中字符集,不要随便设置,应在html中通过meta设定 
    #charset gb2312;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 432k;
    #设置客户端能够上传的文件大小
    client_max_body_size 8m;
    #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件
    #对于普通应用,必须设为 on,
    #如果用来进行下载等应用磁盘IO重负载应用源码天空,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
    sendfile on;
    tcp_nopush on;
    keepalive_timeout 60;
    tcp_nodelay oon;
    gzip on;#开启压缩http返回数据
    gzip_min_lenght 1k;
    gzip_buffers 416k;
    gzip_http_version 1.1;
    server
    {
      .....
    }
}

虚拟机

    虚拟机:把一台运行在因特网上的服务器分成一台台“虚拟”的主机,每台虚拟主机可以是独立的网站,可以有独立的域名,具有完整的Internet服务器功能,同一台机器上的虚拟机之间是完全独立的。
http
{
   server
   {
       listen 80 default;
       #可以是域名或ip
       server_name _ *;
       #访问日志存放的路径以及日志格式
       access_log logs/default.access.log combined
       location / {
           #默认首页文件,从左到右
           index index.html index.htm;
           #网页文件存放的位置
           root /data/html/doc
       }
   }
}

nginx日志文件与切割

    与Nginx日志相关的指令:log_format,设置日志的格式和access_log,指定日志文件的存放路径、格式和缓存大小。
    log_format设置日志格式:log_format name format [format ...]
    log_format有一个默认的,无序设置的combined日志格式。$remote_addr和$http_x_forwarded_for用于记录Ip地址,区别在于如nginx位于反向代理之后,$remote_addr无法直接获取,$http_x_forwarded_for则可以。$time_local记录访问时间和时区。
    access_log指定日志文件存放路径:access_log path [format [buffer=size| off]]
    path日志文件路径,format使用log_format指定的日志格式名称。buffer=size设置内存换从去大小,例如buffer=32k。若不想记录日志,access_log off;

Nginx的自动列目录配置

    一些开源软件的下载页面是能够自动列目录的,nginx可以实现,前提是当前目录下不存在用Index指令设置的默认首页文件。
 location / {
        autoindex on;
        autoindex_exact_size [on|off];#设定索引时文件大小的单位(B,KB,MB或GB)
        auto_index_localtime [on|off];#开启以本地时间来显示文件时间的功能。
         
    }

Nginx的本地缓存

    浏览器在用户磁盘上对最近请求过的文档进行存储,当再次访问这个页面时,浏览器从本地显示文档,这样加速页面的阅览,以节约网络资源,提高网络的效率。
    浏览器通过expires指令输出header头来实现。expires [time|epoch|max|off]
     默认值为expires off;作用域:http,server,location。用途:使用本指令可以控制HTTP应答中的"expires"和"Cache-Control"的header头信息(起到控制页面缓存的作用)。

    可在time值中使用整数或负数,expires头标的值将通过当前系统时间+设定的time值获得。
    epoch:指定expires为1970-01-01 00:00:00 GMT
    max:指定expires的值为2037-12-31 23:59:59 GMT,cache-control的值为10年,-1指定expires的值为当前时间-1秒,即永远过期。
    Cache-Control:的值由设定的时间来决定。取负数,Cache-Control:no-cache。整数或0,Cache-Control:max-age=设定的时间。
    off表示不修改expires和Cache-Control的值。
location ~ .*\*(gif|jpg|jpeg|png|bmp|swf)$
     {
         expires 20d;
         #expires 1h;
     }

 

 

抱歉!评论已关闭.