Nginx基本参数

#运行用户

user nobody;

#worker进程的个数;通常应该为物理CPU核数减1;

#可以为”auto”,实现自动设定(worker_processes  auto)

worker_processes  1;

#全局错误日志及PID文件

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

#工作模式及连接数上限

events {

#epoll是多路复用IO(I/O Multiplexing)中的一种方式,

#仅用于linux2.6以上内核,可以大大提高nginx的性能

use   epoll;

#单个后台worker process进程的最大并发链接数

worker_connections  1024;

# 并发总数是 worker_processes 和 worker_connections 的乘积

# 即 max_clients = worker_processes * worker_connections

# 在设置了反向代理的情况下,max_clients = worker_processes * worker_connections / 4  为什么

# 为什么上面反向代理要除以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和内存进行配置

# 当然,理论上的并发总数可能会和实际有所偏差,因为主机还有其他的工作进程需要消耗系统资源。

# ulimit -SHn 65535

}

http {

#设定mime类型,类型由mime.type文件定义

include    mime.types;

default_type  application/octet-stream;

#设定日志格式

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 函数(zero copy 方式)来输出文件,

#对于普通应用,必须设为 on,

#如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,

#以平衡磁盘与网络I/O处理速度,降低系统的uptime.

sendfile     on;

#tcp_nopush     on;

#连接超时时间

#keepalive_timeout  0;

keepalive_timeout  65;

tcp_nodelay     on;

#开启gzip压缩

gzip  on;

gzip_disable "MSIE [1-6].";

#设定请求缓冲

client_header_buffer_size    128k;

large_client_header_buffers  4 128k;

#设定虚拟主机配置

server {

#侦听80端口

listen    80;

#定义使用 www.nginx.cn访问

server_name  www.nginx.cn;

#定义服务器的默认网站根目录位置

root html;

#设定本虚拟主机的访问日志

access_log  logs/nginx.access.log  main;

#默认请求

location / {

#定义首页索引文件的名称

index index.php index.html index.htm;

}

# 定义错误提示页面

error_page   500 502 503 504 /50x.html;

location = /50x.html {

}

#静态文件,nginx自己处理

location ~ ^/(images|javascript|js|css|flash|media|static)/ {

#过期30天,静态文件不怎么更新,过期可以设大一点,

#如果频繁更新,则可以设置得小一点。

expires 30d;

}

#PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.

location ~ .php$ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

include fastcgi_params;

}

#禁止访问 .htxxx 文件

location ~ /.ht {

deny all;

}

}

}

Nginx基本参数调优的更多相关文章

  1. 【nginx】nginx配置文件结构,内置变量及参数调优

    Nginx的配置文件是一个纯文本文件,它一般位于Nginx安装目录的conf目录下,整个配置文件是以block的形式组织的.每个block一般以一个大括号“{”来表示.block 可以分为几个层次,整 ...

  2. php-fpm参数调优

    关于php-fpm.conf参数调优,只对重要的参数进程调优.其它可参数前辈的. http://php.net/manual/zh/install.fpm.configuration.php (官方的 ...

  3. Linux Linux内核参数调优

    Linux内核参数调优 by:授客 QQ:1033553122 关于调优的建议: 1.出错时,可以查看操作系统日志,可能会找到一些有用的信息 2.尽量不要“批量”修改内核参数,笔者就曾这么干过,结果“ ...

  4. linux 服务器安全加固和内核参数调优 nf_conntrack

    0.内部设置跳板机,服务器只能通过跳板机登录1.禁止ROOT用户远程登录和登录端口 禁止ROOT用户远程登录 .打开 /etc/ssh/sshd_config PermitRootLogin no . ...

  5. jvm系列(六):Java服务GC参数调优案例

    本文介绍了一次生产环境的JVM GC相关参数的调优过程,通过参数的调整避免了GC卡顿对JAVA服务成功率的影响. 这段时间在整理jvm系列的文章,无意中发现本文,作者思路清晰通过步步分析最终解决问题. ...

  6. Spark Shuffle原理、Shuffle操作问题解决和参数调优

    摘要: 1 shuffle原理 1.1 mapreduce的shuffle原理 1.1.1 map task端操作 1.1.2 reduce task端操作 1.2 spark现在的SortShuff ...

  7. 搭建 windows(7)下Xgboost(0.4)环境 (python,java)以及使用介绍及参数调优

    摘要: 1.所需工具 2.详细过程 3.验证 4.使用指南 5.参数调优 内容: 1.所需工具 我用到了git(内含git bash),Visual Studio 2012(10及以上就可以),xgb ...

  8. 【转】Windows下使用libsvm中的grid.py和easy.py进行参数调优

    libsvm中有进行参数调优的工具grid.py和easy.py可以使用,这些工具可以帮助我们选择更好的参数,减少自己参数选优带来的烦扰. 所需工具:libsvm.gnuplot 本机环境:Windo ...

  9. spark参数调优

    摘要 1.num-executors 2.executor-memory 3.executor-cores 4.driver-memory 5.spark.default.parallelism 6. ...

随机推荐

  1. MySQL之忘记root重置方法

    参考:https://help.aliyun.com/knowledge_detail/42520.html MySQL忘记了root登录密码需要重置 1,修改配置文件 一般配置文件路径为/etc/m ...

  2. 【嵌入式硬件Esp32】Ubuntu18.04 更换阿里云软件源

    使用Ubuntu 的apt-get来安装软件是总是因为官方源的速度太慢而抓狂. 但是用阿里云的源就很快,下面总结一下如何更换Ubuntu的软件源. 一.备份sudo cp /etc/apt/sourc ...

  3. idm技术下载百度网盘

    原使用教程:https://www.haorenka.org/idm.html 使用idm下载器后实际下载速度,比原网盘客户端快很多 相关软件下载 参考上面的参考教程,这里只提供对应所需要的文件,有的 ...

  4. C++用于类型转换的4个操作符

    Dynamic_cast,   const_cast,  static_cast,  reinterpret_cast. (1)reinterpret_cast 用于基本的类型转换.如 in *ip; ...

  5. python字符串/列表/元组/字典之间的相互转换(5)

    一.字符串str与列表list 1.字符串转列表 字符串转为列表list,可以使用str.split()方法,split方法是在字符串中对指定字符进行切片,并返回一个列表,示例代码如下: # !usr ...

  6. linux--Linux 各目录及每个目录的详细介绍

    2017年08月31日 17:53:38 worthsen 阅读数 3490更多 所属专栏: Linux   版权声明:本文为博主原创文章,如要转载,请注明地址,谢谢^...^ https://blo ...

  7. 公钥、私钥、数字签名、数字证书、对称与非对称算法、HTTPS

    作者: yoyoso https://my.oschina.net/ioslighter/blog/359207 对公钥和私钥有点稀里糊涂的,搜索了一些资料,作一些整理吧,先看这个: 加密--公钥 看 ...

  8. 编程语言、Python介绍及其解释器安装、运行Python解释器的两种方式、变量、内存管理

    一.编程语言介绍 1.1 机器语言:直接用计算机能理解的二进制指令来编写程序,直接控制硬件. 1.2 汇编语言:在机器语言的基础上,用英文标签取代二进制指令来编写程序,本质上也是直接控制硬件. 以上2 ...

  9. SQL——INSERT INTO(增)

    一.INSERT INTO语句的基本用法 INSERT INTO 语句用于往表中插入新记录. student表: INSERT INTO语句有2种语法格式: 1.不指定列名,直接插入记录. 语法格式如 ...

  10. PAT(B) 1072 开学寄语(Java)统计

    题目链接:1072 开学寄语 (20 point(s)) 题目描述 下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其 QQ,封其电脑,夺其手机,收其 ipad,断其 wifi,使 ...