一.nginx常见使用方式
1.客户端缓存
对于一些静态资源文件,nginx提供客户端缓存功能,告诉浏览器,什么类型的文件你可以缓存,多久内有效,浏览器可以选择使用缓存,也可以不使用该缓存,每次都从服务端下载
location ~ .(js|css|jpg|png) {
expires 1h;
}
所有的js,css,jpg,png文件都可以缓存
1h 1小时内有效
1d 1天内有效
2.基于ip的访问控制
server {
...
# 拒绝10.1.1.1主机访问
deny 10.1.1.1;
# 允许192.168.211.102访问
allow 192.168.211.102;
...
}
3.基于用户的访问控制
(1)安装httpd-tools
yum -y install httpd-tools
(2)设置授权用户及密码
htpasswd -c /usr/local/nginx/conf/userlist devops
-c 执行授权用户所在文件
devops为用户名
[root@server01 nginx]# cat conf/userlist
devops:nOyiAqvqvgcqE
(3)配置文件
server {
...
# 用户访问控制,auth_basic 提示语
auth_basic "pls login";
# 指定授权用户文件
auth_basic_user_file /usr/local/nginx/conf/userlist;
...
}
3.目录列表展示
当匹配到的location下没有找到对应的index.html,index.php等文件时,会展示访问目录下的文件列表,可以做下载使用
location / {
# 开启列表展示功能
autoindex on;
# 人性化方式显示文件的大小
autoindex_exact_size off;
# 显示本地时间,加8小时展示
autoindex_localtime on;
}
二.日志管理
1.访问日志
记录server段的访问记录
/usr/local/nginx/logs/access.log
2.错误日志
nginx启动,运行过程中出现的错误记录在该文件中
/usr/local/nginx/logs/error.log
3.基于域名的日志切割
不同的server段可以配置不同的域名访问
将access访问日志定义在对应的server段下,就可以记录该server的访问日志
# 自定义日志格式
log_format shoplog '$remote_addr@$time_local@$status@$http_user_agent' server { listen 80; server_name devops.shop.com;
# 自定义日志路径,日志文件名称,日志内容格式 access_log /usr/local/nginx/logs/shop.devops.com.log shoplog; ... }
所有访问devops.shop.com的记录都会被记录在/usr/local/nginx/logs/shop.devops.com.log文件中