全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 7648|回复: 21

[nginx] nginx.conf的一个优化配置

[复制链接]
发表于 2010-3-10 03:33:56 | 显示全部楼层 |阅读模式
nginx进程数,建议按照cpu数目来指定,一般为它的倍数。
worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
为每个进程分配cpu,上例中将8个进程分配到8个cpu,当然可以写多个,或者将一个进程分配到多个cpu。
worker_rlimit_nofile 102400;

这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n的值保持一致。
use epoll;

使用epoll的I/O模型,这个不用说了吧。
worker_connections 102400;

每个进程允许的最多连接数,理论上每台nginx服务器的最大连接数为worker_processes*worker_connections。
keepalive_timeout 60;

keepalive超时时间。
client_header_buffer_size 4k;

客户端请求头部的缓冲区大小,这个可以根据你的系统分页大小来设置,一般一个请求头的大小不会超过1k,不过由于一般系统分页都要大于1k,所以这里设置为分页大小。分页大小可以用命令getconf PAGESIZE取得。
open_file_cache max=102400 inactive=20s;

这个将为打开文件指定缓存,默认是没有启用的,max指定缓存数量,建议和打开文件数一致,inactive是指经过多长时间文件没被请求后删除缓存。
open_file_cache_valid 30s;

这个是指多长时间检查一次缓存的有效信息。
open_file_cache_min_uses 1;

open_file_cache指令中的inactive参数时间内文件的最少使用次数,如果超过这个数字,文件描述符一直是在缓存中打开的,如上例,如果有一个文件在inactive时间内一次没被使用,它将被移除。



附带我现在的配置参数:
user  www www;
worker_processes 4;
worker_cpu_affinity 00000001 00000010 00000100 00001000;
error_log  /home/wwwroot/logs/nginx_error.log  crit;
pid        /usr/local/nginx/logs/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;
events
{
  use epoll;
  worker_connections 51200;
}
http
{
  include       mime.types;
  default_type  application/octet-stream;
  #charse  gb2312;
  server_names_hash_bucket_size 128;
  client_header_buffer_size 32k;
  large_client_header_buffers 4 32k;
  client_max_body_size 50m;
  sendfile on;
  tcp_nopush     on;
  keepalive_timeout 60;
  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 256k;
fastcgi_cache_valid 200 302 1h;
fastcgi_cache_valid 301 1d;
fastcgi_cache_valid any 1m;
fastcgi_cache_min_uses 1;
fastcgi_cache_use_stale error timeout invalid_header http_500;
open_file_cache max=204800 inactive=20s;
open_file_cache_min_uses 1;
open_file_cache_valid 30s;
  gzip on;
  gzip_min_length  1k;
  gzip_buffers     4 16k;
  gzip_http_version 1.0;
  gzip_comp_level 2;
  gzip_types       text/plain application/x-javascript text/css application/xml;
  gzip_vary on;
  #limit_zone  crawler  $binary_remote_addr  10m;
server_tokens off;
server
{
  listen       80;
  server_name ip.ebandao.cn;
  index index.html index.htm index.php;
  root  /home/wwwroot;
  location ~ .*\.(php|php5)?$
   {
    fastcgi_pass  unix:/tmp/php-cgi.sock;
    #fastcgi_pass  127.0.0.1:9000;
    fastcgi_index index.php;
    include fcgi.conf;
   }
  location /status {
   stub_status on;
   access_log   off;
  }
  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
   {
    expires      30d;
   }
  location ~ .*\.(js|css)?$
   {
    expires      12h;
   }
  log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
             '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" $http_x_forwarded_for';
  access_log  /home/wwwroot/logs/access.log  access;
}
include vhost/*.conf;
}

本文出自vps.ebandao.cn

[ 本帖最后由 qdfushuai 于 2010-5-15 19:09 编辑 ]

评分

参与人数 2威望 +45 收起 理由
cpuer + 30 感谢分享
cw723 + 15 精品文章

查看全部评分

发表于 2010-3-10 03:39:59 | 显示全部楼层
什么东西。。。。有什么优化作用?
 楼主| 发表于 2010-3-10 03:54:57 | 显示全部楼层
线程分配到每个内核对细小的参数做了一些调整减小了错误率据说可以负荷10w并发数。。
发表于 2010-3-10 04:00:32 | 显示全部楼层
我学者试试
发表于 2010-3-10 09:59:45 | 显示全部楼层

回复 1# 的帖子

还得按照内存大小灵活使用
发表于 2010-3-10 10:01:48 | 显示全部楼层

直接把楼主的复制到伦敦vps上
重启后开始来感觉了
不错不错
发表于 2010-3-10 10:04:03 | 显示全部楼层
vps.net的默认配置
worker_processes 10;
发表于 2010-3-10 10:06:26 | 显示全部楼层
啊 改天试试。。先搜藏。
我的都弄成 4
发表于 2010-3-10 12:11:33 | 显示全部楼层

回复 7# 的帖子

10个也太强大了,我只设置了2个。
发表于 2010-3-10 12:14:15 | 显示全部楼层
说实话,VPS上搞这个意义不大
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-16 17:21 , Processed in 0.074360 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表