一.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文件中