一、基础配置
worker_processes 4;
#nginx进程,一般设置和CPU核数一样
user nginx;
#使用哪个用户运行nginx
pid /usr/local/nginx/nginx.pid;
#pid文件存放路径
worker_rlimit_nofile 51200;
#最大文件打开数(连接)
events {
use epoll;
#使用哪种链接模型,具体支持的模型方法,查看05.nginx连接处理方法.note
worker_connections 1024;
#单个后台worker process进程的最大并发链接数
}
http{
include mime.types;
#文件扩展名与文件类型映射表
default_type default_type application/octet-stream;
#默认文件类型
charset utf-8;
#默认编码
log_format main "$cookie_idXXXX\t$remote_addr\t$remote_user\t[$time_local]\t$request_method\t$host\t$request_uri\t"
"$request_time\t$status\t$body_bytes_sent\t'$http_referer'\t"
"'$http_user_agent'\t'$http_x_forwarded_for'\t$upstream_addr\t$upstream_response_time\t$upstream_status\t";
#设定日志格式
access_log /usr/local/nginx/logs/access.log main;
#访问日志存放路径,与使用哪种日志格式。
sendfile on;
#设置为on表示启动高效传输文件的模式。
keepalive_timeout 60;
#长连接超时时间,单位是秒
client_max_body_size 50m;
#允许客户端请求的最大单文件字节数
client_body_buffer_size 50m;
#缓冲区代理缓冲用户端请求的最大字节数
gzip on;
#使用gzip压缩
gzip_min_length 1k;
#最小压缩文件大小
gzip_buffers 4 16k;
#压缩缓冲区
gzip_comp_level 9;
#压缩等级
gzip_http_version 1.0;
#压缩版本(默认1.1,前端如果是squid2.5请使用1.0)
gzip_types text/plain application/x-javascript application/json application/javascript text/css application/xml text/javascript image/gif image/png;
gzip_vary on;
#压缩类型,默认就已经包含textml
#req_status_zone server "$server_name,$server_addr:$server_port" 10M;
#req_status server;
#Nginx状态监测模块配置
server {
listen 80 default;
#监控端口
server_name localhost;
#主机名配置
#charset koi8-r;
if ($request_method !~ ^(GET|HEAD|POST)$) {
return 403;
}
#拒绝访问,请求方式为GET、HEAD、POST以外的均返回403。
if ($http_user_agent ~ "AhrefsBot|hehehe|^$" )
{
return 403;
}
#拒绝访问,agent里面包含AhrefsBot|hehehe|均返回403,^$表示agent为空的。
error_page 500 502 503 504 /50x.html;
#错误页面定向
location = /50x.html {
root html;
}
include conf.d/*.conf;
#其它配置文件存放路径
}
二、参考文章
https://www.cnblogs.com/liang-wei/p/5849771.html
https://blog.csdn.net/lijinqi1987/article/details/53189258
1. mime.types说明
https://my.oschina.net/plutonji/blog/527797