Nginx學習之靜態(tài)文件服務器配置方法
在Java開發(fā)以及生產環(huán)境中,最常用的web應用服務器當屬Tomcat,盡管這只貓也能夠處理一些靜態(tài)請求,例如圖片、html、樣式文件等,但是效率并不是那么盡人意。在生產環(huán)境中,我們一般使用Nginx代理服務器來處理靜態(tài)文件,來提升網站性能。
基本配置
server { listen 80; server_name file.52itstyle.com; charset utf-8; #root 指令用來指定文件在服務器上的基路徑 root /data/statics; #location指令用來映射請求到本地文件系統 location / { autoindex on; # 索引 autoindex_exact_size on; # 顯示文件大小 autoindex_localtime on; # 顯示文件時間 } }
重啟Nginx服務:
nginx -s reload
訪問文件服務,http://file.52itstyle.com/
設置密碼
htpasswd命令是Apache的Web服務器內置工具,用于創(chuàng)建和更新儲存用戶名、域和用戶基本認證的密碼文件。
htpasswd(選項)(參數)
- -c:創(chuàng)建一個加密文件;
- -n:不更新加密文件,只將加密后的用戶名密碼顯示在屏幕上;
- -m:默認采用MD5算法對密碼進行加密;
- -d:采用CRYPT算法對密碼進行加密;
- -p:不對密碼進行進行加密,即明文密碼;
- -s:采用SHA算法對密碼進行加密;
- -b:在命令行中一并輸入用戶名和密碼而不是根據提示輸入密碼;
- -D:刪除指定的用戶。
實例
htpasswd -bc passwd.db itstyle 123456
在目錄下生成一個passwd.db文件,用戶名itstyle,密碼:123456,默認采用MD5加密方式。
在原有密碼文件中增加下一個用戶
htpasswd -b passwd.db admin 123456
Nginx配置
server { listen 80; server_name file.52itstyle.com; charset utf-8; root /data/share; location / { autoindex on; # 索引 autoindex_exact_size on; # 顯示文件大小 autoindex_localtime on; # 顯示文件時間 auth_basic "請輸入用戶名密碼"; auth_basic_user_file /usr/local/openresty/nginx/passwd.db; } }
重啟Nginx訪問:
圖片防盜鏈
如果服務器的圖片被別的網站盜鏈,將影響服務器的帶寬以及訪問速度,這時我們就需要設置圖片文件或視頻文件的防盜鏈功能。
防盜鏈功能,簡單來說就是你可以直接訪問該資源,但是不能將我的資源鏈接放到你自己的服務器上讓別人訪問,尤其是圖片或視頻這種比較大的文件,容易導致服務器響應很慢。
server { listen 80; server_name file.52itstyle.com; charset utf-8; #root 指令用來指定文件在服務器上的基路徑 root /data/statics; #location指令用來映射請求到本地文件系統 location ~*^.+\.(gif|jpg|png|jpeg)$ { expires 30d; valid_referers none blocked file.52itstyle.com; if ($invalid_referer) { rewrite ^/ http://www.52itstyle.com/404.jpg; } } }
重啟Nginx服務,測試一下圖片鏈接:http://file.52itstyle.com/NFS_C.png
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
nginx和lvs各自的優(yōu)劣以及適合的使用環(huán)境
這篇文章主要介紹了nginx和lvs各自的優(yōu)劣以及適合的使用環(huán)境,幫助大家選擇符合需求的服務器,感興趣的朋友可以了解下2020-10-10