Linux上使用Nginx搭建本地静态资源服务器

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
原因是未配置 index
location /img {
        alias /www/share;
        index index.html;
    }
如果只是想列出目录内容,使用autoindex on
location /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后面必须要用"/"结束,否则会找不到文件的,本人测试可有可无。

你可能感兴趣的:(linux,nginx)