CentOS6.3下nginx性能优化配置详解(1/2)

一.NGINX优化配置

1.主配置文件优化:

# vi /usr/local/nginx/conf/nginx.conf

-----------------------------------------

user nginx nginx;

worker_processes 8;

worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000;

error_log  /usr/local/nginx/logs/nginx_error.log  crit;

pid        /usr/local/nginx/logs/nginx.pid;

worker_rlimit_nofile 204800;

events

{

 use epoll;

 worker_connections 204800;

}

 

http {

      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;

      charset  utf-8;

      server_names_hash_bucket_size 128;

      client_header_buffer_size 32k;

      large_client_header_buffers 4 32k;

      client_max_body_size 20m;

      sendfile on;

      tcp_nopush on;

      keepalive_timeout 60;

      fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2

                         keys_zone=TEST:10m

                         inactive=5m;

      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 128k;

      open_file_cache max=204800 inactive=20s;

      open_file_cache_min_uses 1;

      open_file_cache_valid 30s;

      tcp_nodelay on;

      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;

}

-----------------------------------------

注:部分配置详解:

worker_processes 8;

nginx进程数,建议按照cpu数目来指定,一般为它的倍数。

worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000

10000000;

为每个进程分配cpu,上例中将8个进程分配到8个cpu,当然可以写多个,或者将一个进程分配到多个cpu

worker_rlimit_nofile 204800;

这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n

)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n的值保持一致。

注:这里需要设置 ulimit -SHn 204800

use epoll;

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

worker_connections 204800;

每个进程允许的最多连接数,理论上每台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时间内一次没被使用,它将被移除。

首页 1 2 末页

时间: 2024-08-22 14:26:06

CentOS6.3下nginx性能优化配置详解(1/2)的相关文章

Linux服务器下nginx的安全配置详解_nginx

Nginx是一个轻量级,高性能的Web服务器/反向代理和电子邮件 代理(IMAP/POP3),它可以运行在UNIX,GNU/Linux,BSD变种,MAC OS X,Solaris和Microsoft Windows上.根据Netcraft的调查数据显示,互联网上6%的域名都使用了Nginx Web服务器.Nginx是解决C10K问题的服务器之一,与传统服务器不一样,Nginx不依赖于线程处理请求,相反,它使用了一个更具扩展性的事件驱 动(异步)架构.Nginx在很多高流量网站上得到了应用,如W

Nginx配置文件(nginx.conf)配置详解(总结)_nginx

现在经常碰到有新用户问一些很基本的问题,最近整理了一下,Nginx的配置文件nginx.conf配置详解如下: user nginx nginx ; Nginx用户及组:用户 组.window下不指定 worker_processes 8; 工作进程:数目.根据硬件调整,通常等于CPU数量或者2倍于CPU. error_log logs/error.log; error_log logs/error.log notice; error_log logs/error.log info; 错误日志:

Centos6.5搭建java开发环境配置详解_Linux

一.安装jdk 1.查看Linux自带的JDK是否已安装 java –version 如果出现openjdk,最好还是先卸载掉openjdk,在安装sun公司的jdk. 2.查看jdk信息 rpm -qa|grep java 3.卸载OpenJDK,执行以下操作: rpm -e --nodeps tzdata-java-2012c-1.el6.noarch rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-1.45.1.11.1.el6.x86_64 4.新

nginx或tomcat的性能优化调整详解

最近花了一点时间进行了NGINX加TOMCAT7集群压力测试,下面通过对一些常见问题的回答来说明如何调优服务器的性能,是自己的一些经验,且无实际数据,如有纰漏请见谅. 背景: TOMCAT7已加APR或者NIO.已装简单监控JCONSOLE,监控服务器内存,线程等基本情况. 问题1  一个Tomcat他的maxThreads到底配置多少合适? 一个好的maxThreads的配置就是达到资源的合理化应用. 资源池: 在讲其它东西之前,我们先引入一个概念,就是资源池.tomcat7中,他对http请

入门:Windows环境下PHP动态网页配置详解

入门:详解Windows下PHP5+APACHE+MYSQ完整配置 经过一段时间狂热的PHP编程,对WINDOWS平台下PHP的配置可算是深有感触,一开始我用的是一键安装的傻瓜包,但是考虑傻瓜包的安装版本已经落后,在真正手动配置PHP环境时遇到许多问题,在查阅了许多资料和尝试后,终于配置成功.现在,我将我的配置经验和大家分享一下,相信可以解决大家配置PHP环境的迷惑. 首先说一下我用的软件版本. PHP 5.1.6APACHE 2.0.59(注意:APACHE 2.2.X版本以上要增加插件才支持

linux中vsftpd下虚拟用户+被动模式配置详解

下面说说在linux下部署vsftp的过程吧,小小笔记. 一.安装 这里我说下最简单的rpm包安装,因为光盘中有,何必编译呢? yum install db4* vsftpd -y 二.配置 1.新建系统用户 useradd vsftpd -s /sbin/nologin 限制vsftpd用户登录,此用户将最为vsftpd服务的宿主用户 useradd ftp -s /sbin/nologin 这里是Vsftpd虚拟宿主用户,默认情况下这个用户应该有. 当然这些用户你可以用另外的名字. 2.修改

Linux系统下Kafka单机安装配置详解

说明:   操作系统:CentOS 6.x 64位   Kafka版本:kafka_2.11-0.8.2.1   实现目的:   单机安装配置kafka   具体操作:   一.关闭SELINUX.开启防火墙9092端口   1.关闭SELINUX   vi /etc/selinux/config   #SELINUX=enforcing #注释掉   #SELINUXTYPE=targeted #注释掉   SELINUX=disabled #增加   :wq! #保存退出   setenfo

CentOS下内核TCP参数优化配置详解

那是不是所有执行主动关闭的SOCKET都会进入TIME_WAIT状态呢?有没有什么情况使主动关闭的SOCKET直接进入CLOSED状态呢?答案是主动关闭的一方在发送最后一个ACK后就会进入TIME_WAIT状态,并停留2MSL(Max Segment LifeTime)时间,这个是TCP/IP必不可少的,也就是"解决"不了的. TCP/IP的设计者如此设计,主要原因有两个: 防止上一次连接中的包迷路后重新出现,影响新的连接(经过2MSL时间后,上一次连接中所有重复的包都会消失). 为了

hhvm下Nginx环境搭建步骤详解

HHVM(HipHop Virtual Machine)会将PHP代码转换成高级别的字节码(通常称为中间语言).然后在运行时通过即时(JIT)编译器将这些字节码转换为x64的机器码.在这些方面,HHVM十分类似与C#的CLR和Java的JVM. 2008年Facebook就开始使用HipHop(现在成为HPHP),这是一种PHP执行引擎:最初是为了将Fackbook的大量PHP代码转成C++,以提高性能和节约资源.最初的版本成为HPHPc,是一个PHP到C++的编译器.   之后的两年里,Fac