nginx.conf-配置

  • 来源:
  • 更新日期:2018-05-03

摘要:#运行用户 userwww-data; #启动进程,通常设置成和cpu的数量相等 worker_processes1; #全局错误日志及PID文件 error_log/var/log/nginx/error.log; pid/var/run/nginx.pid; #工作模式及连接数上限 events{ #epoll是多路复用IO(I/OMultiplexing)中的一种方式, #仅用于linux2.6以上内核,可以大大提高nginx的性能 useepoll; #单个后台workerprocess进程的最大

#运行用户 userwww-data; #启动进程,通常设置成和cpu的数量相等 worker_processes1; #全局错误日志及PID文件 error_log/var/log/nginx/error.log; pid/var/run/nginx.pid; #工作模式及连接数上限 events{ #epoll是多路复用IO(I/OMultiplexing)中的一种方式, #仅用于linux2.6以上内核,可以大大提高nginx的性能 useepoll

5895d477-f76e-4df0-9ab4-6cfe1bce80ce.jpg

#单个后台workerprocess进程的最大并发链接数 worker_connections1024; #并发总数是worker_processes和worker_connections的乘积 #即max_clients=worker_processes*worker_connections #在设置了反向代理的情况下,max_clients=worker_processes*worker_connections/4为什么 #为什么上面反向代理要除以4,应该说是一个经验值 #根据以上条件,正常情况下的NginxServer可以应付的最大连接数为: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-SHn65535 } http{ #设定mime类型,类型由mime.type文件定义 include/etc/nginx/mime.types; default_typeapplication/octet-stream; #设定日志格式 access_log/var/log/nginx/access.log; #sendfile指令指定nginx是否调用sendfile函数(zerocopy方式)来输出文件, #对于普通应用,必须设为on, #如果用来进行下载等应用磁盘IO重负载应用,可设置为off, #以平衡磁盘与网络I/O处理速度,降低系统的uptime. sendfileon; #tcp_nopushon; #连接超时时间 #keepalive_timeout0; keepalive_timeout65; tcp_nodelayon; #开启gzip压缩 gzipon; gzip_disable"MSIE[1-6]."; #设定请求缓冲 client_header_buffer_size128k; large_client_header_buffers4128k; #设定虚拟主机配置 server{ #侦听80端口 listen80; #定义使用www.nginx.cn访问 server_namewww.nginx.cn; #定义服务器的默认网站根目录位置 root/var/nginx.cn/htdocs; #设定本虚拟主机的访问日志 access_loglogs/nginx.access.logmain; #默认请求 location/{ #定义首页索引文件的名称 indexindex.phpindex.htmlindex.htm; } #定义错误提示页面 error_page500502503504/50x.html; location=/50x.html{ } #静态文件,nginx自己处理 location~^/(images|javascript|js|css|flash|media|static)/{ #过期30天,静态文件不怎么更新,过期可以设大一点, #如果频繁更新,则可以设置得小一点。 expires30d; } #PHP脚本请求全部转发到FastCGI处理.使用FastCGI默认配置. location~.php${ fastcgi_pass127.0.0.1:9000; fastcgi_indexindex.php; fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name; includefastcgi_params; } #禁止访问.htxxx文件 location~/.ht{ denyall; } } }