Nginx默認是不容許進行列目錄的,若是須要使某個目錄能夠進行瀏覽,可以下設置:
如: 讓/var/www/soft 這個目錄在瀏覽器中完成列出.
1、設置目錄瀏覽
一、打開/usr/local/nginx/conf/nginx.conf,找到WebServer配置處,加入如下內容:
location /soft/ {
root /var/www/; 此處爲soft的上一級目錄
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
}
二、保存退出,重啓nginx服務便可。
[root@localhost Soft]#ps aux | grep -v grep | grep nginx | awk ‘{print $2}’ | xargs kill -9 #結束進程
[root@localhost Soft]#nginx #啓動進程
訪問你的站的:http://loalhost/soft,就能夠列出目錄了。
可是這樣的話,別人也很容易看到你目錄的內容,下面咱們像Apache那樣爲目錄加個訪問驗證。
2、設置訪問驗證
一、建立類htpasswd文件
[root@localhost Soft]#wget -c http://jafee.net/Soft/InstallPack/htpasswd.sh
[root@localhost Soft]#bash htpasswd.sh
提示輸入用戶名、密碼、及認證文件名,腳本會自動生成認證文件,這裏默認路徑是保存在了/usr/local/nginx/conf 下,若是你的nginx目錄不是這裏,能夠修改htpasswd.sh替換你的nginx目錄。
我這裏是:/usr/local/nginx/conf/test.conf #記下此路徑
二、爲Nginx添加auth認證配置
location ^~ /soft/
{
auth_basic 「MyPath Authorized」;
auth_basic_user_file /usr/local/nginx/conf/test.conf; #這裏寫前面腳本返回的文件路徑;
}
#」MyPath Authorized」爲提示信息,能夠自行修改。
三、修改好配置後,重啓nginx,訪問http://localhost/soft/ 就會提示輸入用戶名和密碼,認證成功後,便可列出目錄。
四、須要注意的是,加上認證以後該目錄下的php文件將不會被解析,會讓你下載,若是要使其可以解析php能夠將上面的配置改成:
location ^~ /soft/ {
location ~ .*\.(php|php5)?$ {
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
auth_basic 「Authorized users only」;
auth_basic_user_file /usr/local/nginx/conf/test.conf ;
}
php
五、檢查修改文件是否成功
html
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.confnginx
修改Nginx的配置文件(nginx.conf)後,想重啓Nginx,能夠經過發送系統信號給Nginx主進程的方式來進行。瀏覽器
重啓以前,要檢查下Nginx配置文件(nginx.conf)語法是否正確,不然Nginx將不會加載新的配置文件。bash
檢查Nginx配置文件是否正確:ide
/usr/local/www/nginx/sbin/nginx -t -c網站
/usr/local/www/nginx/conf/nginx.confspa
若是配置文件不正確,屏幕將會提示配置文件的第幾行出錯:.net
[emerg]:unknown directive"abc"in usr/local/www/nginx/conf/nginx.conf:55unix
Configuration file/usr/local/www/nginx/conf/nginx.conf test failed
若是配置文件正確,屏幕將提示如下兩行信息:
The configuration file/usr/loca/www/nginx/conf/nginx.conf syntax is ok
Configuration file/usr/local/www/nginx/conf/nginx.conf test is successful
六、重啓Nginx:
/usr/local/www/nginx/sbin/nginx -s reload
或:kill -HUP `cat /usr/local/www/nginx/logs/nginx.pid`
擴展:網站限制ip訪問 不容許的ip須要添加驗證。
location ^~ /soft/
{
satisfy any;
allow 127.0.0.1;
allow 192.168.1.0/24;
allow 192.168.0.0/24;
#deny all;
location ~ .*\.(php|php5)?$
{
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
auth_basic "Authorized users only";
auth_basic_user_file /usr/local/nginx/conf/zabbix_rlmt.conf ;
}
轉自 http://www.server110.com/nginx/201309/1627.html 紅色部分與以前的不一樣。