查看 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{ } ?
|