Nginx學(xué)習(xí)之靜態(tài)文件服務(wù)器配置方法
在Java開發(fā)以及生產(chǎn)環(huán)境中,最常用的web應(yīng)用服務(wù)器當(dāng)屬Tomcat,盡管這只貓也能夠處理一些靜態(tài)請(qǐng)求,例如圖片、html、樣式文件等,但是效率并不是那么盡人意。在生產(chǎn)環(huán)境中,我們一般使用Nginx代理服務(wù)器來處理靜態(tài)文件,來提升網(wǎng)站性能。
基本配置
server {
listen 80;
server_name file.52itstyle.com;
charset utf-8;
#root 指令用來指定文件在服務(wù)器上的基路徑
root /data/statics;
#location指令用來映射請(qǐng)求到本地文件系統(tǒng)
location / {
autoindex on; # 索引
autoindex_exact_size on; # 顯示文件大小
autoindex_localtime on; # 顯示文件時(shí)間
}
}
重啟Nginx服務(wù):
nginx -s reload
訪問文件服務(wù),http://file.52itstyle.com/

設(shè)置密碼
htpasswd命令是Apache的Web服務(wù)器內(nèi)置工具,用于創(chuàng)建和更新儲(chǔ)存用戶名、域和用戶基本認(rèn)證的密碼文件。
htpasswd(選項(xiàng))(參數(shù))
- -c:創(chuàng)建一個(gè)加密文件;
- -n:不更新加密文件,只將加密后的用戶名密碼顯示在屏幕上;
- -m:默認(rèn)采用MD5算法對(duì)密碼進(jìn)行加密;
- -d:采用CRYPT算法對(duì)密碼進(jìn)行加密;
- -p:不對(duì)密碼進(jìn)行進(jìn)行加密,即明文密碼;
- -s:采用SHA算法對(duì)密碼進(jìn)行加密;
- -b:在命令行中一并輸入用戶名和密碼而不是根據(jù)提示輸入密碼;
- -D:刪除指定的用戶。
實(shí)例
htpasswd -bc passwd.db itstyle 123456
在目錄下生成一個(gè)passwd.db文件,用戶名itstyle,密碼:123456,默認(rèn)采用MD5加密方式。
在原有密碼文件中增加下一個(gè)用戶
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; # 顯示文件時(shí)間
auth_basic "請(qǐng)輸入用戶名密碼";
auth_basic_user_file /usr/local/openresty/nginx/passwd.db;
}
}
重啟Nginx訪問:

圖片防盜鏈
如果服務(wù)器的圖片被別的網(wǎng)站盜鏈,將影響服務(wù)器的帶寬以及訪問速度,這時(shí)我們就需要設(shè)置圖片文件或視頻文件的防盜鏈功能。
防盜鏈功能,簡單來說就是你可以直接訪問該資源,但是不能將我的資源鏈接放到你自己的服務(wù)器上讓別人訪問,尤其是圖片或視頻這種比較大的文件,容易導(dǎo)致服務(wù)器響應(yīng)很慢。
server {
listen 80;
server_name file.52itstyle.com;
charset utf-8;
#root 指令用來指定文件在服務(wù)器上的基路徑
root /data/statics;
#location指令用來映射請(qǐng)求到本地文件系統(tǒng)
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服務(wù),測(cè)試一下圖片鏈接:http://file.52itstyle.com/NFS_C.png
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
一文詳解Nginx的強(qiáng)緩存和協(xié)商緩存
這篇文章主要為大家詳細(xì)介紹了Nginx中強(qiáng)緩存和協(xié)商緩存的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-03-03
Nginx下Frp強(qiáng)制重定向?yàn)閔ttps配置詳解
這篇文章主要介紹了Nginx下Frp強(qiáng)制重定向?yàn)閔ttps配置詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-04-04
Nginx Rewrite使用場(chǎng)景及配置方法解析
這篇文章主要介紹了Nginx Rewrite使用場(chǎng)景及配置方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
Waiting for server respnse耗時(shí)過長原因排查及解決
這篇文章主要給大家介紹了關(guān)于Waiting for server respnse耗時(shí)過長原因排查及解決的相關(guān)資料,文中將解決的辦法介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-05-05
nginx https反向代理tomcat的2種實(shí)現(xiàn)方法
這篇文章主要給大家介紹了關(guān)于nginx https反向代理tomcat的2種實(shí)現(xiàn)方法,第一種方法是nginx配置https,tomcat也配置https,第二種方法是nginx采用https,tomcat采用http,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下。2017-12-12
nginx里的rewrite跳轉(zhuǎn)的實(shí)現(xiàn)
這篇文章主要介紹了nginx里的rewrite跳轉(zhuǎn)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11

