使用nginx列出目錄
準備工作 – 安裝nginx和創建一些目錄和文件:
復制代碼?代碼如下:
$ sudo apt-get install nginx
$ cd /usr/share/nginx
$ mkdir web
$ sudo mkdir directory{1,2,3}
$ sudo touch file{1,2,3}
$ ls
directory1? directory2? directory3? file1? file2? file3
nginx配置:
復制代碼?代碼如下:
$ sudo vim /etc/nginx/conf.d/list.conf?
server {
??? listen?????? 80;
??? server_name? 192.168.1.201;
??? root /usr/share/nginx/web;
??? index index.html;
??? autoindex on;
??? autoindex_exact_size off;
??? autoindex_localtime on;
}
$ sudo service nginx restart/reload
當訪問http://192.168.1.201,屏幕顯示:
現在就可以用web服務器來共享文件;但前提是根目錄下必須沒有index.html文件。
授權訪問指定的目錄
有些目錄不想讓所有人看到,只有指定的用戶輸入密碼后才能訪問,例如directory只能由test1訪問:
step1安裝htpasswd
復制代碼?代碼如下:
$ sudo apt-get install apache2-utils
step2創建密碼文件
復制代碼?代碼如下:
$ sudo htpasswd -c /home/test/.htpasswd test1
new password:
re-type new password:
adding password for user test1?
step3修改nginx配置文件
復制代碼?代碼如下:
$ sudo vim /etc/nginx/conf.d/list.conf
server {
??? listen?????? 80;
??? server_name? 192.168.1.201;
??? root /usr/share/nginx/web;
??? index index.html;
??? autoindex on;
??? autoindex_exact_size off;
??? autoindex_localtime on;
??? location ^~/directory1/ {
??????? auth_basic??????????? “input you user name and password”;
??????? auth_basic_user_file? /home/test/.htpasswd;
??? }
}
重啟nginx服務后,訪問directory1目錄時會提示輸入登入信息: