欢迎来到云服务器

服务器租用

nginx情况常用设置具体

Nginx 的设置文件主要分为4部门:
main (全局配置)            -> 此部门配置的指令将影响其它所有配置
server (主机配置)          -> 主要用于指定 "主机" 和 "端口"
upstream (负载平衡配置)    -> 用于负载平衡location (URL 匹配特定位置的配置) location (URL 匹配特定位置的配置)        -> 匹配网页文件的范例和位置

#界说Nginx运行的用户和用户组
user www www;

#nginx历程数,发起配置为便是CPU总焦点数。

  不必然需要全开,按照环境开,因为每个nginx历程耗损的内存10兆的阁下。

worker_processes 8;

 

# 仅合用于linux,利用该选项可以绑定worker历程和CPU(2.4内核的呆板用不了)

 

  如果是8 cpu 分派如下:
  worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000

  00100000 01000000 10000000

# worker_cpu_affinity

#全局错误日志界说范例,[ debug | info | notice | warn | error | crit ]
error_log /var/log/nginx/error.log info;

#历程文件
pid /var/run/nginx.pid;

#一个nginx历程打开的最多文件描写符数目,理论值应该是最多打开文件数(系统的值ulimit -n)与nginx历程数相除,可是nginx分派请求并不匀称,所以发起与ulimit -n的值保持一致。此刻在linux 2.6内核下开启文件打开数为65535,worker_rlimit_nofile就相应应该填写65535。这是因为nginx调治时分派请求到历程并不是那么的平衡,所以如果填写10240,总并发量到达3-4万时就有历程大概高出10240了,这时会返回502错误。

查察linux系统文件描写符的要领:

[[email protected] ~]# sysctl -a | grep fs.file
fs.file-max = 789972
fs.file-nr = 510 0 789972

worker_rlimit_nofile 65535;

#事情模式与毗连数上限
events
{
#参考事件模子,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模子是Linux 2.6以上版本内核中的高机能网络I/O模子,假如跑在FreeBSD上面,就用kqueue模子。
use epoll;

 

#单个历程最大毗连数(最大毗连数=毗连数*历程数)
worker_connections 65535;

 

# 并发总数是 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处事器
http
{
include mime.types; #文件扩展名与文件范例映射表

 

#默认的数据范例,当范例未界说时利用二进制流的方法,好比未安装PHP时,是不予理会,用欣赏器会见则呈现下载窗口 

default_type application/octet-stream; 

#charset utf-8; #默认编码

server_names_hash_bucket_size 128; #处事器名字的hash表巨细

#客户请求头缓冲巨细 
nginx默认会用client_header_buffer_size这个buffer来读取header值,假如

header过大,它会利用large_client_header_buffers来读取
假如配置过小HTTP头/Cookie过大 会报400 错误 nginx 400 bad request
求行假如高出buffer,就会报HTTP 414错误(URI Too Long)
nginx接管最长的HTTP头部巨细必需比个中一个buffer大,不然就会报400的

HTTP错误(Bad Request)。

client_header_buffer_size 32k; #上传文件巨细限制
large_client_header_buffers 4 64k; #设定请求缓

腾讯云代理

Copyright © 2003-2021 MFISP.COM. 国外vps服务器租用 梦飞云服务器租用 版权所有 粤ICP备11019662号