美文网首页
Nginx配置文件

Nginx配置文件

作者: tenlee | 来源:发表于2018-12-05 12:53 被阅读7次
# 指定Nginx工作的用户和用户组,www-data 是我们新建的一个虚拟用户
user  www-data www-data;

# 指定Nginx工作的进程数,默认是1。建议参考CPU内核数,双核处理器又是超线程的话可以设置为4个,避免进程堵塞在IO等待中。
worker_processes  4;

events {
    use epoll; # 指定I/O模式,epoll是Linux内核2.6(或以上)中一种比较高效的异步IO模型
    worker_connections  8000; # 规定单个进程可以处理的请求数
    
    # 并发总数是 worker_processes 和 worker_connections 的乘积
    # 即 max_clients = worker_processes * worker_connections
    # 在设置了反向代理的情况下,max_clients = worker_processes * worker_connections / 4
    # 根据以上条件,正常情况下的Nginx Server可以应付的最大连接数为:4 * 8000 = 32000
    # worker_connections 值的设置跟物理内存大小有关
    # 因为并发受IO约束,max_clients的值须小于系统可以打开的最大文件数
    # 而系统可以打开的最大文件数和内存大小成正比,一般1GB内存的机器上可以打开的文件数大约是10万左右
    # 我们来看看360M内存的VPS可以打开的文件句柄数是多少:
    # $ cat /proc/sys/fs/file-max
    # 输出 34336
    # 32000 < 34336,即并发连接总数小于系统可以打开的文件句柄总数,这样就在操作系统可以承受的范围之内
    # 所以,worker_connections 的值需根据 worker_processes 进程数目和系统可以打开的最大文件总数进行适当地进行设置
    # 使得并发总数小于操作系统可以打开的最大文件数目
    # 其实质也就是根据主机的物理CPU和内存进行配置
    # 当然,理论上的并发总数可能会和实际有所偏差,因为主机还有其他的工作进程需要消耗系统资源。
}

http {
    # 该值设置参考 http://wiki.nginx.org/NginxOptimizations 中的 Hash Tables 这节内容
    server_names_hash_bucket_size 64;
    
    # 使Nginx可以跑Ruby on Rails网站程序
    passenger_root /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/passenger-2.2.8;
    passenger_ruby /opt/ruby-enterprise-1.8.7-2009.10/bin/ruby;
    
    # 载入MIME类型
    include       mime.types;
    
    # 设置默认的MIME类型
    default_type  application/octet-stream;
    
    # 开启 sendfile, 指定Nginx调用内核级的 sendfile 函数以提高web传输文件的效率
    sendfile        on;
    
    # 同时开启 tcp_nopush,将响应请求的http头信息压入一个数据包后发出。参考 http://wiki.nginx.org/ReadMoreAboutTcpNopush
    tcp_nopush      on;
    
    # 关闭tcp_nodelay,以便将多个数据集合(例如HTTP响应的头和正文)一并发送。参考 http://wiki.nginx.org/ReadMoreAboutTcpNodelay
    tcp_nodelay     off;
    
    # 设置连接超时秒数
    keepalive_timeout  15;
    
    # gzip 压缩输出设置,参考 http://wiki.nginx.org/NginxHttpGzipModule
    gzip            on;
    gzip_min_length 1000;
    gzip_comp_level 8;
    gzip_proxied    any;
    gzip_types      text/plain text/css text/javascript text/xml application/x-javascript application/xml application/xml+rss;
    
    # 加载vhost配置文件
    include /opt/nginx/sites-enabled/*;
}

转载自 https://gist.github.com/why404/265368/94263b40e5b088e653c03f43174a5ebc056226b1

相关文章

  • 第二讲 Nginx模块详解

    本章要点 Nginx 配置文件结构 各个模块的详解 2.1 Nginx配置文件结构 Nginx的配置文件nginx...

  • Nginx配置文件详解

    Nginx配置文件nginx.conf详解 nginx.conf nginx技术一--配置文件nginx.conf...

  • 应用程序常用命令

    nginx: nginx启动:nginx -c nginx配置文件地址检查配置文件是否正确:nginx -t重启n...

  • nginx(五)nginx cmd

    nginx cmd 1、启动nginx start nginx 2、修改配置文件并生效 测试nginx配置文件是否...

  • Nginx配置文件nginx.conf详解和nginx的变量规则

    Nginx配置文件nginx.conf详解 Nginx 总的 配置文件 位置 /usr/local/nginx/c...

  • Nginx使用

    Nginx [toc] nginx命令 参数 Nginx启动 通过指定配置文件启动 配置文件语法检查 Nginx配...

  • nginx配置文件

    nginx配置文件nginx配置文件详解一、nginx配置文件 启动子进程程序默认用户 user nobody;...

  • Nginx 打印body体内容

    Nginx 打印body体内容,修改nginx配置文件nginx.conf 重新加载配置文件 nginx body...

  • nginx(二)

    在修改配置文件后,检查 nginx 配置文件语法是否正确:nginx -t 重新启动 nginx: nginx -...

  • Nginx yum安装目录

    日志切割配置文件/etc/logrotate.d/nginx主要配置文件/etc/nginx/etc/nginx/...

网友评论

      本文标题:Nginx配置文件

      本文链接:https://www.haomeiwen.com/subject/rvbicqtx.html