您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Nginx如何配置靜態文件服務器,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
在Java開發以及生產環境中,最常用的web應用服務器當屬Tomcat,盡管這只貓也能夠處理一些靜態請求,例如圖片、html、樣式文件等,但是效率并不是那么盡人意。在生產環境中,我們一般使用Nginx代理服務器來處理靜態文件,來提升網站性能。
基本配置
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服務器內置工具,用于創建和更新儲存用戶名、域和用戶基本認證的密碼文件。
htpasswd(選項)(參數)
-c:創建一個加密文件;
-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如何配置靜態文件服務器”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。