nginx学习(一)

查看 nginx 安装目录

ps -ef | grep nginx
 

nigix基本结构
 main  全局配置
 event  配置工作模式以及连接
 http  http模块相关配置
    server      虚拟服务器配置 可以有多个
    location   路由规则     
    upstream 集群,内网服务器
 


二、查看配置文件 nginx.conf 路径 

nginx -t

当然也可以使用 find 命令进行文件查找

# 从 / 根目录下查找文件名为 nginx.conf 的文件
find / -name nginx.conf
# 从 /etc 目录下查找文件名为 nginx.conf 的文件
find /etc -name nginx.conf


三  giz压缩相关配置

 1 gzip on 开启gzip压缩
 2 gzip_min_length  1  (小于1字节不会压缩)
 3 gzip_comp_level  3 ( 压缩级别,1-9 )
 4 gzip_ctypes  (定义压缩文件的类型)


四 静态资源
  几种配置方式 (可以有多个location,公用一个端口)

{
     listen 90
     server_name localhost
     location / {
              root /home/static ;    #访问/home/pic/1.jpg 可以访问index.html
        index index.html
     }
    
    location /pic {
         root /home    #访问/home/pic/1.jpg 可以访问
    }
      
    location /image {
        alias  /home/static    #采用别名的方式  访问/home/image/1.jpg 可以访问
    }  别名的方式隐藏了真实的服务器路径是一种比较好的方式
}

location的匹配规则

server{
              (1 精准匹配)
    liten 91
                server_name  location
                location =/ img/1.jpg {   # =表示精确匹配,只能访问/home/img/1.jpg其他无法访问
        root  /home
                }
    (1 正则匹配)
     location =~*\.(gif|png|jpg|jpeg) {   # =表示只要是访问/home/i下的图片都能访问到
        root  /home
                }
}

五 静态资源如何防止盗连?
server{
     valid_referers *.baidu.com;
     if($invalid_referer){
        return 404
     }
    location{
        xxx
           }
}
如果访问的静态资源不是在baidu.com域下,则视为无效的,无法访问

六 负载均衡

niginx默认的负载均衡采用的是轮询的策略,通过upstream可以设置负载均衡;
当然也可以给服务器添加权重来分配服务器负载
upstream{
 server 192.168.1.23:8080 weight=1
 server 192.168.1.170:8080 weight=5
 server 192.168.1.180:8080 weight=3
}
#我们给170的服务器设置权重为5,它拥有最高的权重,其实是180的服务器,也就是意味着
#170的服务器会优先接收客户端http请求
server{
     listen 80
      server_name www.baidu.com
     location /{
      }
}

负载均衡的配置大多通过再upstream指令中配置,配置项中间用空格隔开 常见的有
upstream{
 server 192.168.1.23:8080 max_conns
 server 192.168.1.170:8080 slow_start
 server 192.168.1.180:8080 down (停掉该服务器)
 server 192.168.1.190:8080 max_fails fail_timeout ()
 server 192.168.1.120:8080 backup (备份服务器当其他服务停止时该服务器会运行)
}

nginx缓存处理---
niginx的缓存主要分两部分,一部分是针对浏览器客户端,niginx的缓存处理主要是通过expires指令实现的;
其具体参数配置有如下几种形式:另外一部分是针对上游服务器。首先看针对浏览器的配置
server{
    exipres 10s   #10s以后过期
    expires @xxhxxm  @22h30m  #表示每天的22:30过期
      expires -[time]     -1h #表示已经过期类似于cookie的设置
    expires epoch    强制不缓存
    expires max    nigix自动设置一个最大的过期时间,强制缓存
    expires off    关闭缓存,采用默认行为

}
而针对上游服务器的缓存处理,只要是通过proxy_cache_path这个指令来实现的
proxy_cache_path  /usr/local/nignx/upstream_cache keys_zone=mycache:5m max_size=1g inactive=30s use_temp_path=off
upstream{
}
#key_zone 设置共享内存以及占用的空间大小
#max_size 设置缓存大小
#inactive 超过此事件则缓存自动清理
#use_temp_path 关闭临时目录
server{
}
 

你可能感兴趣的:(nginx,服务器,linux)