偶尔需要用到本地目录,这里使用nginx代理一下
核心参数:autoindex on;
注1:selinux权限,懒人可以直接关闭!(403错误日志一般都是权限问题,需selinux权限)
注2:挂载目录内不要有索引页(如果不能移除index.html文件,则需index参数定义一个不存在的索引页。)
server {
listen 888;
server_name test.ffing.cn;
root /opt/test;
#缓存本地一天
expires 1d;
#开启自动列出目录
autoindex on;
#关闭详细文件大小统计,让文件大小显示MB,GB单位,默认为b;
autoindex_exact_size off;
#显示的文件时间为文件的服务器时间
autoindex_localtime on;
location / {
}
}
root 和 alias区别:
#alias定义目录(必须绝对路径)
location /test {
alias /opt/test;
}
上述:当访问/test是,nginx会直接跳转到alias定义的/opt/test目录
location /test {
root /opt;
}
上述:当访问/test时,nginx会先到root定义目录/opt,再追加location定义的uri:/test,
最终实现访问/test 到/opt/test
实例小技巧:
工作中总有写类似的目录需要nignx挂载,可以通过正则表达式快速实现
譬如在 /opt/share下的所有目录都需要nginx挂载目录,且要实现目录名访问
就可以利用正则表达式
#第一种方法:alias定义目录($1代表是正则中(.*)追加的uri)
location ~ /share/(.*) {
alias /opt/share/$1;
}
#第二种root定义目录
location ~ /share/(.*) {
root /opt;
}
访问:ffing.cn/share/app则nginx跳转到/opt/share/app
访问:ffing.cn/share/tomcat则nginx跳转到/opt/share/tomcat
访问:ffing.cn/share/bak则nginx跳转到/opt/share/tomcat
发表评论