#user nobody;worker_processes auto;#error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info;#pid logs/nginx.pid;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; #access_log logs/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; # 开启gzip压缩功能,目的:提高传输效率,节约带宽 gzip on; # 限制最小压缩,小于一个字节的不压缩 gzip_min_length 1; # 定义压缩的级别,即压缩比,文件越大,压缩越多,但是cpu使用也越多 gzip_comp_level 3; # 要压缩的文件类型 gzip_types image/jpeg image/jpg image/png image/gif text/css; # 负载均衡 #upstream congbo { # ip_hash; ===> 涉及到hash算法(依据服务节点数node_counts取余来分配访问的服务器,一旦宕机、新增服务器,就会重新计算,取ip前3位)和一致性hash算法(依据hsah在1~2^31-1来分配位置,就近向前选择服务器访问,宕机和新增时,只改变部分访问,其它不变) # hash $request_uri; ===> url_hash模式 # least_conn; 最少连接数模式(请求连接至连接数最少的服务上) # server 192.168.8.128; # server 192.168.8.129; # 数值32代表我们要保持的连接数(可以把我们的链接变成一个长链接,长连接可以减少链接的创建、维护、关闭的网络的损耗) # keepalive 32; # (设置1) #} # 参数说明: # 负载均衡的方式:轮询(默认)、权重weight、ip_hash、url_hash、least_conn、fair依据响应时间长短来 # max_conns=n(多次请求,一般超过n次的会失败)、slow_start=60s(需要赋值权重,在规定时间内,权重值从0到设定的权重值)、down(设置之后,该服务不能再访问,设置ip_hash后,如果该服务宕机,不能直接删除,可以先dwon设置)、backup(相当于一个备份服务,一般在主服务挂掉之后才启用) # max_fail=n(最大失败次数,当失败次数达到n次时,该服务被判定为宕机,服务会被剔除出负载均衡,之后请求不会再发送至该服务上) # fail_timeout=15s(一般max_fails和fail_timeout一起使用,在15s之内,如果失败次数达到n次,该服务会被暂停15s,这段时间请求不会发送至该服务,15s之后请求会再次尝试发送至该服务,若还是失败,会继续暂停15s,循环往复直到该服务正常) #server { # listen 99; # server_name www.congbo.com; # location / { # proxy_pass http://congbo; # proxy_http_version 1.1; # 1.1代表时长链接(设置2) # proxy_set_header Connection ""; # (设置3) # } #} # 反向代理缓存(上游服务器缓存到nginx端) # proxy_cache_path 设置缓存保存的目录 # keys_zone 设置共享内存以及占用的空间大小为5兆 # 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; server { listen 80; server_name 192.168.8.128; #charset koi8-r; #access_log logs/host.access.log main; # 跨域处理 # 允许跨域请求的域 add_header 'Access-Control-Allow-Origin' *; # 允许带上cookie请求 add_header 'Access-Control-Allow-Credentials' 'true'; # 允许请求的方法 add_header 'Access-Control-Allow-Methods' *; # 允许请求的header add_header 'Access-Control-Allow-Header' *; #对源站点验证 #valid_referers *.congbo.com; #非法引入会进入下方判断 #if ($invalid_referer) { # return 404; #} # 斜杠/可以理解为nginx目录下的root所指的文件夹,root没有对应东西,默认为html location / { root html; index index.html index.htm; } location /vue-beauty { root html; index index.html index.htm; } # root可以直接定位到某目录下 #location / { #root html/vue-beauty; #index index.html index.htm; #} # 可以使用路径别名,使用/app访问的就都是html/vue-beauty下的文件了,默认转到index.html了; location /app { alias html/vue-beauty; # 浏览器缓存(静态资源缓存到浏览器) expires @22h30m; # expires 10s; # 缓存在10s之后失效,再次请求就是重新拉取资源code=200(对应请求的响应头里面可以查看expires参数); # expires @22h30m; # 缓存在晚十点半失效(具体时间点) # expires -1h; # 缓存在此次请求的前一个小时就已失效,相当于勾选disable_cache不缓存 # expires epoch; # 不缓存 # expires off; # 使用浏览器默认的缓存机制 # expires max; # 使用一个比较大的过期时间 # 反向代理缓存 # 开启并使用缓存 proxy_cache mycache; # 针对200和304状态码的缓存设置过期时间 proxy_cache_valid 200 304 8h; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } server { listen 81; server_name 192.168.8.128; # 正则匹配,区分大小写(正则有,资源也有) location ~ \.(jpeg|jpg|png|gif|JPEG|JPG|PNG|GIF) { root html/vue-beauty/static/imgCopy; } } server { listen 90; server_name 192.168.8.128; # "="号即为严格匹配 location = /vue-beauty/static/img/landie.png { root html; } # 正则匹配模式,使用右斜杠,*代表不区分大小写(即:在访问大写的JPEG格式图片时,不需要在正则里面加上JPEG匹配项,但是大写的JPEG图片资源需要真实存在才行) location ~* \.(jpeg|jpg|png|gif) { root html/vue-beauty/static/img; } }}