zoukankan      html  css  js  c++  java
  • nginx配置详解

    nginx.conf配置详解:

    全局配置:

    user  nginx;        #运行用户

    worker_processes 4;        #工作进程数,通常等于CPU数量或者核心数(-1)

    error_log /var/logs/nginx/error.log crit;        #错误日志位置和级别

    pid /var/run/nginx.pid;        #pid(进程标识符)存放位置

    worker_rlimit_nofile 51200;        #一个worker进程打开的最大文件数

    #这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。
    #现在在Linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535。
    #这是因为nginx调度时分配请求到进程并不是那么的均衡,所以假如填写10240,总并发量达到3-4万时就有进程可能超过10240了,这时会返回502错误。

     
    events段:控制nginx性能
    events
              {
                      use epoll;        #epoll的I/O 模型
                      worker_connections 51200;        #每个worker进程的最大链接数,默认为1024
              }

     
    http端:http请求和处理
     
    http
              {
                      include       mime.types;        #设定mime类型,类型由mime.type文件定义
                      default_type  application/octet-stream;        #属于nginx的核心模块命令,这里默认类型为二进制流,也就是当文件类型未定义时使用这种方式
                      client_header_buffer_size 32k;        #客户端请求头部的缓冲区大小
                      large_client_header_buffers 4 32k;      #用来指定客户端请求中较大的消息头的缓存最大数量和大小, 4为个数,32k为大小
                      client_max_body_size 50m;        #设定允许客户端请求的最大单个文件字节数
                      sendfile on;        #开启sendfile
                      server_tokens off;        #隐藏版本信息
                      tcp_nopush     on;        #在一个数据包里发送所有头文件,而不一个接一个的发送
                      keepalive_timeout 120;        #keepalive超时时间
                      tcp_nodelay on;        #不要缓存数据,而是一段一段的发送--当需要及时发送数据时,就应该给应用设置这个属性
                      gzip on;      #开启文件压缩
                      gzip_min_length  1k;       #要指定要压缩页面的最小字节数,页面字节数从header头的Content_Length中获取。默认值为0字节,不管页面多大都进行压缩

         gzip_buffers 4 16k;        #表示申请4个单位为16kb的内存作为压缩结果流缓存,默认是申请与原始数据大小相同的内存空间来存储GZIP的压缩效果
         gzip_http_version 1.0;        #用于设置识别HTTP协议版本,默认是1,1

         gzip_comp_level 3;        #设置压缩比
                      gzip_types       text/plain application/x-javascript text/css application/xml;      #用来指定压缩的类型,无论是否指定,"text/html"类型总是被压缩
                      log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
                             '$status $body_bytes_sent "$http_referer" '
                             '"$http_user_agent" $http_x_forwarded_for';
     
    #日志格式设置。
    #$remote_addr与$http_x_forwarded_for用以记录客户端的ip地址;
    #$remote_user:用来记录客户端用户名称;
    #$time_local: 用来记录访问时间与时区;
    #$request: 用来记录请求的url与http协议;
    #$status: 用来记录请求状态;成功是200,
    #$body_bytes_sent :记录发送给客户端文件主体内容大小;
    #$http_referer:用来记录从那个页面链接访问过来的;
    #$http_user_agent:记录客户浏览器的相关信息;
     
     
      include host/*.host;        #导入其他配置文件
      }

    host目录下可以放各个站点的server
    vim ./host/www.xxx.com
     server
    {
             listen 80;        #监听80端口
             server_name www.xxx.com;      #域名
             root /data/web/wordpress;        #根目录
             index index.php index.html;        #默认首页
             error_page 404 http://promotion.alicdn.com/help/oss/error.html;        #404页面,这里是淘宝的公益页面
             access_log /data/logs/nginx/www.access.log;        #定义该站点的访问日志存放位置;日志格式在http端已经定义过了
       charset utf-8;        #设置网页的默认编码格式
            location ~ .php$        #定义一个location,以.php结尾的文件转交给PHP解析
       {
                    include fastcgi-php5.5.conf;
            }
     
      location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$ 
      {
        root  /data/web/image.xxx.com;
        expires  30d;    #用来指定静态文件的过期时间,这里是30天
      }
    }

    这样配置比较简洁;
  • 相关阅读:
    There is an overlap in the region chain修复
    There is an overlap in the region chain
    region xx not deployed on any region server
    python 中的re模块,正则表达式
    TCP粘包问题解析与解决
    yield from
    Git push提交时报错Permission denied(publickey)...Please make sure you have the correct access rights and the repository exists.
    mysql 中Varchar 与char的区别
    Mysql 字符集及排序规则
    请实现一个装饰器,限制该函数被调用的频率,如10秒一次
  • 原文地址:https://www.cnblogs.com/52py/p/7420690.html
Copyright © 2011-2022 走看看