user mccree;
pid /run/nginx.pid;
#提供web服务时的worker进程数 grep ^processor /proc/cpuinfo | wc -l
worker_processes auto;
events {
#使用epoll事件模型,处理效率高
use epoll;
#worker进程同时接受多个请求链接 默认是on,设置为on后,多个worker按串行方式来
处理连接,也就是一个连接只有一个worker被唤醒,其他的处于休眠状态,设置为off后,>多个worker按并行方式来处理连接,也就是一个连接会唤醒所有的worker,直到连接分配完
毕,没有取得连接的继续休眠。当你的服务器连接数不多时,开启这个参数会让负载有一定
的降低,但是当服务器的吞吐量很大时,为了效率,可以关闭这个参数。
multi_accept on;
#设置可由一个worker进程同时打开的最大连接数,这个数值一般根据服务器性能和内存
来制定,实际最大值就是worker进程数乘以work_connections
worker_connections 10000;
}
http {
# 媒体类型,include 只是一个在当前文件中包含另一个文件内容的指令
include /etc/nginx/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 /export/log/nginx/access.log main;
#tls secure config
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/ssl/private/dhparams.pem;
#使用sendfile拷贝数据(不经过用户态) 开启高效文件传输模式,sendfile指令指定
nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用
磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意
:如果图片显示不正常把这个改成off
sendfile on;
#在一个数据包里发送所有头文件 必须在sendfile开启模式才有效,防止网路阻塞,积
极的减少网络报文段的数量(将响应头和正文的开始部分一起发送,而不一个接一个的发送
。)
tcp_nopush on;
#不缓存数据,一段一段的发送(关闭 Nagle 算法)
search hit TOP, continuing at BOTTOM
#设置可由一个worker进程同时打开的最大连接数,这个数值一般根据服务器性能和内存
user mccree;
# 开启压缩功能
gzip on;
# 设置允许压缩的页面最小字节数,页面字节数从header头的Content-Length中获取,
默认值是0,不管页面多大都进行压缩,建议设置成大于1K,如果小与1K可能会越压越大
gzip_min_length 1k;
# 压缩缓冲区大小,表示申请4个单位为16K的内存作为压缩结果流缓存,默认值是申请
与原始数据大小相同的内存空间来存储gzip压缩结果
gzip_buffers 4 16k;
# 压缩版本,用于设置识别HTTP协议版本,默认是1.1,目前大部分浏览器已经支持GZIP解压,使用默认即可
gzip_http_version 1.0;
gzip_disable "MSIE [1-6].";
gzip_proxied any;
# 压缩比例,用来指定GZIP压缩比,1压缩比最小,处理速度最快,9压缩比最大,传输
速度快,但是处理慢,也比较消耗CPU资源
gzip_comp_level 4;
# 用来指定压缩的类型,‘text/html’类型总是会被压缩。
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/x-httpd-php image/jpeg image/jpg image/gif image/png;
# aryheader支持,改选项可以让前端的缓存服务器缓存经过GZIP压缩的页面,例如用Squid缓存经过nginx压缩的数据
gzip_vary on;
# Load config files from the /etc/nginx/conf.d directory
# The default server is in conf.d/default.conf
include /etc/nginx/conf.d/*.conf;
server {
listen 80;
#root
autoindex on;
location / {
add_header Access-Control-Allow-Origin *;
}
}
server {
listen 443;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
add_header Access-Control-Allow-Origin *;
}
ssl on;
#配置证书位置
ssl_certificate /home/mccree/Documents/Certificate/server.crt;
#配置证书密钥
ssl_certificate_key /home/mccree/Documents/Certificate/server.key;
# ssl_client_certificate ca.crt;
# ssl_verify_client on;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
}
}
网友评论