#worker线程使用哪个用户启动
#user nobody;
#worker数量
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
#配置工作模式和连接数
events {
#默认使用epoll
use epoll;
#每个worker允许连接的客户端最大连接数
worker_connections 1024;
}
#http模块相关配置
http {
include 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 logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#开启gzip压缩功能,目的:提高效率,节约宽带,弊端:消耗服务器性能
#gzip on;
#限制最小压缩,小于1字节文件不会压缩
#gzip_min_length 1;
#定所压缩的级别(压缩比,文件越大压缩越多,但是cup使用会越多)
#gzip_comp_level 3;
#定义压缩的文件类型
#gzip_types;
#valid_referers:表示白名单, none:表示空的来路,比如直接访问的, blocked:表示被防火墙标识过的来路,
#后面的ip就是允许的名单。如果不在这些白名单的配置下得来路,都会进入到 403
#valid_referers none blocked 192.168.1.3;
#if($invalid_referer){
# return 404;
#}
#虚拟主机,可以有多个
server {
#监听的端口
listen 80;
#虚拟主机的名称 IP或者域名
server_name names;
#开启并使用缓存
proxy_cache mycache;
#针对200和304状态码的缓存设置过期时间
proxy_cache_valid 200 304 8h;
#允许跨域请求的域,*代表所有
add_header 'Access-Control-Allow-orgigin' *;
#允许带上cookie的域
add_header 'Access-Control-Allow-Credentials' 'true';
#允许请求的方法,比如GET POST PUT DELETE
add_header 'Access-Control-Allow-Methods' *;
#允许请求的header
add_header 'Access-Control-Allow-Headers' *;
#路由规则
location / {
root html;
index index.html index.htm;
#长连接配置
proxy_http_version 1.1;
proxy_set_header Connnection "";
#nginx缓存过期的时间
#expires 10s;
#在固定的时间刷新缓存
#expires @22h30m;
#缓存在一个小时前失效
#expires -1h;
#不使用缓存
#expires epoch;
#nginx默认设置
#expires off;
#缓存永不过期
#expires max;
}
localtion /test {
proxy_pass http://names;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
#配置上游服务器
# weight:权重 max_conns:根据服务器的好坏来设定最大连接数
# max_fails:失败多少次之后,认为主机以经挂掉,提出,公司资源少一般设置2~3次,多则设置1次
# down:标识这台服务器访问不了 slow_start:缓慢启动这台服务器
# backup:备用服务器
# fail_timeout:踢出后重新探测的时间
# keepalive:长连接的数量,用于提高吞吐量
# ip_hash:保证某个ip在不更改的情况下一直访问一个web服务器,用于保持session一致性
# hash $request_uri :通过urlhash算法后访问一个固定的web服务器
# least_conn:最少连接数,请求会访问到最少连接数的web服务器
upstream names{
ip_hash;
hash $request_uri;
server 192.168.1.1 slow_start=5s fail_timeout=50s weight=1 max_conns=1000 max_fails=1;
server 192.168.1.2 weight=2 backup;
server 192.168.1.3 down;
keepalive 30;
}
#设置缓存保存路径的地址
# keys_zone:设置共享内存以及占用的空间大小
# max_size:设置缓存的大小
# inactive:超过此事件则缓存自动清理
# use_temp_path:关闭临时目录
proxy_cache_path /usr/local/nginx/upstream_cache keys_zone=mycache:5m max_size=1g inactive=30s use_temp_path=off;
}
nginx.conf-配置文件模块作用解析
最新推荐文章于 2024-04-15 10:07:55 发布