Nginx 映射本地目录
大致步骤:
1.开启日志,便于出现问题排查
error_log /var/log/nginx/error.log warn;
2.修改 /etc/nginx/conf.d/default.conf nginx配置文件, 存放静态文件目录地址 /www/share/server {
listen 80;
server_name antdesign;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /www/ant-design-pro/dist;
index index.html;
# 解决页面刷新不重定向
try_files $uri $uri/ /index.html;
}
# 搭建本地静态资源服务器配置
location /img {
alias /www/share;
autoindex on;
}
}
注意:
1.访问页面报403错误,查看日志发现: directory index of "/www/share/signImg/" is forbidden
原因是未配置 indexlocation /img {
alias /www/share;
index index.html;
}
如果只是想列出目录内容,使用autoindex onlocation /img {
alias /www/share;
autoindex on;
}
2. 查看日志发现 (13: Permission denied) Nginx 403 forbidden forbidden 403 Permission denied
原因是目录权限不够,解决办法: 修改web目录的读写权限,或者是把nginx的启动用户改成目录的所属用户,重启Nginx即可解决。chmod -R 777 /data
chmod -R 777 /data/www/root与alias主要区别——在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。
root的处理结果是:root路径+location路径
alias的处理结果是:使用alias路径替换location路径
alias是一个目录别名的定义,root则是最上层目录的定义。
网上说alias后面必须要用"/"结束,否则会找不到文件的,本人测试可有可无。