本篇博客参考了网络上的一些博文,并结合本身的使用经验和理解,现把nginx的配置文件的参数说明下javascript
use nginx nginx; #运行nginx进程的用户和组css
worker_processes 1; #nginx worker进程数,建议为cpu总核心数或者总核心数减1html
error_log logs/error.log info; #全局错误日志设置前端
pid logs/nginx.pid; #设定nginx pid文件java
events {nginx
use epoll; #设置nginx I/O模型服务器
worker_connections 1024; #单个进程最大链接数网络
}app
http {负载均衡
include mime.types; # 文件扩展名与文件类型映射表
default_type application/octet-stream; #默认文件类型
log_format main '$remote_addr - $remote_user [$time_local] "$request" '; #日志格式
access_log logs/access.log main;
charset utf-8; #默认编码
server_names_hash_bucket_size 128; #服务器名字的hash表大小
client_header_buffer_size 32k; #上传文件大小限制
large_client_header_buffers 4 64k; #设定请求缓冲大小
client_max_body_size 8m; #设定请求缓冲大小
sendfile on; #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出 文件,对于普通应用设为 on,若是用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡 磁盘与网络I/O处理速度,下降系统的负载。注意:若是图片显示不正常把这个改为off
tcp_nopush on; #防止网络阻塞
keepalive_timeout 65; #长链接超时时长,单位为秒
#FastCGI相关参数是为了改善网站的性能,减小资源占用,提升访问速度
fastcgi_connect_timeout 300; #fastcgi链接超时时长
fastcgi_send_timeout 300; #fastcgi发送请求超时时长
fastcgi_read_timeout 300; #fastcgi读取响应超时时长
fastcgi_buffer_size 64k; #读取响应第一部分缓冲大小
fastcgi_buffers 4 64k; #读取响应缓冲大小
fastcgi_busy_buffers_size 128k; #不知道怎么翻译
fastcgi_temp_file_write_size 128k; #数据写入临时文件的大小
gzip on; #开启gzip压缩功能
gzip_min_length 1k; #最小压缩文件大小
gzip_buffers 4 16k; #压缩缓冲区
gzip_http_version 1.0; #压缩版本(默认1.1,前端若是是squid2.5请使用1.0)
gzip_comp_level 2; #压缩等级
gzip_types text/plain application/x-javascript text/css application/xml; #压缩类型
gzip_vary on; #启用插入不一样编码响应首部
#定义uptream 负载均衡
upstream test {
server 192.168.1.2:80 weigth=1; #weight表示权重
server 192.168.1.3:80 weight=2;
}
#定义虚拟主机
server {
listen 80; #监听端口
server_name localhost; #主机名
location / {
root html; #文档路径
index index.html index.htm; #默认主页面
}
location /NginxStatus { #定义nginx状态页
stub_status on;
access_log on;
auth_basic "NginxStatus";
auth_basic_user_file confpasswd;
}
location ~ .(jsp|jspx|do)?$ { #动静内容分离
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://test; #动态内容所有由upstream主机处理
}
location ~ .*. #静态内容由nginx处理 (htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$
{
expires 15d;
}
location ~ .*.(js|css)?$
{
expires 1h;
}
}