在Java開(kāi)發(fā)以及生產(chǎn)環(huán)境中,最常用的web應(yīng)用服務(wù)器當(dāng)屬Tomcat,盡管這只貓也能夠處理一些靜態(tài)請(qǐng)求,例如圖片、html、樣式文件等,但是效率并不是那么盡人意。在生產(chǎn)環(huán)境中,我們一般使用Nginx代理服務(wù)器來(lái)處理靜態(tài)文件,來(lái)提升網(wǎng)站性能。
基本配置
1
2
3
4
5
6
7
8
9
10
11
12
13
|
server { listen 80; server_name file .52itstyle.com; charset utf-8; #root 指令用來(lái)指定文件在服務(wù)器上的基路徑 root /data/statics ; #location指令用來(lái)映射請(qǐng)求到本地文件系統(tǒng) location / { autoindex on; # 索引 autoindex_exact_size on; # 顯示文件大小 autoindex_localtime on; # 顯示文件時(shí)間 } } |
重啟Nginx服務(wù):
1
|
nginx -s reload |
訪問(wèn)文件服務(wù),http://file.52itstyle.com/
設(shè)置密碼
htpasswd命令是Apache的Web服務(wù)器內(nèi)置工具,用于創(chuàng)建和更新儲(chǔ)存用戶(hù)名、域和用戶(hù)基本認(rèn)證的密碼文件。
htpasswd(選項(xiàng))(參數(shù))
- -c:創(chuàng)建一個(gè)加密文件;
- -n:不更新加密文件,只將加密后的用戶(hù)名密碼顯示在屏幕上;
- -m:默認(rèn)采用MD5算法對(duì)密碼進(jìn)行加密;
- -d:采用CRYPT算法對(duì)密碼進(jìn)行加密;
- -p:不對(duì)密碼進(jìn)行進(jìn)行加密,即明文密碼;
- -s:采用SHA算法對(duì)密碼進(jìn)行加密;
- -b:在命令行中一并輸入用戶(hù)名和密碼而不是根據(jù)提示輸入密碼;
- -D:刪除指定的用戶(hù)。
實(shí)例
1
|
htpasswd -bc passwd.db itstyle 123456 |
在目錄下生成一個(gè)passwd.db文件,用戶(hù)名itstyle,密碼:123456,默認(rèn)采用MD5加密方式。
在原有密碼文件中增加下一個(gè)用戶(hù)
1
|
htpasswd -b passwd.db admin 123456 |
Nginx配置
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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)輸入用戶(hù)名密碼" ; auth_basic_user_file /usr/local/openresty/nginx/passwd .db; } } |
重啟Nginx訪問(wèn):
圖片防盜鏈
如果服務(wù)器的圖片被別的網(wǎng)站盜鏈,將影響服務(wù)器的帶寬以及訪問(wèn)速度,這時(shí)我們就需要設(shè)置圖片文件或視頻文件的防盜鏈功能。
防盜鏈功能,簡(jiǎn)單來(lái)說(shuō)就是你可以直接訪問(wèn)該資源,但是不能將我的資源鏈接放到你自己的服務(wù)器上讓別人訪問(wèn),尤其是圖片或視頻這種比較大的文件,容易導(dǎo)致服務(wù)器響應(yīng)很慢。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
server { listen 80; server_name file .52itstyle.com; charset utf-8; #root 指令用來(lái)指定文件在服務(wù)器上的基路徑 root /data/statics ; #location指令用來(lái)映射請(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
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:https://blog.52itstyle.com/archives/2389