正常nginx安装后,详细安装方法参考:Shell编译安装nginx

默认配置文件位置参考configure的--conf-path配置项,当然也可以用nginx -c 来指定启动时候的配置文件。

基础全局配置块

#运行时用户和组	
user nginx nginx;

#工作进程数,通常设置成和cpu的数量相等
worker_processes  2;			#根据cat /proc/cpuinfo | grep 'processor' | wc -l或者直接指定auto
#进程和cpu绑定掩码,
worker_cpu_affinity 0101 1010	        #默认情况下worker进程是不和cpu绑定的,通常worker_processes结合使用
					#和绑定进程1到cpu0和cpu2,进程2到cpu1和cpu3,适合hyper-threading超线程技术的cpu

#错误日志
error_log  /home/nginx/log/error.log info;	#级别[ debug | info | notice | warn | error | crit ]
#PID文件
pid        /home/nginx/log/nginx.pid;

#更改worker进程的最大打开文件数限制(不重启主进程)
worker_rlimit_nofile 65535;		#如果没设置的话,这个值操作系统限制在 ulimit -n
					#设置之后会解决error中出现的Too many opened files问题
					#会覆盖ulimits设置:ulimit -SHn 65535
					#查看:cat /proc/31613/limits|greo -e 'Max open files'

events配置块

#工作模式及并发连接数上限
events {
    #工作模式
    use   epoll; 	#[kqueue|rtsig|epoll|/dev/poll|select|poll]; 
    				#epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型
    				#如果FreeBSD,要用kqueue模型
    				
    #单个worker process进程的最大连接数数  
    worker_connections  65535;	
}

#并发总数是worker_processes和worker_connections的乘积:
#即max_clients=worker_processes*worker_connections
#max_clients的值须小于系统全局可以打开的最大文件数-察看:cat /proc/sys/fs/file-max`

参考

worker_processes&worker_cpu_affinity