1. #user nobody;
    2. worker_processes auto;
    3. #error_log logs/error.log;
    4. #error_log logs/error.log notice;
    5. #error_log logs/error.log info;
    6. #pid logs/nginx.pid;
    7. events {
    8. worker_connections 1024;
    9. }
    10. http {
    11. include mime.types;
    12. default_type application/octet-stream;
    13. #access_log logs/access.log main;
    14. sendfile on;
    15. #tcp_nopush on;
    16. keepalive_timeout 65;
    17. # 开启gzip压缩功能,目的:提高传输效率,节约带宽
    18. gzip on;
    19. # 限制最小压缩,小于一个字节的不压缩
    20. gzip_min_length 1;
    21. # 定义压缩的级别,即压缩比,文件越大,压缩越多,但是cpu使用也越多
    22. gzip_comp_level 3;
    23. # 要压缩的文件类型
    24. gzip_types image/jpeg image/jpg image/png image/gif text/css;
    25. # 负载均衡
    26. #upstream congbo {
    27. # ip_hash; ===> 涉及到hash算法(依据服务节点数node_counts取余来分配访问的服务器,一旦宕机、新增服务器,就会重新计算,取ip前3位)和一致性hash算法(依据hsah在1~2^31-1来分配位置,就近向前选择服务器访问,宕机和新增时,只改变部分访问,其它不变)
    28. # hash $request_uri; ===> url_hash模式
    29. # least_conn; 最少连接数模式(请求连接至连接数最少的服务上)
    30. # server 192.168.8.128;
    31. # server 192.168.8.129;
    32. # 数值32代表我们要保持的连接数(可以把我们的链接变成一个长链接,长连接可以减少链接的创建、维护、关闭的网络的损耗)
    33. # keepalive 32; # (设置1)
    34. #}
    35. # 参数说明:
    36. # 负载均衡的方式:轮询(默认)、权重weight、ip_hash、url_hash、least_conn、fair依据响应时间长短来
    37. # max_conns=n(多次请求,一般超过n次的会失败)、slow_start=60s(需要赋值权重,在规定时间内,权重值从0到设定的权重值)、down(设置之后,该服务不能再访问,设置ip_hash后,如果该服务宕机,不能直接删除,可以先dwon设置)、backup(相当于一个备份服务,一般在主服务挂掉之后才启用)
    38. # max_fail=n(最大失败次数,当失败次数达到n次时,该服务被判定为宕机,服务会被剔除出负载均衡,之后请求不会再发送至该服务上)
    39. # fail_timeout=15s(一般max_fails和fail_timeout一起使用,在15s之内,如果失败次数达到n次,该服务会被暂停15s,这段时间请求不会发送至该服务,15s之后请求会再次尝试发送至该服务,若还是失败,会继续暂停15s,循环往复直到该服务正常)
    40. #server {
    41. # listen 99;
    42. # server_name www.congbo.com;
    43. # location / {
    44. # proxy_pass http://congbo;
    45. # proxy_http_version 1.1; # 1.1代表时长链接(设置2)
    46. # proxy_set_header Connection ""; # (设置3)
    47. # }
    48. #}
    49. # 反向代理缓存(上游服务器缓存到nginx端)
    50. # proxy_cache_path 设置缓存保存的目录
    51. # keys_zone 设置共享内存以及占用的空间大小为5兆
    52. # max_size 设置缓存大小
    53. # inactive 超过此时间,缓存自动清理
    54. # use_temp_path 关闭临时目录
    55. proxy_cache_path /usr/local/nginx/upstream_cache keys_zone=mycache:5m max_size=1g inactive=30s use_temp_path=off;
    56. server {
    57. listen 80;
    58. server_name 192.168.8.128;
    59. #charset koi8-r;
    60. #access_log logs/host.access.log main;
    61. # 跨域处理
    62. # 允许跨域请求的域
    63. add_header 'Access-Control-Allow-Origin' *;
    64. # 允许带上cookie请求
    65. add_header 'Access-Control-Allow-Credentials' 'true';
    66. # 允许请求的方法
    67. add_header 'Access-Control-Allow-Methods' *;
    68. # 允许请求的header
    69. add_header 'Access-Control-Allow-Header' *;
    70. #对源站点验证
    71. #valid_referers *.congbo.com;
    72. #非法引入会进入下方判断
    73. #if ($invalid_referer) {
    74. # return 404;
    75. #}
    76. # 斜杠/可以理解为nginx目录下的root所指的文件夹,root没有对应东西,默认为html
    77. location / {
    78. root html;
    79. index index.html index.htm;
    80. }
    81. location /vue-beauty {
    82. root html;
    83. index index.html index.htm;
    84. }
    85. # root可以直接定位到某目录下
    86. #location / {
    87. #root html/vue-beauty;
    88. #index index.html index.htm;
    89. #}
    90. # 可以使用路径别名,使用/app访问的就都是html/vue-beauty下的文件了,默认转到index.html了;
    91. location /app {
    92. alias html/vue-beauty;
    93. # 浏览器缓存(静态资源缓存到浏览器)
    94. expires @22h30m;
    95. # expires 10s; # 缓存在10s之后失效,再次请求就是重新拉取资源code=200(对应请求的响应头里面可以查看expires参数);
    96. # expires @22h30m; # 缓存在晚十点半失效(具体时间点)
    97. # expires -1h; # 缓存在此次请求的前一个小时就已失效,相当于勾选disable_cache不缓存
    98. # expires epoch; # 不缓存
    99. # expires off; # 使用浏览器默认的缓存机制
    100. # expires max; # 使用一个比较大的过期时间
    101. # 反向代理缓存
    102. # 开启并使用缓存
    103. proxy_cache mycache;
    104. # 针对200和304状态码的缓存设置过期时间
    105. proxy_cache_valid 200 304 8h;
    106. }
    107. error_page 500 502 503 504 /50x.html;
    108. location = /50x.html {
    109. root html;
    110. }
    111. }
    112. server {
    113. listen 81;
    114. server_name 192.168.8.128;
    115. # 正则匹配,区分大小写(正则有,资源也有)
    116. location ~ \.(jpeg|jpg|png|gif|JPEG|JPG|PNG|GIF) {
    117. root html/vue-beauty/static/imgCopy;
    118. }
    119. }
    120. server {
    121. listen 90;
    122. server_name 192.168.8.128;
    123. # "="号即为严格匹配
    124. location = /vue-beauty/static/img/landie.png {
    125. root html;
    126. }
    127. # 正则匹配模式,使用右斜杠,*代表不区分大小写(即:在访问大写的JPEG格式图片时,不需要在正则里面加上JPEG匹配项,但是大写的JPEG图片资源需要真实存在才行)
    128. location ~* \.(jpeg|jpg|png|gif) {
    129. root html/vue-beauty/static/img;
    130. }
    131. }
    132. }