LNMP设置Nginx浏览目录权限

在学习Linux时,Web环境是LNMP,在使用过程中浏览目录时提示没有权限,要打开这个功能需要做以下操作

打开 nginx.conf 配置文件

在 location server 中或 http 代码片段中加入 autoindex on

通过以上两个设置就可以了,不过下面两个参数可以根据自身需求来选择设置

参数:autoindex_exact_size off;

说明:默认为on,显示出文件的确切大小,单位是bytes。 改为off后,显示出文件的大概大小,单位是kB或者MB或者GB

参数:autoindex_localtime on;

说明:默认为off,显示的文件时间为GMT时间。 改为on后,显示的文件时间为文件的服务器时间

如: 让/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;
}

2、保存退出,重启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那样为目录加个访问验证。

二、设置访问验证

1、创建类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  #记下此路径

2、为Nginx添加auth认证配置

location ^~ /soft/
{
auth_basic “MyPath Authorized”;
auth_basic_user_file  /usr/local/nginx/conf/test.conf;    #这里写前面脚本返回的文件路径;
}

#”MyPath Authorized”为提示信息,可以自行修改。

3、修改好配置后,重启nginx,访问http://localhost/soft/ 就会提示输入用户名和密码,认证成功后,即可列出目录。

4、需要注意的是,加上认证之后该目录下的php文件将不会被解析,会让你下载,如果要使其能够解析php可以将上面的配置改为:

location ^~ /soft/ {
location ~ .*\.(php|php5)?$ {
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fcgi.conf;
}
auth_basic “Authorized users only”;
auth_basic_user_file /usr/local/nginx/conf/test.conf ;
}

最后,重启一下Nginx就可以了。

时间: 2024-08-18 20:21:03

LNMP设置Nginx浏览目录权限的相关文章

设置Nginx浏览目录权限的方法

在学习Linux时,Web环境是LNMP,在使用过程中浏览目录时提示没有权限,要打开这个功能需要做以下操作 打开 nginx.conf 配置文件 在 location server 中或 http 代码片段中加入 autoindex on 通过以上两个设置就可以了,不过下面两个参数可以根据自身需求来选择设置 参数:autoindex_exact_size off; 说明:默认为on,显示出文件的确切大小,单位是bytes. 改为off后,显示出文件的大概大小,单位是kB或者MB或者GB 参数:a

C#设置与获取目录权限(.net控制ACL)

想用c#来设置和读取ntfs分区上的目录权限,找了很多资料,未果.终于发现了一段vb.net的代码,做了修改,以C#展示给大家. using System; using System.Collections; using System.IO; using System.Security.AccessControl; static class Tester { public static void Main() { try { string filename = @"f:\k"; //目

请问403 Forbidden nginx怎么解决,目录权限没问题,nginx有设置index.html和index.php

问题描述 请问403Forbiddennginx怎么解决,目录权限没问题,nginx有设置index.html和index.php

iis 7设置目录权限需要注意的问题

  前段时间在windows server 2008 r2 (x64)服务器上配置好IIS 7.5+PHP(FASTCGI)+MYSQL以后,运行一直还算正常.直到昨天因为在线备份mysql失败而焦头烂额. php显示执行成功,但是显示执行时间是一个天文数字--这样的情况在以前配置nginx或者apache的php环境下也遇见过,原因无非是php内存限制过小,或者超时时间设置过小所致.然而修改fastcgi执行时间,加大php内存以后,问题依旧. 然后考虑到执行权限的问题,于是把默认的4个账户(

laravel框架的安装使用、目录权限设置

前置条件 增加mcrypt 如果想偷懒ubuntu用户直接 apt-get install php5-mcrypt,发现还是不能用,修改/usr/local/php/lib/php.ini(每个人有差异,同时cli模式下也需要增加)增加下面内容 extension=mcrypt.so 如果你想自己编译安装,可以参考下文的openssl安装方法. 增加openssl的配置 我是从之前的PHP源码编译安装的.因为我之前的PHP源码还在的. cd ~/php-5.5.16/ext/openssl  

Nginx中php-fpm进程目录权限防跨站配置

Nginx下开多个虚拟机网站防跨站是首要的任务,PHP5.3之前的版本不支持open_basedir,只能通过控制PHP-cgi进程及目录用户权限进行限制,防止跨站访问. 先了解一下网站正常运行所用到的用户.目录权限: Nginx进程运行用户:接收用户请求,处理静态文件,如果是PHP则转给PHP-CGI处理,网站目录拥有读权限. PHP-cgi进程用户:处理PHP文件,网站目录拥有读权限,个别目录需要写入权限. 让每个网站使用单独的PHP-CGI进程,创建PHP-FPM配置文件,修改以下:  

IIS7目录权限设置的问题详解

前段时间在windows server 2008 r2 (x64)服务器上配置好IIS 7.5+PHP(FASTCGI)+MYSQL以后,运行一直还算正常.直到昨天因为在线备份mysql失败而焦头烂额. php显示执行成功,但是显示执行时间是一个天文数字--这样的情况在以前配置nginx或者apache的php环境下也遇见过,原因无非是php内存限制过小,或者超时时间设置过小所致.然而修改fastcgi执行时间,加大php内存以后,问题依旧. 然后考虑到执行权限的问题,于是把默认的4个账户(创立

文件/目录权限设置命令chmod的详细用法

chmod是文件/目录权限设置的命令,在Linux中经常遇到,本博文以下总结chmod的详细用法.  Linux/Unix的档案调用权限分为三级,即档案拥有者user.群组group.其他other.u表示该档案的拥有者,g表示与该档案的拥有者属于同一个群体(group)者,o表示其他以外的人,a表示这三者皆是. + 表示增加权限.- 表示取消权限.= 表示唯一设定权限. r表示可读取,w表示可写入,x表示可执行.   举例说明: (1).将档案file1.txt 设为所有人皆可读取: chmo

CentOS 6.3安装Nginx开启目录浏览、下载功能

本次实验实现目的: 安装Nginx,Nginx开启目录浏览.下载功能,开机默认启动:咐件自带开机启动脚本.重启脚本: 1.关闭SELINUX 查看获取SELinux的状态: [root@localhost ~]# getenforce [root@localhost ~]# vim /etc/selinux/config SELINUX=disabled    #默认为:enforcing 2.添加开放nginx端口号 查看获取iptables的状态: [root@localhost ~]# s