Nginx安装完毕后,会有响应的安装目录,安装目录里nginx.conf为nginx的主配置文件,ginx主配置文件分为4部分,main(全局配置)、server(主机设置)、upstream(负载均衡服务器设)和location(URL匹配特定位置的设置),这四者关系为:server继承main,location继承server,upstream既不会继承其他设置也不会被继承。

一、Nginx的main(全局配置)文件

[root@rhel6u3-7 server]# vim/usr/local/nginx/conf/nginx.conf 
user nginx nginx;//指定nginx运行的用户及用户组为nginx,默认为nobody 
worker_processes 2; //开启的进程数,一般跟逻辑cpu核数一致 
error_log logs/error.log notice;//定于全局错误日志文件,级别以notice显示。还有debug、info、warn、error、crit模式,debug输出最多,crit输出最少,更加实际环境而定。 
pid logs/nginx.pid; //指定进程id的存储文件位置 
worker_rlimit_nofile 65535;//指定一个nginx进程打开的最多文件描述符数目,受系统进程的最大打开文件数量限制 
events { 
use epoll;设置工作模式为epoll,除此之外还有select、poll、kqueue、rtsig和/dev/poll模式 
worker_connections 65535; //定义每个进程的最大连接数受系统进程的最大打开文件数量限制 
} 
…….
[root@rhel6u3-7 server]# cat /proc/cpuinfo | grep"processor" | wc –l //查看逻辑CPU核数 
[root@rhel6u3-7 server]# ulimit -n 65535//设置系统进程的最大打开文件数量

二、Nginx的HTTP服务器配置,Gzip配置。

http { 

*****************************以下是http服务器全局配置********************************* 

include mime.types;//主模块指令,实现对配置文件所包含的文件的设定,可以减少主配置文件的复杂度,DNS主配置文件中的zonerfc1912,acl基本上都是用的include语句 

default_type application/octet-stream;//核心模块指令,这里默认设置为二进制流,也就是当文件类型未定义时使用这种方式 

//下面代码为日志格式的设定,main为日志格式的名称,可自行设置,后面引用。 
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; //引用日志main 
client_max_body_size 20m;//设置允许客户端请求的最大的单个文件字节数 
client_header_buffer_size 32k;//指定来自客户端请求头的headebuffer大小 
client_body_temp_path /dev/shm/client_body_temp;//指定连接请求试图写入缓存文件的目录路径 
large_client_header_buffers 4 32k;//指定客户端请求中较大的消息头的缓存最大数量和大小,目前设置为4个32KB 
sendfile on; //开启高效文件传输模式 
tcp_nopush on; //开启防止网络阻塞 
tcp_nodelay on; //开启防止网络阻塞 
keepalive_timeout 65; //设置客户端连接保存活动的超时时间 
client_header_timeout 10; //用于设置客户端请求读取超时时间 
client_body_timeout 10; //用于设置客户端请求主体读取超时时间 
send_timeout 10; //用于设置相应客户端的超时时间 
//以下是httpGzip模块配置 
#httpGzip modules 
gzip on; //开启gzip压缩 
gzip_min_length 1k; //设置允许压缩的页面最小字节数 
gzip_buffers 4 16k; //申请4个单位为16K的内存作为压缩结果流缓存 
gzip_http_version 1.1; //设置识别http协议的版本,默认是1.1 
gzip_comp_level 2; //指定gzip压缩比,1-9数字越小,压缩比越小,速度越快. 
gzip_types text/plain application/x-javascripttext/css application/xml; //指定压缩的类型 
gzip_vary on; //让前端的缓存服务器存经过gzip压缩的页面

三、nginx的server虚拟主机配置

两种方式一种是直接在主配置文件中设置server字段配置虚拟主机,另外一种是使用include字段设置虚拟主机,这样可以减少主配置文件的复杂性。

*****************************以下是server主机设置********************************* 

server { 
listen 80; //监听端口为80 
server_namewww.88181.com; //设置主机域名 
charset gb2312; //设置访问的语言编码 
access_log logs/www.88181.com.access.log main;//设置虚拟主机访问日志的存放路径及日志的格式为main 
location / { //设置虚拟主机的基本信息 
root sites/www; //设置虚拟主机的网站根目录 
index index.html index.htm; //设置虚拟主机默认访问的网页 
} 
location /status { // 查看nginx当前的状态情况,需要模块“--with-http_stub_status_module”支持 
stub_status on; 
access_log /usr/local/nginx/logs/status.log; 
auth_basic "NginxStatus"; } 
} 
include /usr/local/nginx/server/www1.88181.com;//使用include字段设置server,内容如下 
[root@rhel6u3-7 ~]# cat/usr/local/nginx/server/www1.88181.com 
server { 
listen 80; 
server_name www1.88181.com; 
location / { 
root sites/www1; 
index index.html index.htm; 
} 
}

upstream模块后面负载均衡再做介绍!