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