Nginx服务器配置文件完全解析_nginx

user www www; // 使用的用户和组

worker_processes 8; // 指定的工作衍生进程数(一般等于cpu总核数或总核数的2倍)

error_log logs/nginx_error.log crit; // 指定错误日志存放的路径,错误日志记录级别分别选项为:debug,info,notice,warn,error,crit 

#error_log logs/error.log;

#error_log logs/error.log notice;

#error_log logs/error.log info;

pid     nginx.pid; // 指定pid文件存放的路径

#pid    logs/nginx.pid;

worker_rlimit_nofile 65535; // 一个nginx进程打开的最多文件描述符数目,理论值是最多打开的文件数(系统ulimit -n)与nginx进程数相除,但是nginx分配请求并不均匀,所以在这里建议和ulimit 值保持一致

events {

  use  epoll; // 使用网络I/O模型,Linux系统推荐采用epoll模型,FreeBSD系统推荐采用kqueue模型

  worker_connections 51200; // 允许的连接数
}

# 设定http服务器,利用它的反向代理功能提供负载均衡支持
http {

  include    mime.types; // 设定mime类型,类型由mime.type文件定义
  default_type application/octet-stream;

  charset utf-8; // 设置使用的字符集,如果一个网站有多种字符集,请不要随便设置,应该让程序员在HTML代码中通过Meta标签设置

  ssi on; // 页面静态化的一个大问题是登陆用户访问如果静态化,大部分页面内容需要缓存但是用户登陆的个人信息是动态的,ssi用来解决页面部分缓存问题

  ssi_silent_errors on; // 默认是off,开启后在处理SSI文件出错时不输出错误提示:"[an error occurred while processing the directive]"

  ssi_types text/shtml; // 默认是ssi_types text/html,所以如果需要htm和html支持,则不需要设置这句,如果需要shtml支持,则需要设置

  #log_format main '$remote_addr - $remote_user [$time_local] "$request" '

  #         '$status $body_bytes_sent "$http_referer" '

  #         '"$http_user_agent" "$http_x_forwarded_for"';

  #access_log logs/access.log main;

  # 开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载,如果图片显示不正常把这个改成off
  sendfile    on;

  #tcp_nopush   on; // 防止网络阻塞

  #tcp_nodelay on;

  # autoindex off; // 开启目录列表访问,合适下载服务器,默认关闭

  server_names_hash_bucket_size 128; // 服务器名字的hash表大小

  client_header_buffer_size 32k; // 上传文件大小限制

  large_client_header_buffers 4 32k; // 设定请求缓存

  client_max_body_size 300m; // 设定请求缓存

  # (与php-fpm有关) 优化的上传支持,可以加速对大POST 请求的处理速度,包括文件上传。优化是通过将请求体已写入一个临时文件,然后fastcgi 协议传递文件名而不是请求体到来实现的
  client_body_in_file_only clean;

  client_body_temp_path /dev/shm 1 2;

  # 这个参数设置比较大时,使用firefox或ie提交一个小于512K的图片访问都会正常,注释改指令模式大小是操作系统页面大小的两倍,8K或16K ,一般提交的图片大于512K,提交的内容会写入到临时的文件,不会出现任何问题。当取消了目录访问权限(autoindex off;),如果提交的图片大于512K 都会返回500 Internal Server Error错误
  client_body_buffer_size 512k;

  proxy_connect_timeout  5; // 后端服务器连接的超时时间_发起握手等候响应超时时间(代理连接超时)

  proxy_read_timeout    60; // 连接成功后_等候后端服务器响应时间_其实已经进入后端的排队之中等候处理(后端服务器处理请求的时间)

  proxy_send_timeout    5; // 后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据

  proxy_buffer_size    16k; // 该指令设置缓冲区大小,从代理后端服务器取得的第一部分的响应内容,会放到这里,小的响应header通常位于这部分响应内容里边.(保存用户头信息的缓冲区大小)

  proxy_buffers      4 64k; // 该指令设置缓冲区的大小和数量,从被代理的后端服务器取得的响应内容,会放置到这里. 默认情况下,一个缓冲区的大小等于内存页面大小,可能是4K也可能是8K,这取决于平台

  proxy_busy_buffers_size 128k; // 有处在busy状态的buffer size加起来不能超过proxy_busy_buffers_size,控制同时传输到客户端的buffer数量的

  proxy_temp_file_write_size 128k; // # 临时文件写入大小

  # nginx和cgi之间的超时时间
  fastcgi_connect_timeout 90;
  fastcgi_send_timeout 90;
  fastcgi_read_timeout 90;
  fastcgi_buffer_size 64k;
  fastcgi_buffers 4 64k;
  fastcgi_busy_buffers_size 128k;
  fastcgi_temp_file_write_size 128k;

  # 开启gzip压缩
  gzip on;
  gzip_min_length 1k;
  gzip_buffers   4 16k;
  # 对http/1.1协议的请求才会进行压缩,如果使用了反向代理,那么nginx和后端的upstream server服务器是使用的1.0协议通信
  gzip_http_version 1.1;
  gzip_comp_level 9;
  gzip_types    text/plain application/x-javascript text/css application/xml;
  gzip_vary on;

  # nginx缓存目录(在location段落下需要配合proxy_store on 开启缓存机制 include proxy.conf 处理的详细规则
  if (!-e $request_filename)){proxy_pass http://192.168.10.10;}

  proxy_temp_path  /data/wwwroot/proxy_temp_dir;

  #proxy_cache_path /data/wwwroot/cache.hxage.com levels=1:2  keys_zone=cache.hxage.com:3000m inactive=1y max_size=80G;
  # Nginx 内部重定向规则会被启动,当URL 指向一个目录并且在最后没有包含“/”时,Nginx 内部会自动的做一个301 重定向,这时会有两种情况
  # 1、server_name_in_redirect on(默认),URL 重定向为:server_name 中的第一个域名+ 目录名+ /;
  # 2、server_name_in_redirect off,URL 重定向为:原URL 中的域名+ 目录名+ /
  server_name_in_redirect off;

  server_tokens off;

  # sub filter

  # include sub_filter.conf;

  # null hostname

  server {
     listen 80 default;
     return 444;
     access_log off;
 }
server
{
    listen 5566;
    server_name localhost;
    index index.html index.htm index.shtml index.php;
    location ~ ^/status/
    {
        stub_status on;
        access_log off;
    }
}
#---------------- Vhost --------------------#
include vhost/*.conf;
}

# 以下时阿里云主机上的一段nginx.conf配置文件

user www www;
worker_processes auto;

error_log /alidata/log/nginx/error.log crit;
pid    /alidata/server/nginx/logs/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 65535;

events
{
 use epoll;
 worker_connections 65535;
}

http {
    include    mime.types;
    default_type application/octet-stream;

    #charset gb2312;

    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_max_body_size 8m;

    sendfile on;
    tcp_nopush   on;

    keepalive_timeout 15;

    tcp_nodelay on;

    fastcgi_connect_timeout 300;
    fastcgi_send_timeout 300;
    fastcgi_read_timeout 300;
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 128k;

    gzip on;
    gzip_min_length 1k;
    gzip_buffers   4 16k;
    gzip_http_version 1.1;
    gzip_comp_level 2;
    gzip_types    text/plain application/x-javascript text/css application/xml;
    gzip_vary on;
    gzip_disable msie6;
    #limit_zone crawler $binary_remote_addr 10m;
    log_format '$remote_addr - $remote_user [$time_local] "$request" '
           '$status $body_bytes_sent "$http_referer" '
           '"$http_user_agent" "$http_x_forwarded_for"';
    include /alidata/server/nginx/conf/vhosts/*.conf;
}

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索配置文件
nginx
nginx文件服务器配置、nginx配置文件解析、nginx 图片服务器配置、nginx代理服务器配置、nginx 服务器配置,以便于您获取更多的相关知识。

时间: 2024-08-02 02:34:22

Nginx服务器配置文件完全解析_nginx的相关文章

Nginx服务器Nginx.com配置文件详解_nginx

在此记录下Nginx服务器nginx.conf的配置文件说明, 部分注释收集与网络. #运行用户 user www-data; #启动进程,通常设置成和cpu的数量相等 worker_processes 1; #全局错误日志及PID文件 error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; #工作模式及连接数上限 events { use epoll; #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但

Debian系统下为PHP程序配置Nginx服务器的基本教程_nginx

  Nginx 目前来说已经很流行了,所以打算把现有的Apache先替换一部分,在批量部署和管理方面都要考虑到.因为nginx的所有模块都是静态编译的不像apache那样可以动态添加模块,所以在一开始就要考虑清楚需求,结合现在很火的LAMP模式,其中P最常见的是PHP,目前较好的FastCGI的管理器有spaw-fcgi和php-fpm,而php老版本都是需要源码安装通过打补丁的方式把php-fpm打进去,spaw-fcgi是lighttpd默认的FastCGI管理器,因为牵扯到源码安装,当前的

在Ubuntu系统上安装Nginx服务器的简单方法_nginx

安装 Nginx sudo apt-get install nginx      如果你安装了 Apache ,并且此时 Apache 在运行,那么请先修改一下配置文件(没有的同学直接跳过): #打开配置文件 sudo vim /etc/nginx/sites-available/default      然后按以下两处修改(为了不和 Apache 冲突): server { #修改这里 我将 80 改为 88 listen 88 default_server; #还有这里 同样改为你想要的监听

详解用ELK来分析Nginx服务器日志的方法_nginx

所有ELK的安装包都可以去官网下载,虽然速度稍慢,但还可以接受,官网地址:https://www.elastic.co/ logstash 在Logstash1.5.1版本,pattern的目录已经发生改变,存储在/logstash/vendor/bundle/jruby/1.9/gems/logstash-patterns-core-0.1.10/目录下,但是好在配置引用的时候是可以对patterns的目录进行配置的,所以本人在Logstash的根目录下新建了一个patterns目录.而配置目

通过浏览器查看nginx服务器状态配置方法_nginx

复制代码 代码如下: location /nginx-status { stub_status on; #access_log /var/log/nginx/mmt_nginx_status.log; access_log off; allow 192.168.0.10; deny all; #auth_basic "NginxStatus"; } 访问URL:http://192.168.0.11/nginx-status 结果: 复制代码 代码如下: Active connecti

为Node.js程序配置使用Nginx服务器的简明教程_nginx

Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快.易于扩展的网络应用.Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用,如实时聊天等等.然而对于gzip编码,静态文件,HTTP缓存,SSL处理,负载平衡和反向代理等,都可以通过nginx来完成,从而减小node.js的负载,并通过nginx强大的缓存来节省网站的流量从而提高网站的加载速度.流程图 nginx配置如下: http

【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级

 1.启动nginx的方式: cd /usr/local/nginx ls ./nginx -c nginx.conf 2.查看nginx的进程方式: [root@localhost nginx]# ps –ef | grep nginx [root@localhost nginx]# ps -ef | grep nginx root     21094     1  0 07:52 ?        00:00:00 nginx: master process ./nginx -c ngi

Nginx服务器中location配置的一些基本要点解析_nginx

在这一篇文章里,我将介绍nginx关于location的处理,大家都知道Nginx配置文件里面会有很多的location,nginx的配置指令的作用域可以分为 main,server,location这3个种,实际上这3者不是依次包含的关系,而是相互独立的关系,比如一个只具有main级别作用域的指令,是不能写在某个server或者location内的,模块的某个指令可以同时具有main,server,location这3种作用域,另外每个模块有 main,srv,loc这3个级别的配置,一个模块

Nginx服务器限制IP访问的各种情况全解析_nginx

限制某个IP同一时间段的访问次数 如何设置能限制某个IP某一时间段的访问次数是一个让人头疼的问题,特别面对恶意的ddos攻击的时候.其中CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,也是一种常见的网站攻击方法,攻击者通过代理服务器或者肉鸡向向受害主机不停地发大量数据包, 造成对方服务器资源耗尽,一直到宕机崩溃.    cc攻击一般就是使用有限的ip数对服务器频繁发送数据来达到攻击的目的,nginx可以通过HttpLimitReqModul和HttpLimi