nginx配置

Nginx 配置

1.配置文件语法格式

worker_processes 1;
events {
	worker_connections 1024;
} 
http {
    include mime.types;
    default_type application/octet-stream;
    sendfile on;
    keepalive_timeout 65;
    server {
    	listen 80;
    	server_name localhost;
        location / {
            root html;
            index index.html index.htm;
        }
        location /nginx_status {
            stub_status on;
            access_log off;
        }
	}
}

​ 上述配置中的events、http、server、location、upstream 等属于配置项块。而worker_processes 、worker_connections、include、listen 属于配置项块中的属性。 /nginx_status 属于配置块的特定参数参数。其中 server 块嵌套于 http块,其可以直接继承访问 Http 块当中的参数。

配置块名称开头用大口号包裹其对应属性
属性基于空格切分属性名与属性值,属性值可能有多个项都以空格进行切分如:
access_log logs/host.access.log main
参数其配置在块名称与大括号间,其值如果有多个也是通过空格进行拆分

注意:如果配置项值中包括语法符号,比如空格符,那么需要使用单引号或双引号括住配置项值,否则 Nginx 会报语法错误。例如:

log_format main '$remote_addr - $remote_user [$time_local] "$request"'
'$status $body_bytes_sent "$http_referer"'
'"$http_user_agent" "$http_x_forwarded_for"';

2.配置一个静态的web服务

	server {
		listen 80;
    	server_name localhost;
        location / {
            root /usr/local/test/html;
            index index.html;
        }
	}

(1)监听端口

语法:listen address:
默认:listen 80;
配置块:server

(2)主机名称

语法:server_name name[……];
默认:server_name “”;
配置块:server
server_name 后可以跟多个主机名称,支持通配符与正则,如:
server_name www.testweb.com download.testweb.com;

(3)location

语法:location[=|~|~*|^~|@]/uri/{……}
配置块:server
1.=表示把 URI 作为字符串,以便与参数中的 uri 做完全匹配。
2./ 基于 uri 目录匹配
3.~表示正则匹配 URI 时是字母大小写敏感的。
4.~*表示正则匹配 URI 时忽略字母大小写问题。
5.^~表示正则匹配 URI 时只需要其前半部分与 uri 参数匹配即可。

匹配优先规则:

1.精确匹配优先 =
2.正则匹配优先 ^~
3.前缀最大匹配优先。
4.配置靠前优化

**(4)root 指定站点根目录 **

可配置在 server 与 location 中,基于 ROOT 路径+URL 中路径去寻找指定文件。

(5)alias 指定站点别名

只能配置 location 中。基于 alias 路径+ URL 移除 location 前缀后的路径来寻找文件。
如下示例:

location /V1 {
alias /www/old_site;
index index.html index.htm;
}

访问规则如下:
URL:http://xxx:xx/V1/a.html
最终寻址:/www/old_site/a.thml

3.基于目录动静分离

server {
    listen 80;
    server_name *.test.com;
    root /usr/www/test;
    location / {
    	index index.html;
    }
    location /static {
    	alias /usr/www/static;
    }
}

4.基于正则的动静分离

location ~* \.(gif|jpg|png|css|js)$ {
	root /usr/www/static;
}

5.防盗链配置

# 加入至指定 location 即可实现
location / {
	index index.html
    valid_referers none blocked *.test.com;
    if ($invalid_referer) {
        return 403;
    }
}

7.下载限速

location /download {
    limit_rate 1m; // 限制每S下载速度
    limit_rate_after 30m; // 超过30之后在下载
}

8.创建IP黑名单

# 封禁指定 IP
deny 192.168.0.1;
allow 192.168.0.1;

# 开放指定 IP 段
allow 192.168.0.0/24;

#开放指定 IP 段
allow 192.168.0.0/24;

# 封禁所有
deny all;

# 开放所有
allow all;

# 创建黑名单文件
echo 'deny 192.168.0.132;' >> balck.ip
# http配置块中引入黑名单文件
include black.ip;  

9.日志配置

语法:error_log /path/file level;
默认:error_log logs/error.log error;
level 是日志的输出级别,取值范围是 debug、info、notice、warn、error、crit、alert、emerg,
针对指定的客户端输出 debug 级别的日志
语法:debug_connection[IP|CIDR]
events {
debug_connection 192.168.0.147;
debug_connection 10.224.57.0/200;
}
注意:debug 日志开启 必须在安装时 添加 --with-debug (允许 debug)
nginx.conf

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值