【Nginx】基本配置入门

来源:互联网 发布:c语言中-76绝对值 编辑:程序博客网 时间:2024/05/06 14:28

配置示例

#用户和分组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;     }